2016年11月10日,具有计算奥运会之称的SortBenchmark全球排序竞赛公布结果,其中,腾讯云用98.8秒完成100TB的数据排序,打破阿里云去年创造的329秒记录,以及更早前百度的716秒纪录,这引起了业界的关注。
众所周知,腾讯云直到最近几年才开始发力公有云和大数据业务,而阿里云早从2009年开始就已经大张旗鼓的发展云计算业务,进入2016年全力推进大数据业务。那么,腾讯云在2016年底刷新大数据国际比赛的纪录,是偶然事件还是确有过人之处?记者就此采访了腾讯云副总裁、腾讯数据平台部总经理蒋杰。
史上最好的大数据比赛成绩
近三年来SortBenchmark最好成绩对比
SortBenchmark是一个专门从事排序基准评估的非盈利国际机构,该机构每年主持的Sort Benchmark排序竞赛被认为是全球的“计算奥运会”,它主要通过“Sort排序”这个最基本的计算问题来评估一家公司或机构大规模计算的综合实力,不仅全面评测分布式系统软件架构能力,也评测硬件架构能力。这是因为“Sort排序”计算任务虽然比较基础,但兼具测试系统IO(数据吞吐)和CPU资源消耗这两项计算系统的核心性能评估指标,尤其适合以海量数据为基准来测评不同分布式系统的性能。
今年腾讯云总共参加了SortBenchmark的两项主要比赛:GraySort和MinuteSort。GraySort比拼的主要是参赛系统对大规模数据的处理能力,MinuteSort则评测参赛系统的效率。具体来说,GraySort比拼的是在最短时间内将总共100TB、一共1万亿条无序的100字节记录、按照从小到大的顺序排序;而MinuteSort比拼的是在1分钟之内能够完成多少数据量的排序。每个比赛还再分为Indy(专用目的排序)和Daytona(通用目的排序)两个子项。
腾讯云“数智分布式计算平台”(以下简称“数智”)参加IndyGraySort测试,每分钟可完成60.7TB的数据排序,去年的最好成绩为18.2TB/分钟(阿里云)、2014年最好成绩为8.38TB/分钟(百度);参加DaytonaGraySort测试,每分钟可完成44.8 TB的数据排序,去年的最好成绩为15.9TB/分钟(阿里云)、2014年最好成绩为4.35TB/分钟(UCSD,加州大学圣地亚哥分校)以及4.27TB/分钟(ApacheSpark)。
腾讯云“数智”参加IndyMinuteSort测试的成绩为55TB,去年的最好成绩为11TB(阿里云)、2014年的最好成绩为7TB(百度);参加DaytonaMinuteSort测试的成绩为37TB,去年的最好成绩为7.7TB(阿里云)、2014年的最好成绩为3.7 TB(三星)。
根据SortBenchmark官网,可以看到腾讯云此次所取得的成绩即便在SortBenchmark历史上也算得上是最强。而蒋杰介绍说,腾讯云今年能取得好成绩,不仅得益于腾讯云平台自有的强大调度能力,还由于腾讯云平台对自身的调度系统做了大量优化工作,目前在腾讯内部系统中每天的调度达2亿次,可以说是在海量系统中不断验证磨合出的大数据处理能力。
相应花了多少成本?
在本次SortBenchmark比赛中,腾讯云参赛系统主要采用的是512台IBM的OpenPOWER服务器和迈络思的100Gb网卡。蒋杰强调,这样配置的平台并不是专门为了本次比赛所搭建,而是来自于腾讯的日常计算服务网络。
具体来说,本次腾讯云的参赛系统配备了512个节点,每个节点配置两颗OpenPOWER处理器、512GB内存、4块华为 NVMeSSD盘、100Gb Mellanox网卡。而去年阿里云配备3377个节点,每节点两颗至强E5-2630芯片、96G内存、12块SATA硬盘、10G网卡。由于技术的飞速进行,两个参赛系统的成本相差不大,腾讯云的系统总体成本甚至还要略低一些。
众所周知,基于RISC架构的IBMPower芯片可同时执行多条指令,可将一条指令分割成若干个进程或线程,交由多个处理器同时执行,因此并行计算性能方面远优于基于CISC架构的英特尔x86芯片。同时,Power架构还可以很好地结合GPU的优势,形成IBM+NVIDIA的强强组合。IBM在2013年对Power芯片技术进行了开放,随后出现了大批定制的OpenPOWER服务器。值得一提的是,OpenPOWER服务器芯片不仅性能更优,而价格甚至要低于英特尔的同等性能芯片。
而基于OpenPOWER服务器的腾讯云大数据实时计算平台,能提供单集群上千台规模实时流式计算;在数据存储方面则支持多重数据备份、万亿数据的存储能力;在任务调度方面,支持百万级任务的毫秒级调用;而且可以自动发现故障节点并自动剔除,通过业务的自动迁移、关键节点的主从热备,实现故障的秒级切换。
当然,此次参赛也还是经历了不少困难。蒋杰回忆说,在调优的过程中发现网络IO和磁盘IO都达不到理想的极限能力,虽然当时已经跑出了不错的成绩,但整个团队没有放过任何一个可以提高性能的机会。从架构到代码细节再到硬件的驱动层,团队成员加班加点、不停地提出优化方案和尝试,最终达到理想成绩。
背后的腾讯云大数据平台
蒋杰认为,最近几年国内互联网公司频频在该大赛中夺冠,说明国内公司在云计算、大数据等领域已经有了长足的进步,本次夺冠就是腾讯多年来技术积累的成果。在今年实际参赛时,组委会突然宣布比寒提前一个月进行,这出乎很多参赛团队的预料,但这也考验了参赛团队的技术能力。
腾讯云参赛团队所使用的大数据平台“数智”,是腾讯云于2016年发布了的大数据解决方案,这是基于腾讯十余年海量数据处理核心能力所打造的一站式大数据处理平台。在对微信每天160亿级别的多维分析场景中,“数智”平台能够做到6秒返回结果。
“数智”结合腾讯在互联网海量数据处理经验、开源生态和自研组件服务,具有稳定易用、技术开放、秒级多维分析处理、安全可靠等特性。在基础架构上,腾讯云大数据团队对包括YARN、HIVE、PIG、SPARK、Kylin等众多开源组件进行深度优化,大幅提升了平台性能;在使用上,可以按需部署大数据处理服务,包括数据仓库建设、报表展示、数据分析、客户画像等大数据应用。除此之外,“数智”还囊括了腾讯自研的机器学习引擎和内置算法库,可视化操作方式让非技术人员也可能轻松驾驭数据挖掘。
蒋杰介绍说,腾讯云“数智”平台的诞生是因为腾讯要处理海量数据的自身需求。截至2015年底,腾讯QQ、QQ空间、微信等产品线背后,有着3万亿条数据接入、100亿次数据分发、120PB的存储、8.6PB的离线计算、2.5万亿的实时计算、500万次任务调度等亿万级的数据处理经验和能力,这些都是腾讯云“数智”这一大数据产品的基础。
巨大的数据量和高复杂度高的数据分析,对底层技术平台的要求也非常高。春晚摇一摇发红包的千万级并发请求量是抢火车票的一百余倍,要处理的不仅是海量并发请求,还有资源推送、红包收发和金融级的安全防护等等。面临每天的海量多维分析计算需求,已经无法通过传统的开源社区组件来保证分析结果及时效性。
腾讯云大数据团队针对交互式海量数据分析需求而自主研发了秒级分析平台。
“数智”实时检索分析把检索与数据分析有机结合,摒弃传统数据分析的系统数据预加工模式,而是根据用户输入的个性化数据分析需求实时计算,可实现在亿万级数据、万级维度的量级下进行任意维度组合、任意层级下钻等分析作业,结果响应在数秒以内。
蒋杰表示,“数智”是腾讯云全面开放腾讯18年海量大数据处理经验,让企业在最短的时间内、用最少的资源,通过精准计算来建立核心商业竞争优势。用户采用腾讯云大数据解决方案后,可在短时间内具备秒级响应的实时多维数据分析能力。“数智”目前已经在政府、传统企业和互联网企业中深度应用。
在2015年9月,国务院印发了《促进大数据发展行动纲要》,指出信息技术与经济社会的交汇融合引发了数据迅猛增长,数据已成为国家基础性战略资源。随着腾讯云在国际大数据大赛中取得新的世界纪录,腾讯云的大数据平台势必将与腾讯的“互联网+”相辅相承,成为在十三五期间的大数据高速公路之一。