0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

NVIDIA英伟达 来源:未知 2023-08-25 20:50 次阅读
腾讯网络平台部与数据平台部,联合 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 故障逃生。

wKgaomTopKWAfh5EAABuql9I-5I182.png

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

RDMA 部署优化完成情况:

  • 大规模:使用 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 等待而 阻塞计算任务执行,提高了每个线程的任务吞吐量,提升了收发效率和带宽。

wKgaomTopKWAFpnRAAGiOI3ydaI852.png

图 2:网络 IO 优化

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

wKgaomTopKWAbjwyAAH2E874614011.png

图 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 业务,继续优化还有提升空间。

wKgaomTopKaAdji2AAC2vt5kA8M435.png

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

wKgaomTopKaAasluAACyKxd6OfE061.png

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

wKgaomTopKaAL9QDAABUyl6U7EQ953.png

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

后期计划

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

wKgaomTopKaAJRrsAABAFFJlyZc946.gif  

点击“阅读原文”扫描下方海报二维码注册 NVIDIA DOCA 应用代码分享活动,为新一代 AI 驱动的数据中心、高性能计算及云计算基础设施带来前所未有的创新。


原文标题:NVIDIA 携手腾讯开发和优化 Spark UCX 实现性能跃升

文章出处:【微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英伟达
    +关注

    关注

    22

    文章

    3330

    浏览量

    87781

原文标题:NVIDIA 携手腾讯开发和优化 Spark UCX 实现性能跃升

文章出处:【微信号:NVIDIA_China,微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    高功率因数预调节器UCx854数据表

    电子发烧友网站提供《高功率因数预调节器UCx854数据表.pdf》资料免费下载
    发表于 04-08 09:12 0次下载
    高功率因数预调节器<b class='flag-5'>UCx</b>854数据表

    降本增效:NVIDIA路径优化引擎创下多项世界纪录!

    NVIDIA cuOpt 路径优化引擎助力川崎重工实现铁路安全,支持 SyncTwin 实现制造优化
    的头像 发表于 04-03 11:17 171次阅读

    基于NVIDIA Megatron Core的MOE LLM实现和训练优化

    本文将分享阿里云人工智能平台 PAI 团队与 NVIDIA Megatron-Core 团队在 MoE (Mixture of Experts) 大语言模型(LLM)实现与训练优化上的创新工作。
    的头像 发表于 03-22 09:50 165次阅读
    基于<b class='flag-5'>NVIDIA</b> Megatron Core的MOE LLM<b class='flag-5'>实现</b>和训练<b class='flag-5'>优化</b>

    NVIDIA 发布全新交换机,全面优化万亿参数级 GPU 计算和 AI 基础设施

    NVIDIA Quantum-X800 InfiniBand 网络,打造性能最强大的 AI 专用基础设施 NVIDIA Spectrum-X800 以太网络,数据中心必备的优化 AI
    发表于 03-19 10:05 115次阅读
    <b class='flag-5'>NVIDIA</b> 发布全新交换机,全面<b class='flag-5'>优化</b>万亿参数级 GPU 计算和 AI 基础设施

    基于NVIDIA DOCA 2.6实现性能和安全的AI云设计

    作为专为 NVIDIA® BlueField® 网络平台而设计的数据中心基础设施软件框架,NVIDIA® DOCA™ 使广大开发者能够利用其行业标准 API 在 NVIDIA Blue
    的头像 发表于 02-23 10:02 184次阅读

    有奖征文第一弹 | 携手百万开发者 共创 AI 新未来

    携手百万开发者,共创 AI 新未来 NVIDIA 百万中国开发者故事有奖征文 活动已于 12 月 14 日拉开帷幕。 现正在火热进行中! 超过 100 万中国
    的头像 发表于 12-22 17:15 154次阅读
    有奖征文第一弹 | <b class='flag-5'>携手</b>百万<b class='flag-5'>开发</b>者 共创 AI 新未来

    【ELF 1开发板试用】+ 8.2 MQTT开发——连接腾讯云【原创】

    MQTT开发——连接腾讯云 前文我们基于文档中提供的项目教程,复现ELF 1连接阿里云物联网平台,进行了MQTT开发,复现后,笔者就想“为何不试试其它平台”,抱着整活学习的心,腾讯云的
    发表于 12-15 23:10

    创新企业云福利:腾讯云 × NVIDIA 初创加速计划

    助力生成式 AI、大模型训练与推理、自动驾驶、图像处理等场景初创企业加速成长,最高获赠 10 万元扶持基金、NVIDIA 深度学习培训中心(DLI)优惠课程,以及免费的 GPU 技术支持。 腾讯
    的头像 发表于 11-13 20:40 383次阅读
    创新企业云福利:<b class='flag-5'>腾讯</b>云 × <b class='flag-5'>NVIDIA</b> 初创加速计划

    NVIDIA Merlin 助力陌陌推荐业务实现性能训练优化

    通过 Merlin 大幅提升大规模深度多目标精排模型训练性能 本案例中,NVIDIA 团队与陌陌推荐系统团队深度合作,共同使用 NVIDIA GPU 和 Merlin 软件解决方案替代其原有
    的头像 发表于 11-09 10:45 142次阅读
    <b class='flag-5'>NVIDIA</b> Merlin 助力陌陌推荐业务<b class='flag-5'>实现</b>高<b class='flag-5'>性能</b>训练<b class='flag-5'>优化</b>

    现已公开发布!欢迎使用 NVIDIA TensorRT-LLM 优化大语言模型推理

    NVIDIA 于 2023 年 10 月 19 日公开发布 TensorRT-LLM ,可在 NVIDIA GPU 上加速和优化最新的大语言模型(Large Language Mode
    的头像 发表于 10-27 20:05 534次阅读
    现已公<b class='flag-5'>开发</b>布!欢迎使用 <b class='flag-5'>NVIDIA</b> TensorRT-LLM <b class='flag-5'>优化</b>大语言模型推理

    使用 NVIDIA Jetson 优化功率

    在使用 Jetson 模组等嵌入式系统时,必须根据功率分配和计算资源来优化应用。为避免性能以及热节流问题,进行监控就显得格外重要。 Jetson 模组自带 GPU、CPU 和各种 AI 加速器
    的头像 发表于 10-19 11:10 293次阅读
    使用 <b class='flag-5'>NVIDIA</b> Jetson <b class='flag-5'>优化</b>功率

    “2023 腾讯全球数字生态大会” 今日隆重登场!NVIDIA 专家众星云集,邀您一同在线参与 9 月 8 日腾讯专场演讲

    的最新技术和应用,包括腾讯NVIDIA 的合作案例,NVIDIA 网络如何助力 AI 数据中心、NVIDIA L40S GPU 如何为数据中心提供卓越的 AI 和图形
    的头像 发表于 09-07 19:35 800次阅读

    NVIDIA 端到端网络解决方案亮相“腾讯全球数字生态大会”,引领产业未来!

    9 月 7 日至 8 日,以 “智变加速,产业焕新” 为主题的 “腾讯全球数字生态大会” 即将在 深圳国际会展中心 18 号馆 举行!NVIDIA 将亮相本次大会现场,并为与会者带来 NVIDIA
    的头像 发表于 09-06 19:15 650次阅读
    <b class='flag-5'>NVIDIA</b> 端到端网络解决方案亮相“<b class='flag-5'>腾讯</b>全球数字生态大会”,引领产业未来!

    一文预览 | 8 月 16 日 NVIDIA 在 WAVE SUMMIT 深度学习开发者大会 2023 精彩亮点抢先看!

    由深度学习技术及应用国家工程研究中心主办,百度飞桨和文心大模型承办的 WAVE SUMMIT 深度学习开发者大会 2023,将于 8 月 16 日在北京与大家见面。NVIDIA 作为技术合作
    的头像 发表于 08-14 17:25 1613次阅读
    一文预览 | 8 月 16 日 <b class='flag-5'>NVIDIA</b> 在 WAVE SUMMIT 深度学习<b class='flag-5'>开发</b>者大会 2023 精彩亮点抢先看!

    Snowflake 携手 NVIDIA 助力企业在数据云端利用数据实现生成式 AI

    式 AI 应用,而这一切都可以在 Snowflake 数据云中安全地实现。 凭借用于开发大语言模型(LLM)的 NVIDIA NeMo 平台 以及 NVIDIA GPU 加速计算 ,S
    的头像 发表于 06-27 21:10 269次阅读
    Snowflake <b class='flag-5'>携手</b> <b class='flag-5'>NVIDIA</b> 助力企业在数据云端利用数据<b class='flag-5'>实现</b>生成式 AI