首页 > 最新资讯 > NVIDIA DPU在HPC 集群上加速科学计算应用
NVIDIA DPU在HPC 集群上加速科学计算应用

NVIDIA DPU在HPC 集群上加速科学计算应用

2021-07-15 19:12

#人工智能 #深度学习


高性能计算(HPC)和人工智能已经将超级计算机推向了广泛的商业应用领域,成为其主要的数据处理引擎,助力于研究探索、科学发现和产品开发等。

这些系统可以进行复杂的模拟,开启通过软件编写软件的人工智能新时代。

超级计算能力的领先意味着科学和创新能力的领先,这也是为什么许多政府、研究机构和企业愿意投资构建更快、更强大的超级计算平台的原因。

追求超级计算系统最高的性能来达到最佳的效率,传统意义上与现代云计算系统追求的安全、多租户架构完全不一样。

云原生超级计算平台首次提供了一个两全其美的方案,将峰值性能、集群效率与当代流行的基于零信任的安全隔离和多租户等特征集于一体。

迈向这种新架构的关键就是 NVIDIA 的 BlueField DPU(数据处理器)。DPU 是一个集数据中心于单芯片的平台,为每个超级计算节点注入了两种新功能:

基础设施的控制平面处理器 – 保护用户访问的安全、加速存储访问、加速网络通信和对于计算节点的全生命周期编排,卸载主计算处理器的基础设施操作,实现裸机多租户。

通过硬件加速的方式将数据通路隔离出来,保障线速 – 实现裸机性能。

HPC 和 AI 通信框架和库对延迟和带宽都很敏感,它们在应用性能方面起着关键作用。将通信库从主机 CPU 或 GPU 卸载到 BlueField DPU ,为通信和计算的并行处理实现了最大程度的重叠,它还减少了操作系统的抖动带来的负面影响,显著提高了应用性能。

云原生超级计算机架构的开发是基于开放社区而进行的,包括了商业公司、学术组织和政府机构等。这个不断增长的社区对于开发下一代超级计算至关重要。

在本文中分享的一个例子是 MVAPICH2-DPU 通信库,由 X-ScaleSolutions 公司设计和开发。MVAPICH2-DPU 库实现了了对于标准 MPI(消息传递接口)的无阻塞集合通信的卸载。

本文将介绍这种无阻塞集合通信卸载的基本原理,以及最终用户如何使用 MVAPICH2-DPU MPI 库来加速科学计算应用的执行,特别是针对于大规模的的无阻塞 all-to-all 通信。

BlueField DPU

图1 是关于 BlueField DPU 的架构及其如何与主机计算平台互连的介绍, DPU 上的 ConnectX-6 网卡可以提供 InfiniBand 网络接口。此外,它还有一组 Arm 核, BlueField-2 DPU 包含一组 8 个 2.0 GHz 的 Arm 核, Arm 处理器集成了 16GB 的共享内存。

MVAPICH2-DPU MPI 通信库是 MVAPICH2 MPI 通信库的分支,该通信库专门为在 InfiniBand 网络中充分发挥 BlueField DPU 的潜力而进行了优化。

图 1 . BlueField DPU 架构及与主机平台的连接

最新的 MVAPICH2-DPU 2021 . 06 版本具有以下功能:

基于 MVAPICH2 2.3.6 版本,符合 MPI 3.1 标准

支持  MVAPICH2 2.3.6  版本 提供的所有功能

通过这个新框架可以将无阻塞集合通信(Nonblocking Collectives)卸载到 DPU

卸载无阻塞 Alltoall (MPI 的 Ialltoall)到 DPU

100%的计算与 MPI_Ialltoall 无阻塞集合通信的重叠使用 MPI Ialltoall 无阻塞集合通信加速科学计算应用
OSU(俄亥俄州立大学)做的

Micro-Benchmark 测试用例

OSU的MVAPICH2-DPU MPI 软件包内置了OSU MPI Micro-Benchmarks。OMB 基准测试套件包含了无阻塞集合通信操作的基准测试,这些基准测试旨在评估无阻塞 MPI 集合通信和计算之间的重叠能力。

 OMB 测试包中的无阻塞集合通信测试基准可以用来评估以下指标:

 

重叠功能

 

采用无阻塞集合通信与计算步骤重叠运行时的总执行时间

为此,我们在国际高性能计算和人工智能咨询委员会(HPC-AI Advisory Council)的一台 32 节点的集群上运行了完整 OMB 测试这台集群采用了32 个HDR 200Gb/s InfiniBand BlueField DPU 互连在一起,每个主机节点有两个 16 核、2.60 GHz 的 Intel Xeon E5-2697A V4 CPU ,每个 BluefFeld-2 DPU 有 8 个2.0 GHz 的 Arm 核和 16GB 内存。

图 2 显示了分别运行 512 个MPI 进程( 32 个节点,每个节点运行 16 个进程(PPN:Process Per Node )和 1024 个MPI 进程(32 个节点,每个节点运行 32 个 PPN)的 MPI的 Ialltoall 无阻塞集合通信的测试结果。

随着消息(Message)大小的增加, MVAPICH2- DPU 库表现出了计算和 MPI Ialltoall 无阻塞集合通信之间的完全(100%)重叠。相比之下,没有 DPU 来卸载的 MVAPICH2 默认通信库,仅仅可以在计算和 MPI Ialltoall 无阻塞集合通信之间发生很少的重叠。

图 2 . MVAPICH2-DPU 通信库带来的在主机计算和 MPI_Ialltoall 通信之间的最大重叠能力

当 MPI 应用程序中的计算步骤与 MPI Ialltoall 无阻塞集合通信进行重叠操作时, MVAPICH2-DPU MPI 库在程序的总体执行时间上体现出了显著的性能优势。

其原因就是因为 在主机上的 Xeon CPU 核在计算时,DPU 中的 Arm 核可以同时在执行无阻塞 MPI all-to-all 通信,实现了计算和通信的高度重叠(如图 2 所示 )。

图 3 显示,与标准的 MVAPICH2 MPI 库相比, MVAPICH2-DPU MPI 库可以提供高达 23% 的性能优势。这个 OMB-MPI_Ialltoall 测试涵盖了在 32 节点上不同消息大小和 不同 PPN 的场景。

图 3 .当计算步骤与无阻塞 MPI_Ialltoall 集合通信以重叠方式进行时,MVAPICH2-DPU通信库在降低 MPI 应用总体运行时间上的表现

加速 P3DFFT 应用程序内核

P3DFFT 是一种常见的 MPI 内核,被用于许多使用快速傅立叶变换( FFT )的终端应用。P3DFFT 的开发人员专门设计了一个 MPI 内核版本来支持无阻塞 all-to-all 集合通信和计算步骤的最大化重叠操作。

我们在HPC-AI Advisory Council的 32 节点集群上对 P3DFFT MPI 内核的增强版本通过MVAPICH2-DPU MPI 库进行了评估。从图 4 可以看到 MVAPICH2-DPU MPI 库将 P3DFFT 应用内核的总体执行时间减少了 21% ,涵盖了各种大小的网格和PPN 。

 

图 4 . MVAPICH2-DPU 库在减少 P3DFFT 应用总体执行时间上的表现

概括

NVIDIA DPU 架构提供了新的功能,可以将各种中间件的功能卸载到 DPU 上的可编程 Arm 核上。为了能利用这些功能来加速科学应用,必须重新设计 MPI 通信库。

MVAPICH2-DPU MPI 库是利用到 DPU 的这种功能的先行者之一。最初版本的可以卸载MPI_Ialltoall 无阻塞集合通信的MVAPICH2-DPU 通信库,展示了计算和无阻塞 alltoall 集合通信的之间的 100% 重叠。在运行 1024 个MPI进程时,它可以将 P3DFFT 应用内核的执行时间缩短 21% 。

这项研究证明了使用 MVAPICH2-DPU MPI 通信库的 DPU 架构具有很强的 ROI 。

随着 DPU 架构的不断进步,越来越多的面向其它 MPI 操作的卸载功能将随着新的版本逐渐发布,并为加速云原生超级计算系统上的科学应用发挥重要作用。

相关新闻