介紹
用于Apache Spark 的 RAPIDS 加速器 8?月版(?21.08?)現已發布。。自 NVIDIA GTC 2020 首次發布以來,已經有一年多的時間了。我們在許多方面都有所改進,特別是在易用性方面, Apache Spark 應用程序的代碼更改很少甚至沒有。去年,該團隊一直專注于添加功能和持續改進性能。為了證明這一點,我們使用 NVIDIA 數據科學( NDS )基準測試了定期測量在 3000 ( 3 TB 未壓縮)的比例因子下的性能和功能。在此版本中,除了添加新功能外,我們非常自豪地在提高所有通過查詢的端到端速度和降低 NVIDIA EGX 服務器的總體擁有成本方面取得了進展。
基準更新
NVIDIA 決策支持( NDS )是我們對 Apache Spark 社區常用的行業標準數據科學基準的改編。 NDS 包含與行業標準基準測試 TPC-DS 相同的 105 個 SQL 查詢,但修改了數據集生成和執行腳本的部分。在 GTC 2021 更新中,有 95 個查詢通過。在 21 . 08 版本中,通過核心外分組方式、窗口排名和密集排名等新功能,我們已經能夠在 GPU 上運行所有 105 個查詢。
基準設置
- 比例因子 -3K (帶浮點數的 3TB 數據集)
- Systems: 4x NVIDIA 認證 EGX 服務器
- EGX 服務器硬件規格: 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 硬件規格: 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
結果摘要

基于此版本,我們很高興地向大家展示,所有 105 個查詢現在都可以在 GPU 上運行,而無需任何代碼更改。
- 用于這些基準測試的基準服務器對于四臺沒有 GPU s 的服務器的成本略低于 170000 美元,而在每臺服務器中包含一臺 NVIDIA A100 GPU 的成本則低于 220000 美元。
- 簡單來說,基準 GPU 服務器的成本是 CPU 服務器的 1 . 29 倍。
- 如上圖所示(圖 1 ),超過 95 個查詢現在比 GPU 快 1 . 29 倍,因此運行起來更便宜。
- GPU 上一些速度較慢的查詢目前正在解決中,我們正在不懈地努力改進這些查詢并提高總體速度。
- 用戶可以很容易地推斷出 GPU 的加速從 1x 到 18x 不等,因此建議用戶確認 GPU 的正確用例。
- 如果用戶不確定 GPU 的正確用例,鑒定工具將是一個方便的資產。有關鑒定工具的更多信息,請參閱以下章節。
分析和鑒定工具
分析與鑒定工具于 21 . 06 發布,獲得了用戶社區的積極反饋以及對新功能的要求。在 21 . 08 中,鑒定工具現在能夠處理 Apache Spark 2 . x 版本生成的事件日志。該工具還將支持 AWS EMR 6 . 3 . 0 、 Google Dataproc 2 . 0 、 Microsoft Azure Synapse 以及 DataRicks 7 . 3 和 8 . 2 運行時生成的事件日志。鑒定工具不再需要 Spark 運行時。用戶現在只需在機器上使用 Apache Spark 3 . x JAR 即可使用鑒定工具。最新版本還具有選擇事件日志的新過濾功能。該工具還查找插件不支持的讀取數據格式和類型,并從分數中刪除這些格式和類型(基于 SQL Dataframe 操作中的總任務時間)。輸出將以簡潔的格式報告在終端上,對每個已處理事件日志的詳細分析將存儲為 csv 輸出。
新功能
此版本為數組和結構添加了更多功能。我們現在可以對多層結構數據類型進行聯合,也可以以拼花格式編寫數組數據類型。我們在現有的超前、滯后和行號功能中添加了秩和密集秩窗口功能。有了這一新增功能, RAPIDS 加速器現在可以支持 SQL 中最常用的窗口運算符。對于時間戳操作符,我們添加了對遺留時間戳的支持。使用此功能,用戶可以讀取 Spark 2 . 0 中支持的傳統時間戳格式。對于 Databricks 用戶,我們添加了在 GPU 中緩存數據的功能(所有其他平臺都支持這種功能)。
我們通過處理 GPU 內存溢出的數據集以進行分組和窗口操作,繼續改善用戶體驗。這一改進將節省用戶創建分區的時間,以避免 GPU 上出現內存不足錯誤。類似地, UCX 1 . 11 的采用改進了 RAPIDS Spark 加速洗牌管理器的錯誤處理。
成長社區
加入我們“使用 NVIDIA RAPIDS 加速器為 Spark 加速數據管道”了解 Informatica 如何消除使用 GPU 的障礙,在大規模運營機器學習項目時實現顯著的性能改進。您可以閱讀有關網上研討會和在這里注冊的更多信息。
馬上就來
正如我們在上一個版本中所指出的,自最新版本( 21.06 ).發布以來,我們已經發布了搬到卡爾弗和每兩個月發布一次的 cadence 。即將發布的版本將添加對其他十進制類型的擴展支持,并繼續添加對多級結構和映射的更多嵌套數據類型支持。此外,請留意帶有代碼示例和筆記本的微型基準測試,它們將突出顯示最適合 GPU 的操作。我們想聽聽你和用戶的意見。請在GitHub上與我們聯系,讓我們知道我們如何使用 RAPIDS Spark 繼續改進您的體驗。
?