适用于ApacheSpark的RAPIDS加速器更新到v21.08版本

Original By NVIDIA Eric Rife

介绍RAPIDS Accelerator for Apache Spark 的 8 月版 (21.08) 现已推出。自 NVIDIA GTC 2020 首次发布以来已经有一年多的时间了。英伟达在很多方面进行了改进,特别是在易用性方面,对 Apache Spark 应用程序进行了最少甚至无代码更改。去年,该团队一直专注于添加功能和不断提高性能。作为证明,英伟达定期使用 NVIDIA 数据科学 (NDS) 基准以 3,000 的比例因子(3 TB 未压缩)测量性能和功能。在此版本中,除了添加新功能外,英伟达在提高所有传递查询的端到端速度和降低 NVIDIA EGX 服务器的总拥有成本方面取得了进展。基准更新NVIDIA Decision Support (NDS) 是英伟达对 Apache Spark 社区中常用的行业标准数据科学基准的改编。NDS 包含与行业标准基准 TPC-DS 相同的 105 个 SQL 查询,但修改了数据集生成和执行脚本的部分。在英伟达的 GTC 2021 更新中,通过了 95 个查询。在 21.08 版本中,通过核外分组依据、窗口排名和密集排名等新功能,已启用所有 105 个查询都可以在 GPU 上运行。基准设置

  • 比例因子 — 3K(带浮点数的 3TB 数据集)
  • 系统:4x NVIDIA 认证 EGX 服务器
  • EGX 服务器硬件规格:4 节点 Dell R740xd,每个节点具有 (2) 个 24 核 CPU、512GB RAM、NVMe 上的 HDFS、(1) CX-6 Dx 25/100Gb NIC、2x NVIDIA A30 GPU
  • CPU 硬件规格:4 节点 Dell R740xd,每个节点具有 (2) 个 24 核 CPU、512GB RAM、NVMe 上的 HDFS,(1) CX-6 Dx 25/100Gb NIC
  • 软件:RAPIDS Accelerator v21.08.0、cuDF 21.08.0、Apache Spark 3.1.1、UCX 1.10.1

结果总结

图 1:EGX 服务器上的 NDS 查询加速:GPU 与 CPU。显示每个 NDS 查询的 GPU 加速与 CPU 集群相比的条形图。该图表还覆盖了折线图,显示 1. 总拥有成本,这是用于此基准测试的 GPU 集群的 CPU 集群成本的 1.29 倍 2. 所有查询的平均加速,在此图表中从 0.2 倍到 18 倍不等。基于此版本,所有 105 个查询现在都可以在 GPU 上运行而无需更改任何代码。

  • 用于这些基准测试的基准服务器的四台没有 GPU 的服务器的成本略低于 170,000 美元,每台服务器中包含一个 NVIDIA A100 GPU 的成本为 220,000 美元。
  • 简单来说,基准 GPU 服务器的成本是 CPU 服务器的 1.29 倍。
  • 如上图(图 1)所示,现在超过 95 个查询的速度提高了 1.29 倍,因此在 GPU 上运行的成本更低。
  • 目前正在解决一些在 GPU 上速度较慢的查询,英伟达表示正在不懈地努力改进这些查询并提高整体速度。
  • 用户可以很容易地推断出 GPU 加速从 1 倍到 18 倍不等,因此建议用户确定 GPU 的正确用例。
  • 如果用户不确定 GPU 的正确用例,Qualification Tool 将是一个方便的资产。有关资格工具的更多信息,请参阅以下部分。

分析和认证工具21.06 发布的 Profiling & Qualification 工具收到了用户社区的积极反馈以及对新功能的请求。在 21.08 中,资格工具现在能够处理由 Apache Spark 2.x 版本生成的事件日志。该工具还将支持由 AWS EMR 6.3.0、Google Dataproc 2.0、Microsoft Azure Synapse 以及 Databricks 7.3 和 8.2 运行时生成的事件日志。资格认证工具将不再需要 Spark 运行时。用户现在可以在他们的机器上仅使用 Apache Spark 3.x jar 来使用认证工具。最新版本还具有用于选择事件日志的新过滤功能。该工具还会查找插件不支持的读取数据格式和类型,并将它们从分数中删除(基于 SQL Dataframe 操作中的总任务时间)。输出将在终端上以简洁的格式报告,每个处理过的事件日志的详细分析将存储为 csv 输出。新功能此版本为数组和结构添加了更多功能。英伟达现在可以对多级结构数据类型进行联合,也可以以 Parquet 格式编写数组数据类型。在现有的领先、滞后和 row_number 功能中添加了排名和密集排名窗口函数。有了这个附加功能,RAPIDS Accelerator 现在可以支持 SQL 中最常用的窗口运算符。对于时间戳运算符,添加了对 LEGACY 时间戳的支持。使用此功能,用户可以读取 Spark 2.0 支持的旧时间戳格式。对于 Databricks 用户,添加了在 GPU 中缓存数据的功能(所有其他平台都已支持此功能)。英伟达继续通过处理从 GPU 内存溢出的数据集进行分组和窗口操作的能力来改善用户体验。这一改进将节省用户创建分区的时间,以避免 GPU 上的内存不足错误。同样,UCX 1.11 的采用改进了 RAPIDS Spark Accelerated Shuffle Manager 的错误处理。成长中的社区加入英伟达的使用 NVIDIA RAPIDS Accelerator for Spark 加速数据管道,了解 Informatica 如何消除使用 GPU 的障碍,在大规模操作机器学习项目时实现显着的性能改进。您可以阅读有关此在线研讨会的更多信息并在此处注册。即将推出正如在上一个版本中所指出的,自上一个版本 (21.06) 以来,英伟达转向了 CalVer 和双月发布节奏。即将推出的版本将添加对其他十进制类型的扩展支持,并继续为多级结构和映射添加更多嵌套数据类型支持。此外,请留意带有代码示例和笔记本的微基准测试,以突出最适合 GPU 的操作。

event_note 10月 28, 2022

account_box 海归 回国

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注