2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

98.8 秒夺冠,解析腾讯云数智背后的架构与算法优化

  • 2016-11-15
  • 本文字数:3261 字

    阅读完需:约 11 分钟

背景

11 月 10 日,具有计算奥运会之称的 Sort Benchmark 全球排序竞赛公布了 2016 年最终成绩,腾讯云大数据联合团队用时不到 99 秒(98.8 秒)就完成 100TB 的数据排序,打破了阿里云去年创造的 329 秒的记录。在更早前,百度创造的纪录是 716 秒,Hadoop 的记录是 4222 秒。

在这次竞赛中,腾讯云数智分布式计算平台,夺得 Sort Benchmark 大赛 GraySort 和 MinuteSort 的冠军,这也体现了腾讯云数智分布式计算平台在数据处理上的优越性能。在竞赛结果公布之后,InfoQ 也对腾讯云大数据联合团队进行了采访,从技术层面报道腾讯云数智分布式计算平台的实现原理,以及竞赛结果所带来的长远意义。

关于腾讯云大数据联合团队

此次参赛的腾讯云大数据联合团队是由腾讯云存储产品中心、腾讯数据平台部组成,这个团队在大数据技术和应用管理上有丰富的实践经验,尤其是腾讯数据平台部一直在管理的腾讯大数据集群,是世界上最大的大数据集群之一。多年的技术积累,再加上团队不断的苦练内功,都为整个团队在全球计算奥运会上取得瞩目成绩打下了坚实的基础。

解析腾讯云数智分布式系统软件架构

对于腾讯云分布式系统软件架构,可以从海量数据分布式存储、计算任务切片调度、节点通信协调同步、数据计算监控容灾等,以及硬件架构能力,包括服务器硬件选配、网络架构调优、IDC 规划建设等角度来进行剖析。

在硬件和网络方面,分布式系统采取了 IBM 的 Power 和迈络思的 100Gb 网络技术,机器配置选型如下:

网络架构采用了三层架构:

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

本次竞赛中的排序分为 Partition、Shuffle 和 Sort 三个阶段:

  • Partition 阶段,从本地磁盘中读入分片的输入数据,然后对输入数据进行 Range Partition 操作,将数据进行无重叠区间的分片,Range Partition 结束后,输出按照 Range 大小排序的 Range File。
  • Shuffle 阶段,将按照 Range 大小排序的 Range File 文件发送给对应的 Sort 程序。
  • Sort 阶段,Sort 任务等待所需的数据都到齐了,就启动基于基数排序的排序操作,将排序结果写入磁盘。

Partition 和 Sort 阶段是并行执行的,待 Sort 完成后,输出多个排序文件,由于 Shuffle 的时候已经按照 Range 大小进行了排序,最终输出的排序文件在全局是有序的。

软件算法优化

参加这次比赛,腾讯云在软件方面也做了不少优化,重点如下:

1、更高效的调度系统。此次比赛,腾讯云参加了 GraySort 和 MinuteSort 二个大项的比赛,GraySort 比拼的是完成 100TB 的数据排序的耗时,主要评测的是系统对大规模数据的处理能力,MinuteSort 比拼的是 1 分钟内的排序数量,主要评测的是系统的效率。

为了在 1 分钟内完成尽可能多的数据排序,系统任务调度的开销不容忽视,调度效率显得尤为关键,在系统上消耗的时间越少,越利于比赛成绩的提高。得益于平台强大的调度能力,团队在 1 分钟内完成了 55.3TB 数据的排序,是之前最好纪录的 5 倍。腾讯云的调度系统曾做了大量的优化,在腾讯的内部系统上,每天调度达 2 亿次,在海量系统上得到了验证。

2、内存存储的最大化利用。在排序过程中的中间数据,尽量存储在内存中,当内存中数据达到一定阈值,快要占满整个内存空间的时候,才会启动向磁盘中写入数据,最大化利用内存存储。而腾讯云的系统具备调度感知的能力,当系统内存充足的时候,会让该环节的计算任务完全在内存中完成计算,无需落地到磁盘,极大的提升了系统的处理能力。

值得一提的是,腾讯云数智提供的强大数据分析与挖掘探索能力,多维分析引擎可在数秒内完成在亿万级数据、万级维度量级下的分析作业。除了数据分析引擎,数智还囊括了机器学习引擎,内置的算法库均经过腾讯海量数据的训练实操,支持图计算、高性能并行计算、深度学习等。

3、并行操作和 IO 优化。在 Partition 阶段和 Sort 阶段,我们都采取了多任务的并行操作。在这里我们会根据机器和网络的性能来调整机器上的并发数,来提高整个系统的运行效率。为了提升网络的传输效率,优化了整个网络传输系统。在网络的传输中,过小的分片数据会带来额外的控制信息的传输,造成网络带宽实际上并不能完全跑满。对此我们采用大数据块的传输,在发送端对小的数据片进行合并,在接收端,对收到的数据包进行聚合后再传递给上层协议栈,来提高整个系统的数据传送能力,从而榨干这些机器间的网络带宽,通过优化,集群的整体吞吐可以得到极大的提升。

如何应对非结构化数据?

本次竞赛是对数据进行排序,那么在未来,图像、音频等非结构化数据将激增,腾讯云如何更快、更准来进行数据清洗,以应对未来的趋势和挑战?

实际上,目前许多企业都面临着收集到的图像与音频无法高效智能处理的问题。为此,腾讯云的解决方案就是对外开放一系列 AI 产品,如万象优图、人脸识别、语音识别、智能客服等服务。优图系列产品能够快速完成对图片的鉴黄、内容识别、人脸检测;智能语音识别服务可高效地满足语音识别、语音合成、声纹识别等语音处理需求;微金小云客服通过大数据与深度学习训练,可让企业拥有自己专属的 AI 客服。优图的人脸识别准确率已高于人工的识别,微众银行已经将该技术运用到开户流程中,在保证安全性的前提下,极大的提升了开户效率并显著降低成本。企业和开发者可以有效的借助腾讯云开放的腾讯大数据和 AI 能力,来快速分析其存储的非结构化数据,提升企业的核心竞争力。

数智在微信中的应用

微信的数据量之大,众所周知,那么腾讯云具体是如何实现微信每天 160 亿级别的多维分析场景中做到 6 秒返回结果的?

腾讯每天都面临着海量的多维分析计算需求,采用传统的社区组件已经无法保证分析结果的时效性,为此腾讯云大数据团队针对交互式海量数据分析需求而自主研发了秒级分析平台。

腾讯云数智实时检索分析,基于搜索引擎技术,将检索与数据分析有机结合,摒弃传统数据分析系统数据预加工的模式,根据用户输入的个性化数据分析需求实时计算,让系统更加灵活,实现在亿万级数据、万级维度的量级下,用户可以在该平台上进行任意维度组合、任意层级下钻等分析作业,但结果响应只需在数秒以内。

上面所提到的腾讯云数智中的多维分析引擎,采用倒排索引技术结合嵌套列存储技术,解决海量数据秒级分析问题,为大数据分析业务提供一套实时的、多维的、交互式的查询、统计、分析系统。在大数据的统计分析方面提供完整的解决方案,让万级维度、千亿级数据下的秒级统计分析变为现实,为用户提供在短时间内具备秒级响应的实时多维数据分析能力。

夺冠的意义和价值

或许很多读者会问,腾讯云打破 2016 Sort Benchmark 4 项纪录的意义是什么?对业界企业、开发者有什么价值?

对此,腾讯云副总裁、腾讯数据平台部总经理蒋杰作出了解答。他说,此次比赛的结果,是腾讯在多年的海量数据服务经验中,对调度系统不断的进行大量优化的最好验证。腾讯云数智将腾讯多年的大数据处理经验首度开放,能够让社会各界享有与腾讯同级的大数据处理能力。对于企业而言,可以在大幅降低人力成本、快速将大数据平台落地的同时,享有高稳定、高性能、高安全的大数据平台。对于开发者而言,无需将时间精力投入到集群的搭建、改进社区版本稳定性等问题上,从而全力投入进业务层与代码层中。

此次的参赛结果是对腾讯多年海量大数据处理能力的认可,也见证了腾讯云在大数据领域的技术积累。那么此次竞赛结果会对接下来腾讯云的应用和服务产生怎样的影响和推动?

蒋杰说,目前,数智大数据处理套件 TBDS3.0 正式版已经对外发布,数智大数据工坊也在邀测中,可见数智的产品矩阵与能力已经十分完善。同时,腾讯云大数据中的方略产品线,也已经上线了多款产品,包括用户洞察分析、热力图、位置大数据解决方案、舆情监控等等,方略将腾讯数据资产进行有效的整合与安全的利用,让用户使用腾讯云方略即可直接享受大数据资产产生的价值,让企业在信息迸发的时代抢占先机,一同纵横数智、助画方略。

2016-11-15 02:514237
用户头像

发布了 183 篇内容, 共 108.3 次阅读, 收获喜欢 210 次。

关注

评论

发布
暂无评论
发现更多内容

毕业总结

Vincent

架构训练营

全国首笔“区块链+闲置住宅”交易在昆山完成

CECBC

应届生怎么走Linux下C++后台服务器开发路线,工作3-5年的知识体系

Linux服务器开发

Linux C/C++ linux开发 Linux服务器开发 Linux后台开发

2021年《中国DevOps现状调查报告》正式发布!GitLab被选为使用率最高的开源软件安全类工具(内附下载链接)

极狐GitLab

Java开发前景怎么样?【Spring Boot 21

策划Java工程师

Java 程序员 后端

Java开发快速学习!三面蚂蚁金服成功拿到offer后,他说他累了

策划Java工程师

Java 程序员 后端

亏损、退市、卖身...区块链如何挽救影视行业?

CECBC

怎样回到常识做投资?

石云升

投资 8月日更 启发

区块链的兴起及其司法运用

CECBC

模块四考试试卷存储方案

kitten

模块四

Java开发基础不牢?什么是中间件?

策划Java工程师

Java 程序员 后端

从错误中成长

escray

学习 极客时间 朱赟的技术管理课 8月日更

国内外 DevOps/DevSecOps 报告对比解读:安全与云原生持续升温

极狐GitLab

DevOps 安全 DevSecOps

ipfs矿机怎么买?ipfs矿机在哪买?

ipfs矿机怎么买 ipfs矿机在哪买

导致我们形不成「自律」的「罪魁祸首」

非著名程序员

提升认知 个人提升 自律 8月日更

趁着课余时间学点Python(四)真的花点课余时间就能理解的分支控制语句

ベ布小禅

8月日更

特斯拉自研超算Dojo本月亮相? UCLA教授发推提前泄密

百度开发者中心

自动驾驶 最佳实践 方法论 科技信息

终于有人把操作系统,网络系统,线程进程,IO模型全部总结出来了

程序员 架构 面试 操作系统 计算机

双非本科电子跨专业,苦学八个月,投岗阿里/滴滴后端三面,最终拿下offer

今晚早点睡

Java 阿里巴巴 面试 计算机

博睿数据App 3.0四大新功能来袭,大幅提升App用户体验可见性

博睿数据

人工智能从业者需要掌握哪些数学知识

小术晓术

人工智能 数学

2021年7月云主机性能评测报告出炉,华为云再登榜首

博睿数据

Python3 数字

Geek_aee0b4

架构实战营毕业总结

eoeoeo

架构实战营

架构实战营模块3作业指导

华仔

架构实战营

极狐 GitLab 探秘系列|极狐 GitLab 初探(下)

极狐GitLab

DevOps DevSecOps gitops

币安链NFT游戏系统开发区块链技术

薇電13242772558

区块链 智能合约

Java开发基础面试题,【springcloud

策划Java工程师

Java 程序员 后端

IT公司防止运维偷窥和篡改数据库的最佳武器-云堡垒机!

行云管家

数据安全 堡垒机 数据泄露

Python3 运算符

Geek_aee0b4

98.8秒夺冠,解析腾讯云数智背后的架构与算法优化_大数据_Xue Liang_InfoQ精选文章