0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

NVIDIA 攜手騰訊開發(fā)和優(yōu)化 Spark UCX 實(shí)現(xiàn)性能躍升

NVIDIA英偉達(dá) ? 來(lái)源:未知 ? 2023-08-25 20:50 ? 次閱讀
騰訊網(wǎng)絡(luò)平臺(tái)部與數(shù)據(jù)平臺(tái)部,聯(lián)合 NVIDIA 合作開發(fā)和優(yōu)化 Spark UCX,最終實(shí)現(xiàn) Spark Shuffle 穩(wěn)定加速 15% - 20%,平均降低現(xiàn)網(wǎng) Spark 任務(wù) 8% 的執(zhí)行時(shí)間。

什么是 Spark 平臺(tái)?

TDW-Spark 是騰訊公司級(jí)數(shù)據(jù)平臺(tái),是騰訊海量數(shù)據(jù)處理平臺(tái)中最核心的模塊,支持百 PB 級(jí)的數(shù)據(jù)存儲(chǔ)和計(jì)算,業(yè)務(wù)涉及公司各個(gè) BG,為騰訊公司提供海量、高效、穩(wěn)定的大數(shù)據(jù)平臺(tái)支撐和決策支持,是騰訊公司最大的離線數(shù)據(jù)處理平臺(tái)。

Spark 業(yè)務(wù)所面臨的挑戰(zhàn)

Spark 網(wǎng)絡(luò)目前的現(xiàn)狀包括大規(guī)模部署 QP 連接數(shù)不夠用,使用 RDMA DC 解決連接數(shù)過(guò)多的問(wèn)題;Spark 不同應(yīng)用場(chǎng)景需要不同的 EP 個(gè)數(shù)、RPC 調(diào)用次數(shù)、Spark UCX 線程數(shù)、Block 大小等,需要聯(lián)合調(diào)配;RDMA 和 TCP 混合部署,需要兼容和故障逃生;以及網(wǎng)絡(luò)帶寬低,需要提升帶寬,降低延時(shí)。

Spark 原始的業(yè)務(wù)問(wèn)題包括:

  • 通信耗時(shí)占比高:Spark Shuffle 時(shí)間占 Spark 運(yùn)行總時(shí)間的 30% - 40%,造成 Spark 任務(wù)完成時(shí)間長(zhǎng)。

  • 業(yè)務(wù)需求:網(wǎng)絡(luò) IO 和磁盤 IO 是 Spark Shuffle 的瓶頸,需要提高通信效 率,提高計(jì)算效率。

  • 降本增效:五萬(wàn)張已經(jīng)部署的 NVIDIA ConnectX-5 網(wǎng)卡需要提高性能利用率,切換到 RDMA,提高業(yè)務(wù)帶寬。

為了應(yīng)對(duì)上述問(wèn)題及挑戰(zhàn),騰訊進(jìn)行了 Spark RDMA 大規(guī)模部署網(wǎng)絡(luò)的工作,主要從兩個(gè)方面著手:Spark RDMA 網(wǎng)絡(luò)部署和優(yōu)化,以及 Spark UCX / UCX 性能優(yōu)化。

Spark RDMA 網(wǎng)絡(luò)部署和調(diào)優(yōu)

具體部署調(diào)優(yōu)步驟:

  1. 搭建 37 節(jié)點(diǎn) NVIDIA ConnectX-5 網(wǎng)卡和 26 節(jié)點(diǎn) NVIDIA ConnectX-6 網(wǎng)卡 Spark 環(huán)境,部署 Spark、Spark UCX、UCX 代碼進(jìn)行長(zhǎng)穩(wěn)調(diào)優(yōu)。

  2. 基于 GroupByTest 和現(xiàn)網(wǎng) Spark 業(yè)務(wù)流量,在 UCX、Spark UCX、Spark 三個(gè)層次調(diào)優(yōu)對(duì)比 DC、RC 和 TCP 效果。

  3. 優(yōu)化 Spark UCX、UCX 代碼,根據(jù) Spark 業(yè)務(wù)調(diào)優(yōu)網(wǎng)卡和交換機(jī)配置。

  4. 通過(guò)在 NVIDIA ConnectX-5 和 NVIDIA ConnectX-6 Dx bond 引入 DCT,提升 Spark 業(yè)務(wù)帶寬利用率。

  5. RDMA 和 TCP 網(wǎng)絡(luò)共存的情況下,保障長(zhǎng)穩(wěn)運(yùn)行和 RDMA 故障逃生。

wKgaomTopKWAfh5EAABuql9I-5I182.png

圖 1:37 節(jié)點(diǎn)的 ConnectX-5 機(jī)群與 26 節(jié)點(diǎn)的 ConnectX-6 機(jī)群

RDMA 部署優(yōu)化完成情況:

  • 大規(guī)模:使用 DCT 技術(shù)共享 QP 連接,解決了大規(guī)模 QP 不夠用 的問(wèn)題。大規(guī)模仿真下 Spark 應(yīng)用 RDMA 網(wǎng)絡(luò)滿足預(yù)期。

  • Spark 應(yīng)用和網(wǎng)絡(luò)聯(lián)合調(diào)優(yōu):實(shí)現(xiàn)了最優(yōu)的網(wǎng)卡和交換機(jī)配置,以 及 Spark 任務(wù)配置,降低了 15% - 20% 左右的讀完成時(shí)間。

  • 故障逃生:Spark UCX 和 UCX 代碼層面實(shí)現(xiàn)了 RDMA 和 TCP 通道備份。確保 RDMA 故障逃生 TCP,保證穩(wěn)定運(yùn)行。

  • 穩(wěn)定性保證:開發(fā)了驅(qū)動(dòng)版本檢測(cè)、網(wǎng)卡配置和檢測(cè)、自動(dòng)化安裝升級(jí)檢測(cè)功能。開發(fā)了測(cè)試網(wǎng)絡(luò)性能模塊,保證 Spark RDMA 各層帶寬和延時(shí)滿足預(yù)期。

Spark UCX 性能優(yōu)化

1. 參數(shù)調(diào)優(yōu):通過(guò)調(diào)整 maxReqsInFlight、numListenerThreads 等 Spark / Spark UCX 參數(shù),提升任務(wù)執(zhí)行效率,獲得最好傳輸速率,發(fā)揮最大系統(tǒng)效能。

2. CPU 利用率優(yōu)化:啟用 sleep / wakeup 特性,替代 busy waiting 模式。讓出 CPU 給 Spark 計(jì)算任務(wù),減少了 CPU 浪費(fèi),體現(xiàn)了 RDMA 的優(yōu)勢(shì)。

3. 網(wǎng)路 IO 優(yōu)化:網(wǎng)路 IO 由阻塞模型改為非阻塞模型,數(shù)據(jù)接收由同步等待改為異步通知。避免了因?yàn)榫W(wǎng)路 IO 等待而 阻塞計(jì)算任務(wù)執(zhí)行,提高了每個(gè)線程的任務(wù)吞吐量,提升了收發(fā)效率和帶寬。

wKgaomTopKWAFpnRAAGiOI3ydaI852.png

圖 2:網(wǎng)絡(luò) IO 優(yōu)化

4. 調(diào)度優(yōu)化worker 的調(diào)度方式改用全局 round-robin (RR) 調(diào)度模式,替代原有的按照 thread id 選擇 worker 的 方式。避免了 thread id 不連續(xù)引起的多個(gè)線程選擇同一 worker 的問(wèn)題。

wKgaomTopKWAbjwyAAH2E874614011.png

圖 3:調(diào)度優(yōu)化

5. 數(shù)據(jù)競(jìng)爭(zhēng)優(yōu)化:將 send / receive / progress 方法打包至獨(dú)立線程運(yùn)行,保證每個(gè) worker 資源僅被單個(gè)線程 訪問(wèn) / 修改,避免了數(shù)據(jù)競(jìng)爭(zhēng),提升了線程運(yùn)行效率。

UCX 性能優(yōu)化

1. 參數(shù)調(diào)優(yōu):使用 DC 替換 RC 模式,提升傳輸帶寬,減少系統(tǒng) CPU、內(nèi)存資源消耗。開啟 CQE zipping 和 PCI relax ordering 減少 PCI 負(fù)載。調(diào)整 UCX_ZCOPY_THRESH、UCX_RNDV_THRESH 和 UCX_RND_SCHEME,獲得穩(wěn)定高速的傳輸帶寬。

2. 網(wǎng)絡(luò)負(fù)載均衡優(yōu)化:隨機(jī)化 UDP 源端口取值,減輕由于固定端口,交換機(jī)對(duì) 5 元組哈希得到相同出端口而引起的 負(fù)載不均衡問(wèn)題,優(yōu)化網(wǎng)絡(luò)傳輸帶寬。

“Spark UCX 是 Apache Spark 的高性能 Shuffle Manager 插件,它使用 UCX 支持的 RDMA 和其他高性能傳輸來(lái)加速 Spark 作業(yè)中的 Shuffle 數(shù)據(jù)傳輸。RDMA DC(動(dòng)態(tài)連接)是一種傳輸服務(wù),旨在解決大型系統(tǒng)在使用可靠連接時(shí)的可擴(kuò)展性問(wèn)題。使用 DC,用戶可以打開有限數(shù)量的資源,無(wú)論集群大小如何。這一優(yōu)勢(shì)對(duì)于 Spark 如此大規(guī)模的應(yīng)用程序來(lái)說(shuō)非常有好處,并且可以提高性能。”

——Amit Krig

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

部署調(diào)優(yōu)后性能提升明顯

經(jīng)過(guò)部署調(diào)優(yōu),NVIDIA ConnectX-6 環(huán)境 RDMA 傳輸性能比 TCP 平均有 18% 的提升;NVIDIA ConnectX-5 環(huán)境大部分場(chǎng)景 RDMA 傳輸性能比 TCP 平均有 16% 的提升??紤]到 Spark 任務(wù)有計(jì)算和本地 write,所以對(duì) Spark 任務(wù)整體完成時(shí)間大概有 8% 的性能提升。

NVIDIA ConnetX-6 環(huán)境 RDMA 性能提升明顯(RDMA read 通信 18% 左右提升,整體完成時(shí)間 8% 左右提升),可以大規(guī)?;叶炔渴?Spark 業(yè)務(wù)真實(shí)流量。NVIDIA ConnectX-5 環(huán)境大部分場(chǎng)景性能平均提升(RDMA read 通信 16% 左右提升,整體完成時(shí)間 6% 左右提升),部分場(chǎng)景 RDMA 性能較差還需要調(diào)測(cè)優(yōu)化,可以灰度部署 Spark 業(yè)務(wù),繼續(xù)優(yōu)化還有提升空間。

wKgaomTopKaAdji2AAC2vt5kA8M435.png

圖 4:ConnectX-6 網(wǎng)卡 26 臺(tái)規(guī)模 RDMA 完成時(shí)間比 TCP 低 20% 左右

wKgaomTopKaAasluAACyKxd6OfE061.png

圖 5:ConnectX-5 網(wǎng)卡 37 臺(tái)規(guī)模 RDMA 完成時(shí)間比 TCP 低 18% 左右

wKgaomTopKaAL9QDAABUyl6U7EQ953.png

圖 6:20 臺(tái)規(guī)模 Spark 業(yè)務(wù)灰度測(cè)試,RDMA read 平均降低 20% 左右

后期計(jì)劃

Spark 項(xiàng)目通過(guò)遠(yuǎn)程直接內(nèi)存訪問(wèn)(RDMA)技術(shù)解決網(wǎng)絡(luò)傳輸中服務(wù)器數(shù)據(jù)處理延遲問(wèn)題,為騰訊 Spark 大數(shù)據(jù)平臺(tái)業(yè)務(wù)提供高帶寬、低延時(shí)的通信。該技術(shù)已在二十多臺(tái)騰訊 Spark 大數(shù)據(jù)平臺(tái)服務(wù)器完成灰度測(cè)試,運(yùn)行穩(wěn)定且 Spark Shuffle(數(shù)據(jù)讀取速率)時(shí)間平均降低 15% - 18% 左右,減少了 Spark 任務(wù)完成時(shí)間(大約 8% 左右),節(jié)約了服務(wù)器資源。計(jì)劃逐步部署到數(shù)千臺(tái) Spark 服務(wù)器。

wKgaomTopKaAJRrsAABAFFJlyZc946.gif ?

點(diǎn)擊“閱讀原文”掃描下方海報(bào)二維碼,注冊(cè) NVIDIA DOCA 應(yīng)用代碼分享活動(dòng),為新一代 AI 驅(qū)動(dòng)的數(shù)據(jù)中心、高性能計(jì)算及云計(jì)算基礎(chǔ)設(shè)施帶來(lái)前所未有的創(chuàng)新。


原文標(biāo)題:NVIDIA 攜手騰訊開發(fā)和優(yōu)化 Spark UCX 實(shí)現(xiàn)性能躍升

文章出處:【微信公眾號(hào):NVIDIA英偉達(dá)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 英偉達(dá)
    +關(guān)注

    關(guān)注

    22

    文章

    3683

    瀏覽量

    90487

原文標(biāo)題:NVIDIA 攜手騰訊開發(fā)和優(yōu)化 Spark UCX 實(shí)現(xiàn)性能躍升

文章出處:【微信號(hào):NVIDIA_China,微信公眾號(hào):NVIDIA英偉達(dá)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    NVIDIA與印度攜手計(jì)劃聯(lián)合開發(fā)定制AI芯片

     10月23日,有媒體報(bào)道稱,NVIDIA正計(jì)劃與印度攜手開發(fā)人工智能芯片,旨在充分利用印度豐富的半導(dǎo)體設(shè)計(jì)人才資源,并深入開拓印度這一快速增長(zhǎng)的市場(chǎng)。   此次合作不僅有助于NVIDI
    的頭像 發(fā)表于 10-23 11:50 ?174次閱讀

    NVIDIA RTX AI套件簡(jiǎn)化AI驅(qū)動(dòng)的應(yīng)用開發(fā)

    NVIDIA 于近日發(fā)布 NVIDIA RTX AI套件,這一工具和 SDK 集合能夠幫助 Windows 應(yīng)用開發(fā)者定制、優(yōu)化和部署適用于 Windows 應(yīng)用的 AI 模型。該套件
    的頭像 發(fā)表于 09-06 14:45 ?321次閱讀

    借助OpenUSD和NVIDIA Omniverse開發(fā)數(shù)字孿生應(yīng)用

    為了滿足制造業(yè)和其他行業(yè)的數(shù)字化轉(zhuǎn)型需求,致力于開發(fā)生產(chǎn)、內(nèi)部物流和裝配優(yōu)化軟件的公司 SyncTwin GmbH 通過(guò)使用用于解決復(fù)雜路線規(guī)劃問(wèn)題的加速優(yōu)化引擎NVIDIA cuOp
    的頭像 發(fā)表于 09-06 14:18 ?308次閱讀

    spark運(yùn)行的基本流程

    前言: 由于最近對(duì)spark的運(yùn)行流程非常感興趣,所以閱讀了《Spark大數(shù)據(jù)處理:技術(shù)、應(yīng)用與性能優(yōu)化》一書。通過(guò)這本書的學(xué)習(xí),了解了spark
    的頭像 發(fā)表于 07-02 10:31 ?303次閱讀
    <b class='flag-5'>spark</b>運(yùn)行的基本流程

    Spark基于DPU的Native引擎算子卸載方案

    1.背景介紹 Apache Spark(以下簡(jiǎn)稱Spark)是一個(gè)開源的分布式計(jì)算框架,由UC Berkeley AMP Lab開發(fā),可用于批處理、交互式查詢(Spark SQL)、實(shí)
    的頭像 發(fā)表于 06-28 17:12 ?423次閱讀
    <b class='flag-5'>Spark</b>基于DPU的Native引擎算子卸載方案

    笙泉、呈功攜手推出FOC智能型調(diào)機(jī)系統(tǒng),實(shí)現(xiàn)高效開發(fā)馬達(dá)控制產(chǎn)品

    本帖最后由 noctor 于 2024-6-3 14:45 編輯 笙泉、呈功攜手推出FOC智能型調(diào)機(jī)系統(tǒng),實(shí)現(xiàn)高效開發(fā)馬達(dá)控制產(chǎn)品 FOC智能型調(diào)機(jī)系統(tǒng)笙泉科技 近幾年持續(xù)致力于
    發(fā)表于 06-03 11:58

    使用OpenUSD和NVIDIA Omniverse開發(fā)虛擬工廠解決方案

    工業(yè)開發(fā)者正在借助 NVIDIA AI、NVIDIA Omniverse 和通用場(chǎng)景描述 (OpenUSD)生態(tài)系統(tǒng)的力量構(gòu)建虛擬工廠解決方案,通過(guò)優(yōu)化棕地和綠地
    的頭像 發(fā)表于 05-28 18:12 ?1173次閱讀
    使用OpenUSD和<b class='flag-5'>NVIDIA</b> Omniverse<b class='flag-5'>開發(fā)</b>虛擬工廠解決方案

    降本增效:NVIDIA路徑優(yōu)化引擎創(chuàng)下多項(xiàng)世界紀(jì)錄!

    NVIDIA cuOpt 路徑優(yōu)化引擎助力川崎重工實(shí)現(xiàn)鐵路安全,支持 SyncTwin 實(shí)現(xiàn)制造優(yōu)化。
    的頭像 發(fā)表于 04-03 11:17 ?368次閱讀

    基于NVIDIA Megatron Core的MOE LLM實(shí)現(xiàn)和訓(xùn)練優(yōu)化

    本文將分享阿里云人工智能平臺(tái) PAI 團(tuán)隊(duì)與 NVIDIA Megatron-Core 團(tuán)隊(duì)在 MoE (Mixture of Experts) 大語(yǔ)言模型(LLM)實(shí)現(xiàn)與訓(xùn)練優(yōu)化上的創(chuàng)新工作。
    的頭像 發(fā)表于 03-22 09:50 ?642次閱讀
    基于<b class='flag-5'>NVIDIA</b> Megatron Core的MOE LLM<b class='flag-5'>實(shí)現(xiàn)</b>和訓(xùn)練<b class='flag-5'>優(yōu)化</b>

    NVIDIA 發(fā)布全新交換機(jī),全面優(yōu)化萬(wàn)億參數(shù)級(jí) GPU 計(jì)算和 AI 基礎(chǔ)設(shè)施

    NVIDIA Quantum-X800 InfiniBand 網(wǎng)絡(luò),打造性能最強(qiáng)大的 AI 專用基礎(chǔ)設(shè)施 NVIDIA Spectrum-X800 以太網(wǎng)絡(luò),數(shù)據(jù)中心必備的優(yōu)化 AI
    發(fā)表于 03-19 10:05 ?292次閱讀
    <b class='flag-5'>NVIDIA</b> 發(fā)布全新交換機(jī),全面<b class='flag-5'>優(yōu)化</b>萬(wàn)億參數(shù)級(jí) GPU 計(jì)算和 AI 基礎(chǔ)設(shè)施

    Google Gemma優(yōu)化后可在NVIDIA GPU上運(yùn)行

    2024 年 2 月 21 日,NVIDIA 攜手 Google 在所有 NVIDIA AI 平臺(tái)上發(fā)布面向 Gemma 的優(yōu)化功能,Gemma 是 Google 最先進(jìn)的新型輕量級(jí)
    的頭像 發(fā)表于 02-25 11:01 ?406次閱讀

    基于NVIDIA DOCA 2.6實(shí)現(xiàn)性能和安全的AI云設(shè)計(jì)

    作為專為 NVIDIA? BlueField? 網(wǎng)絡(luò)平臺(tái)而設(shè)計(jì)的數(shù)據(jù)中心基礎(chǔ)設(shè)施軟件框架,NVIDIA? DOCA? 使廣大開發(fā)者能夠利用其行業(yè)標(biāo)準(zhǔn) API 在 NVIDIA Blue
    的頭像 發(fā)表于 02-23 10:02 ?403次閱讀

    創(chuàng)新企業(yè)云福利:騰訊云 × NVIDIA 初創(chuàng)加速計(jì)劃

    助力生成式 AI、大模型訓(xùn)練與推理、自動(dòng)駕駛、圖像處理等場(chǎng)景初創(chuàng)企業(yè)加速成長(zhǎng),最高獲贈(zèng) 10 萬(wàn)元扶持基金、NVIDIA 深度學(xué)習(xí)培訓(xùn)中心(DLI)優(yōu)惠課程,以及免費(fèi)的 GPU 技術(shù)支持。 騰訊
    的頭像 發(fā)表于 11-13 20:40 ?518次閱讀
    創(chuàng)新企業(yè)云福利:<b class='flag-5'>騰訊</b>云 × <b class='flag-5'>NVIDIA</b> 初創(chuàng)加速計(jì)劃

    NVIDIA Merlin 助力陌陌推薦業(yè)務(wù)實(shí)現(xiàn)性能訓(xùn)練優(yōu)化

    通過(guò) Merlin 大幅提升大規(guī)模深度多目標(biāo)精排模型訓(xùn)練性能 本案例中,NVIDIA 團(tuán)隊(duì)與陌陌推薦系統(tǒng)團(tuán)隊(duì)深度合作,共同使用 NVIDIA GPU 和 Merlin 軟件解決方案替代其原有
    的頭像 發(fā)表于 11-09 10:45 ?294次閱讀
    <b class='flag-5'>NVIDIA</b> Merlin 助力陌陌推薦業(yè)務(wù)<b class='flag-5'>實(shí)現(xiàn)</b>高<b class='flag-5'>性能</b>訓(xùn)練<b class='flag-5'>優(yōu)化</b>

    現(xiàn)已公開發(fā)布!歡迎使用 NVIDIA TensorRT-LLM 優(yōu)化大語(yǔ)言模型推理

    NVIDIA 于 2023 年 10 月 19 日公開發(fā)布 TensorRT-LLM ,可在 NVIDIA GPU 上加速和優(yōu)化最新的大語(yǔ)言模型(Large Language Mode
    的頭像 發(fā)表于 10-27 20:05 ?885次閱讀
    現(xiàn)已公<b class='flag-5'>開發(fā)</b>布!歡迎使用 <b class='flag-5'>NVIDIA</b> TensorRT-LLM <b class='flag-5'>優(yōu)化</b>大語(yǔ)言模型推理