网易首页 > 网易号 > 正文 申请入驻

NVIDIA 携手腾讯开发和优化 Spark UCX 实现性能跃升

0
分享至

腾讯网络平台部与数据平台部,联合 NVIDIA 合作开发和优化 Spark UCX,最终实现 Spark Shuffle 稳定加速 15% - 20%,平均降低现网 Spark 任务 8% 的执行时间。

什么是 Spark 平台?

TDW-Spark 是腾讯公司级数据平台,是腾讯海量数据处理平台中最核心的模块,支持百 PB 级的数据存储和计算,业务涉及公司各个 BG,为腾讯公司提供海量、高效、稳定的大数据平台支撑和决策支持,是腾讯公司最大的离线数据处理平台。

Spark 业务所面临的挑战

Spark 网络目前的现状包括大规模部署 QP 连接数不够用,使用 RDMA DC 解决连接数过多的问题;Spark 不同应用场景需要不同的 EP 个数、RPC 调用次数、Spark UCX 线程数、 Block 大小等,需要联合调配;RDMA 和 TCP 混合部署,需要兼容和故障逃生;以及网络带宽低,需要提升带宽,降低延时。

Spark 原始的业务问题包括:

  • 通信耗时占比高:Spark Shuffle 时间占 Spark 运行总时间的 30% - 40%,造成 Spark 任务完成时间长。
  • 业务需求:网络 IO 和磁盘 IO 是 Spark Shuffle 的瓶颈,需要提高通信效 率,提高计算效率。
  • 降本增效:五万张已经部署的 NVIDIA ConnectX-5 网卡需要提高性能利用率,切换到 RDMA,提高业务带宽。

为了应对上述问题及挑战,腾讯进行了 Spark RDMA 大规模部署网络的工作,主要从两个方面着手:Spark RDMA 网络部署和优化,以及 Spark UCX / UCX 性能优化。

Spark RDMA 网络部署和调优

具体部署调优步骤:

  1. 搭建 37 节点 NVIDIA ConnectX-5 网卡和 26 节点 NVIDIA ConnectX-6 网卡 Spark 环境,部署 Spark、Spark UCX、UCX 代码进行长稳调优。
  2. 基于 GroupByTest 和现网 Spark 业务流量,在 UCX、Spark UCX、Spark 三个层次调优对比 DC、RC 和 TCP 效果。
  3. 优化 Spark UCX、UCX 代码,根据 Spark 业务调优网卡和交换机配置。
  4. 通过在 NVIDIA ConnectX-5 和 NVIDIA ConnectX-6 Dx bond 引入 DCT,提升 Spark 业务带宽利用率。
  5. RDMA 和 TCP 网络共存的情况下,保障长稳运行和 RDMA 故障逃生。

图 1:37 节点的 ConnectX-5 机群与 26 节点的 ConnectX-6 机群

RDMA 部署优化完成情况:

  • 大规模:使用 R&D Site Leader, NVIDIA DCT 技术共享 QP 连接,解决了大规模 QP 不够用 的问题。大规模仿真下 Spark 应用 RDMA 网络满足预期。
  • Spark 应用和网络联合调优:实现了最优的网卡和交换机配置,以 及 Spark 任务配置,降低了15% - 20% 左右的读完成时间。
  • 故障逃生:Spark UCX 和 UCX 代码层面实现了 RDMA 和 TCP 通道备份。确保 RDMA 故障逃生 TCP,保证稳定运行。
  • 稳定性保证:开发了驱动版本检测、网卡配置和检测、自动化安装升级检测功能。开发了测试网络性能模块,保证 Spark RDMA 各层带宽和延时满足预期。

Spark UCX 性能优化

1. 参数调优:通过调整 maxReqsInFlight、numListenerThreads 等 Spark / Spark UCX 参数,提升任务执行效率,获得最好传输速率,发挥最大系统效能。

2. CPU 利用率优化:启用 sleep / wakeup 特性,替代 busy waiting 模式。让出 CPU 给 Spark 计算任务,减少了 CPU 浪费,体现了 RDMA 的优势。

3. 网路 IO 优化:网路 IO 由阻塞模型改为非阻塞模型,数据接收由同步等待改为异步通知。避免了因为网路 IO 等待而 阻塞计算任务执行,提高了每个线程的任务吞吐量,提升了收发效率和带宽。

图 2:网络 IO 优化

4. 调度优化:worker 的调度方式改用全局 round-robin (RR) 调度模式,替代原有的按照 thread id 选择 worker 的 方式。避免了 thread id 不连续引起的多个线程选择同一 worker 的问题。

图 3:调度优化

5. 数据竞争优化:将 send / receive / progress 方法打包至独立线程运行,保证每个 worker 资源仅被单个线程 访问 / 修改,避免了数据竞争,提升了线程运行效率。

UCX 性能优化

1. 参数调优:使用 DC 替换 RC 模式,提升传输带宽,减少系统 CPU、内存资源消耗。开启 CQE zipping 和 PCI relax ordering 减少 PCI 负载。调整 UCX_ZCOPY_THRESH、UCX_RNDV_THRESH 和 UCX_RND_SCHEME,获得稳定高速的传输带宽。

2. 网络负载均衡优化:随机化 UDP 源端口取值,减轻由于固定端口,交换机对 5 元组哈希得到相同出端口而引起的 负载不均衡问题,优化网络传输带宽。

“Spark UCX 是 Apache Spark 的高性能 Shuffle Manager 插件,它使用 UCX 支持的 RDMA 和其他高性能传输来加速 Spark 作业中的 Shuffle 数据传输。RDMA DC(动态连接)是一种传输服务,旨在解决大型系统在使用可靠连接时的可扩展性问题。使用 DC,用户可以打开有限数量的资源,无论集群大小如何。这一优势对于 Spark 如此大规模的应用程序来说非常有好处,并且可以提高性能。”

—— Amit Krig

SVP, Software Engineering & Israel R&D Site Leader, NVIDIA

部署调优后性能提升明显

经过部署调优,NVIDIA ConnectX-6 环境 RDMA 传输性能比 TCP 平均有 18% 的提升;NVIDIA ConnectX-5 环境大部分场景 RDMA 传输性能比 TCP 平均有 16% 的提升。考虑到 Spark 任务有计算和本地 write,所以对 Spark 任务整体完成时间大概有 8% 的性能提升。

NVIDIA ConnetX-6 环境 RDMA 性能提升明显(RDMA read 通信 18% 左右提升,整体完成时间 8% 左右提升),可以大规模灰度部署 Spark 业务真实流量。NVIDIA ConnectX-5 环境大部分场景性能平均提升(RDMA read 通信 16% 左右提升,整体完成时间 6% 左右提升),部分场景 RDMA 性能较差还需要调测优化,可以灰度部署 Spark 业务,继续优化还有提升空间。

图 4:ConnectX-6 网卡 26 台规模 RDMA 完成时间比 TCP 低 20% 左右

图 5:ConnectX-5 网卡 37 台规模 RDMA 完成时间比 TCP 低 18% 左右

图 6:20 台规模 Spark 业务灰度测试,RDMA read 平均降低 20% 左右

后期计划

Spark 项目通过远程直接内存访问(RDMA)技术解决网络传输中服务器数据处理延迟问题,为腾讯 Spark 大数据平台业务提供高带宽、低延时的通信。该技术已在二十多台腾讯 Spark 大数据平台服务器完成灰度测试,运行稳定且 Spark Shuffle(数据读取速率)时间平均降低 15% - 18% 左右,减少了 Spark 任务完成时间(大约 8% 左右),节约了服务器资源。计划逐步部署到数千台 Spark 服务器。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
梅西19年前给亚马尔洗澡,照片再热传

梅西19年前给亚马尔洗澡,照片再热传

南方都市报
2026-07-16 14:02:42
国外一公司推出18cm高的"拉屎鞋",灵感来自我国的蹲厕文化,网友评论亮了…

国外一公司推出18cm高的"拉屎鞋",灵感来自我国的蹲厕文化,网友评论亮了…

英国那些事儿
2026-07-16 01:41:56
7月20日凌晨3点踢决赛!世界杯夺冠最新概率:西班牙56% 阿根廷44%

7月20日凌晨3点踢决赛!世界杯夺冠最新概率:西班牙56% 阿根廷44%

风过乡
2026-07-16 05:52:22
大家发现没有?油车跑1000公里要500块,电车跑1000公里呢?

大家发现没有?油车跑1000公里要500块,电车跑1000公里呢?

史之铭
2026-07-15 01:10:44
别了,贾浅浅!别了,西北大学的百年丑闻!

别了,贾浅浅!别了,西北大学的百年丑闻!

天水人李成义
2026-07-16 11:00:29
一己之力葬送全队!英格兰头号罪人!亲手毁掉世界杯决赛梦

一己之力葬送全队!英格兰头号罪人!亲手毁掉世界杯决赛梦

奶盖熊本熊
2026-07-16 05:28:36
逆天!乌克兰禁止俄罗斯在大海上航行

逆天!乌克兰禁止俄罗斯在大海上航行

高博新视野
2026-07-15 19:09:47
上海程序员失业被裁,老婆宁愿净身出户也要离婚,有房贷存款为0

上海程序员失业被裁,老婆宁愿净身出户也要离婚,有房贷存款为0

捣蛋窝
2026-07-15 23:47:53
人老了,想多活几年,不妨先守住这十件事:1、不摔倒,2、不劳累

人老了,想多活几年,不妨先守住这十件事:1、不摔倒,2、不劳累

富书
2026-07-15 23:25:06
今天北京仍可达35℃,明起有雨,气温下降

今天北京仍可达35℃,明起有雨,气温下降

北京海淀
2026-07-16 13:44:01
实地走访社保大厅,2026养老金调整,国家统一文件发布进度讲清楚

实地走访社保大厅,2026养老金调整,国家统一文件发布进度讲清楚

李博世财经
2026-07-16 12:31:05
广东通报:李培忠,被查

广东通报:李培忠,被查

南方都市报
2026-07-16 10:38:06
“生活费600元,就这下场!”男孩躲在宿舍吃白米饭,令人心疼

“生活费600元,就这下场!”男孩躲在宿舍吃白米饭,令人心疼

妍妍教育日记
2026-07-15 08:40:12
北京一大厂员工被裁,拿了56万赔偿。媳妇网上炫耀,结果截图没打码。等发现删帖时,已经被网友传遍了。现在公司、部门、姓名全被扒出来

北京一大厂员工被裁,拿了56万赔偿。媳妇网上炫耀,结果截图没打码。等发现删帖时,已经被网友传遍了。现在公司、部门、姓名全被扒出来

纯洁的微笑
2026-07-16 13:05:54
每5人中就有1人患癌!研究发现:做好这2件事,真能“改命”

每5人中就有1人患癌!研究发现:做好这2件事,真能“改命”

人民日报健康客户端
2026-07-15 21:05:30
蒋方舟、贾浅浅接连被罚,武汉大学还要护着杨景媛?

蒋方舟、贾浅浅接连被罚,武汉大学还要护着杨景媛?

News脑洞
2026-07-15 19:35:24
7月17日换片源!周星驰《功夫女足》罕见升级,不止修bug还有硬核用意

7月17日换片源!周星驰《功夫女足》罕见升级,不止修bug还有硬核用意

露珠聊影视
2026-07-16 01:32:55
施南生去世不到24小时,私生活被扒底朝天,难怪丁克36年不肯生子

施南生去世不到24小时,私生活被扒底朝天,难怪丁克36年不肯生子

叨唠
2026-07-16 04:10:52
美副总统万斯认为单靠武力无法赢得伊朗战事

美副总统万斯认为单靠武力无法赢得伊朗战事

国际在线
2026-07-16 09:45:05
上市即巅峰!首日暴涨10倍的半导体“妖股”,两天就腰斩了!

上市即巅峰!首日暴涨10倍的半导体“妖股”,两天就腰斩了!

上市之家
2026-07-16 01:34:43
2026-07-16 15:39:00
NVIDIA英伟达中国 incentive-icons
NVIDIA英伟达中国
英伟达(中国)官方账号
3600文章数 1459关注度
往期回顾 全部

科技要闻

苹果AI终于要来了:还能追上华为豆包们吗

头条要闻

"30岁以上美国男性军人强制查睾酮"引争议 美防长发声

头条要闻

"30岁以上美国男性军人强制查睾酮"引争议 美防长发声

体育要闻

逆天6后卫神阵,图赫尔活活坑死英格兰

娱乐要闻

天下无不散宴席!白鹿官宣告别欢娱

财经要闻

长鑫科技批量造富:8名高管身家过亿

汽车要闻

零百加速1.96秒 腾势Z国内预售价68万起/四季度上市

态度原创

房产
家居
数码
公开课
军事航空

房产要闻

海南中考又爆了,800分以上超2万人!

家居要闻

2026建博会(广州) 公装联探展交流活动

数码要闻

达尔优推出新款AE7中大型右手鼠标,升级AIM-3955 PRO传感器

公开课

李玫瑾:为什么性格比能力更重要?

军事要闻

美对伊战事真实花费被指高达千亿美元

无障碍浏览 进入关怀版