【揭秘】腾讯云数智98.8秒完成100TB数据排序的架构和算法

CPU、内存、网络、磁盘配备上腾讯云配备512个节点,每个节点配置两颗OpenPOWER处理器,512GB内存,4块华为 NVMe SSD盘,100Gb Mellanox网卡;而上届冠军厂商的配备是:3377个节点,每节点两颗至强E5-263096G内存,12块SATA硬盘,10G网卡。

 

通过比较可见,腾讯云的单机性能比去年强大许多,但整体集群的配备和上届冠军的配备差异不大腾讯云512台机器的整体TCO成本比上届冠军3377机器的成本低;同时从比较直观的指标如内存、网络、顺序读写IO等集群整体能力看与去年的差异不大。可以说,今年我们排序比赛成绩的提升是实实在在的,并非由硬件堆砌出来的。同时,我们在软件算法优化方面也做了很多努力。

 

3.那请介绍一下此次夺冠的分布式系统软件架构是如何搭建的?

 

蒋杰:在硬件和网络方面,我们采取了IBM的PowerPC和迈络思的100Gb网络技术,机器配置选型如下:

 



网络架构采用了三层架构,如下:

 


腾讯云大数据服务的实时计算平台能提供单集群上千台规模实时流式计算,在数据存储方面,支持多重数据备份,万亿数据的存储能力。在任务调度方面,支持百万级任务的毫秒级的调用。而且支持故障节点自动发现,自动剔除,业务的自动迁移,关键节点的主从热备,故障的秒级切换。

 

本次排序分为Partition,Shuffle和Sort三个阶段:

 

Partition阶段,从本地磁盘中读入分片的输入数据,然后对输入数据进行Range Partition操作将数据进行无重叠区间的分片,Range Partition结束后,输出按照Range大小排序的Range File。