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