云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

谷歌云_美国服务器出租_排行榜

小七 141 0

每TB 1.44美元:用ApacheSpark创下新的世界纪录

我们很高兴与您分享,南京大学、阿里巴巴集团和Databricks共同努力,在第三方基准云计算领域创造了新的世界纪录。我们共同设计了一种最有效的方法来分类100 TB的数据,只使用了价值144.22美元的云资源,比之前的世界纪录高出3倍。通过这个基准测试,Databricks和我们的合作伙伴展示了处理数据的最有效方法是在云中使用apachespark。这为我们赢得的2014年格雷斯特纪录增添了一笔,并验证了我们相信的两大技术趋势:开源软件是软件进化的未来,Spark仍然是数据处理的最有效引擎。云计算正在成为部署大数据应用程序的最具成本效益和支持架构。在博客文章的剩余部分,我们将解释这两个基准(CloudSort和GraySort)的意义、我们的记录,以及它们是如何激发Spark的重大改进的,比如钨丝计划。灰色基准人们很容易想当然地认为当今的计算能力令人难以置信。作为一个灯塔,Sort基准不断地提醒我们,我们是如何来到这里的,是计算机系统先驱们所经历的旅程和完成的工作。该基准测试于1985年由图灵奖获得者吉姆·格雷(Jim Gray)创立,衡量计算机软硬件系统的进步,是计算机系统最具挑战性的基准之一。过去的参与者通常会构建专门的软件甚至硬件(例如特殊的网络拓扑结构),以最大限度地提高他们获胜的机会。1985年,最初的基准测试被称为Datamation Sort,它要求竞争系统尽可能快地对100mb的数据进行排序,而不考虑所使用的硬件资源。100MB很容易放在你今天能找到的最小的U盘里,但早在1985年,这是一个很大的挑战。1985年的获奖作品耗时980秒。到2001年,这个数字减少到0.44秒!为了使基准测试具有挑战性,Datamation Sort被弃用,1998年创建了一个新的TeraSort基准,将数据大小更改为1TB。2009年,为纪念Jim Gray创建了100 TB Graysoot基准测试。雅虎凭借2100个节点的Hadoop集群在72分钟内对100tb的数据进行排序,赢得了2013年的纪录。2014年,我们在Databricks的团队使用一个基于Spark的分布式程序参加了竞争。我们的系统在23分钟内对100TB的数据进行了分类,在EC2上只使用了207台机器。也就是说,Spark使用比2013年Hadoop条目少10倍的资源对相同的数据排序快3倍。除了赢得基准测试,我们还使用类似的设置在4小时内对1PB的数据进行排序,并实现了近乎线性的可伸缩性。2014年的这场胜利树立了一个里程碑:这是开源软件和云计算的首次结合赢得了这一基准。在过去,只有资金充足的组织才能在排序基准上竞争,因为参与者需要获得一个规模庞大、成本高昂的集群。但随着公共云的兴起,任何人都可以利用这种弹性,完成曾经只有少数几家公司才可能实现的目标。CloudSort基准测试GraySort基准测试衡量排序100 TB数据所需的时间,而不考虑所使用的硬件资源。一个设计良好的分拣系统是相对线性伸缩的。一旦一个组织创建了一个线性可伸缩系统,那么获胜的机会在很大程度上取决于该组织愿意花多少钱来获得硬件资源。为了缓解这种情况,基准委员会在2014年创建了一个名为CloudSort的新类别。与GraySort纯粹根据时间来选择赢家不同,CloudSort更喜欢成本最低的项目,以公共云定价来衡量。此基准测试有效地测量了云架构(软件堆栈、硬件堆栈和调优的组合)的效率,即性能与成本的比率。CloudSort的精神是它应该足够容易访问,以便每个人都可以在任何规模上"玩",并让最好的系统获胜。加州大学圣地亚哥分校的研究团队在成立之年建立了一个名为TritonSort的专门分类程序,并在amazonec2上以451美元的价格对100tb的数据进行了分类。这个系统效率很高,甚至一年后也没人能挑战它。这一点在本周终于改变了,我们的共同努力打破了它,并创造了新的CloudSort记录。新的云记录今年,Databricks与南京大学和阿里巴巴(Alibaba)组成了一个名为NADSort的团队参加竞争。NADSort运行在阿里云394个ecs.n1.large节点上,每个节点都配置了Intel Haswell E5-2680 v3处理器,8GB内存,4×135GB SSD云硬盘。该分类程序基于Databricks 2014年的灰度排序记录设置条目,并进行了调整,以提高效率。您可以在本技术报告中找到NADSort的详细信息。在CloudSort的前一个记录中,对100tbyte的数据进行排序的成本为每TB近5美元(4.51美元)。我们的优化和云计算将每TB的成本降低了三分之二,我们的新记录是每TB 1.44美元!是什么使这种成本效率提高成为可能?云计算的成本效益:主要云提供商之间日益激烈的竞争降低了资源成本,使得在云上部署应用在经济上可行且可扩展。此外,云计算还可以使用随需应变的资源和弹性实现以前根本不可能实现的用例。软件效率:我们在性能优化方面投入了大量资金,在过去两年中,我们做了一些最重要的改变。诸如projectwongton、Catalyst和整个阶段代码生成等创新都给apachespark带来了巨大的好处,改进了堆栈的各个方面。除了Spark的一般改进之外,我们的合作伙伴还专门针对阿里云环境改进了shuffle。优化Spark和云原生架构方面的专业知识:作为在加州大学伯克利分校(UC Berkeley)启动Spark研究项目(后来成为ApacheSpark)的团队,我们继续在执行优化方面处于领先地位。此外,我们通过同时为我们的客户和用户操作数万个集群,在操作和调优云原生数据架构方面积累了深厚的专业知识。我们在为数据处理构建最高效的云架构方面所积累的专业知识使我们能够在供应商的创新之外,突破成本效率的边界。排序在分布式数据处理中的意义你可能会问:排序的意义是什么?为什么我们要对这么多数据进行排序?排序的核心是shuffle操作,它在所有机器上移动数据。Shuffle支持几乎所有分布式数据处理工作负载。例如,连接两个不同数据源的SQL查询使用shuffle将应该连接在一起的元组移动到同一台机器上,而诸如ALS之类的协作过滤算法则依赖shuffle在网络上发送用户/产品评级和权重。大多数数据管道从大量的原始数据开始,但是随着管道的发展,由于过滤掉不相关的数据或中间数据的更紧凑的表示,数据量会减少。对100TB的原始输入数据的SQL查询很可能只会在整个网络中洗牌100TB中的一小部分,查询优化器可以智能地减少扫描的数据量。这种模式也反映在MapReduce本身的命名中。我们使用许多不同的基准来评估Spark,例如TPC-H、TPC-DS。然而,sort基准测试是迄今为止最具挑战性的,因为它强调执行路径。对100TB的输入数据进行排序需要在整个网络中重新排列100TB的数据。我们不能隐藏在一些聪明的技巧后面,比如跳过数据或优化查询来减小规模。上述属性使排序成为我们在寻求度量和改进Spark时经常引用的度量。在过去的两年里,我们为2014年的Graysoart记录所做的优化为Spark自身带来了重要的改进:基于Netty的网络模块提高了网络吞吐量,堆外内存管理消除了GC,Project Tungsten提高了CPU效率。我们在2016年的CloudSort记录中学到了更多,我们将把这些经验应用到Spark和Databricks平台的开发中。两年来两项世界纪录的成就让我们感到谦卑,但它们验证了我们投入巨资的技术趋势:火花和云计算。这些成就也证明了我们的工程实力。为了充分利用这一专业知识,让Spark在云端获得最佳性能,请注册一个Databricks帐户来构建您的数据平台。最后,我们要感谢来自南京大学的王倩、顾蓉、黄奕华,阿里巴巴的吴炜、宋骏、夏俊銮,感谢他们与我们一起推动科技进步。我们还感谢基准委员会成员克里斯·尼伯格、梅胡尔沙赫和纳加·戈文达拉朱的支持。一起工作和竞争真的很有趣!免费试用Databricks。今天就开始吧