介紹
用于Apache Spark 的 RAPIDS 加速器 8 月版( 21.08 )現(xiàn)已發(fā)布。自 NVIDIA GTC 2020 首次發(fā)布以來,已經(jīng)有很長(zhǎng)時(shí)間了。我們?cè)谠S多方面都有所改進(jìn),特別是在易用性方面, Apache Spark 應(yīng)用程序的代碼更改很少甚至沒有。去年,該團(tuán)隊(duì)一直專注于添加功能和持續(xù)改進(jìn)性能。為了證明這一點(diǎn),我們使用 NVIDIA 數(shù)據(jù)科學(xué)( NDS )基準(zhǔn)測(cè)試了定期測(cè)量在 3000 ( 3 TB 未壓縮)的比例因子下的性能和功能。在此版本中,除了添加新功能外,我們非常自豪地在提高所有通過查詢的端到端速度和降低 NVIDIA EGX 服務(wù)器的總體擁有成本方面取得了進(jìn)展。
基準(zhǔn)更新
NVIDIA 決策支持( NDS )是我們對(duì) Apache Spark 社區(qū)常用的行業(yè)標(biāo)準(zhǔn)數(shù)據(jù)科學(xué)基準(zhǔn)的改編。 NDS 包含與行業(yè)標(biāo)準(zhǔn)基準(zhǔn)測(cè)試 TPC-DS 相同的 105 個(gè) SQL 查詢,但修改了數(shù)據(jù)集生成和執(zhí)行腳本的部分。在 GTC 2021 更新中,有 95 個(gè)查詢通過。在 21.08 版本中,通過核心外分組方式、窗口排名和密集排名等新功能,我們已經(jīng)能夠在 GPU 上運(yùn)行所有 105 個(gè)查詢。
基準(zhǔn)設(shè)置
比例因子 -3K (帶浮點(diǎn)數(shù)的 3TB 數(shù)據(jù)集)
Systems: 4x NVIDIA 認(rèn)證 EGX 服務(wù)器
EGX 服務(wù)器硬件規(guī)格: 4-node Dell R740xd, each with (2) 24-core CPUs, 512GB RAM, HDFS on NVMe, (1) CX-6 Dx 25/100Gb NIC, 2x NVIDIA A30 GPU
CPU 硬件規(guī)格: 4-node dell r740xd , each with ( 2 ) 24-core CPU s , 512GB ram , hdfs on nvme ,( 1 ) cx-6 dx 25 / 100gb nic
軟件: RAPIDS 加速器 v21.08.0 、 cuDF 21.08.0 、 Apache Spark 3.1.1 、 UCX 1.10.1
圖 1 : EGX 服務(wù)器上的 NDS 查詢速度: GPU vs CPU 。
基于此版本,我們很高興地向大家展示,所有 105 個(gè)查詢現(xiàn)在都可以在 GPU 上運(yùn)行,而無需任何代碼更改。
用于這些基準(zhǔn)測(cè)試的基準(zhǔn)服務(wù)器對(duì)于四臺(tái)沒有 GPU s 的服務(wù)器的成本略低于 170000 美元,而在每臺(tái)服務(wù)器中包含一臺(tái) NVIDIA A100 GPU 的成本則低于 220000 美元。
簡(jiǎn)單來說,基準(zhǔn) GPU 服務(wù)器的成本是 CPU 服務(wù)器的 1.29 倍。
如上圖所示(圖 1 ),超過 95 個(gè)查詢現(xiàn)在比 GPU 快 1.29 倍,因此運(yùn)行起來更便宜。
GPU 上一些速度較慢的查詢目前正在解決中,我們正在不懈地努力改進(jìn)這些查詢并提高總體速度。
用戶可以很容易地推斷出 GPU 的加速從 1x 到 18x 不等,因此建議用戶確認(rèn) GPU 的正確用例。
如果用戶不確定 GPU 的正確用例,鑒定工具將是一個(gè)方便的資產(chǎn)。有關(guān)鑒定工具的更多信息,請(qǐng)參閱以下章節(jié)。
分析和鑒定工具
分析與鑒定工具于 21.06 發(fā)布,獲得了用戶社區(qū)的積極反饋以及對(duì)新功能的要求。在 21.08 中,鑒定工具現(xiàn)在能夠處理 Apache Spark 2.x 版本生成的事件日志。該工具還將支持 AWS EMR 6.3.0 、 Google Dataproc 2. 0 、 Microsoft Azure Synapse 以及 DataRicks 7.3 和 8.2 運(yùn)行時(shí)生成的事件日志。鑒定工具不再需要 Spark 運(yùn)行時(shí)。用戶現(xiàn)在只需在機(jī)器上使用 Apache Spark 3.x JAR 即可使用鑒定工具。最新版本還具有選擇事件日志的新過濾功能。該工具還查找插件不支持的讀取數(shù)據(jù)格式和類型,并從分?jǐn)?shù)中刪除這些格式和類型(基于 SQL Dataframe 操作中的總?cè)蝿?wù)時(shí)間)。輸出將以簡(jiǎn)潔的格式報(bào)告在終端上,對(duì)每個(gè)已處理事件日志的詳細(xì)分析將存儲(chǔ)為 csv 輸出。
新功能
此版本為數(shù)組和結(jié)構(gòu)添加了更多功能。我們現(xiàn)在可以對(duì)多層結(jié)構(gòu)數(shù)據(jù)類型進(jìn)行聯(lián)合,也可以以拼花格式編寫數(shù)組數(shù)據(jù)類型。我們?cè)诂F(xiàn)有的超前、滯后和行號(hào)功能中添加了秩和密集秩窗口功能。有了這一新增功能, RAPIDS 加速器現(xiàn)在可以支持 SQL 中最常用的窗口運(yùn)算符。對(duì)于時(shí)間戳操作符,我們添加了對(duì)遺留時(shí)間戳的支持。使用此功能,用戶可以讀取 Spark 2.0 中支持的傳統(tǒng)時(shí)間戳格式。對(duì)于 Databricks 用戶,我們添加了在 GPU 中緩存數(shù)據(jù)的功能(所有其他平臺(tái)都支持這種功能)。
我們通過處理 GPU 內(nèi)存溢出的數(shù)據(jù)集以進(jìn)行分組和窗口操作,繼續(xù)改善用戶體驗(yàn)。這一改進(jìn)將節(jié)省用戶創(chuàng)建分區(qū)的時(shí)間,以避免 GPU 上出現(xiàn)內(nèi)存不足錯(cuò)誤。類似地, UCX 1.11 的采用改進(jìn)了 RAPIDS Spark 加速洗牌管理器的錯(cuò)誤處理。
關(guān)于作者
Eric Rife 是 NVDIA 數(shù)據(jù)科學(xué)公司的技術(shù)營銷經(jīng)理。他是一名高級(jí)專業(yè)人員,擁有 25 年的管理和工程經(jīng)驗(yàn),設(shè)計(jì)和管理全天候關(guān)鍵任務(wù)企業(yè)系統(tǒng),包括 Unix / Linux / Windows 服務(wù)器、應(yīng)用程序服務(wù)器和多 PB 存儲(chǔ)解決方案。他目前領(lǐng)導(dǎo) NVIDIA 的工作,幫助基礎(chǔ)設(shè)施經(jīng)理和數(shù)據(jù)科學(xué)家重新思考如何加快 AI 在企業(yè)業(yè)務(wù)應(yīng)用中的應(yīng)用。
審核編輯:郭婷
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
9267瀏覽量
85798 -
WINDOWS
+關(guān)注
關(guān)注
4文章
3555瀏覽量
89049
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論