中文 英语
18lk新利
的意见

为高性能计算选择正确的服务器接口架构

评估系统是否适合高性能工作负载的一些不太常见的考虑因素。

受欢迎程度

现代高性能计算(HPC)安装的最大批量和成本涉及到通过一个或多个网络(通常是以太网和/或InfiniBand)连接的许多相同系统的获取或配置。大多数高性能计算专家都知道,在不同的服务器制造商之间有许多选择,以及形式因素、CPU、RAM配置、带外管理协议和连接性的选项,所有这些都是选择“正确”或最佳系统的最重要因素。不太常见的是考虑SoC和系统设计,通过采用前瞻性的接口标准来平衡下面列出的每个元素,所有这些都可以显著影响整体性能和续航能力。例如,几年前,我选择了一个具有一对高性能处理器和大量内存占用的服务器来构建一个内存带宽不足的HPC集群,以支持使用所有已安装的RAM,而不会显著降低其承载的工作负载的性能。系统设计师总是需要权衡,使用可用的最佳价值组件,而不是总是最佳性能元素,以设计具有成本竞争力的系统,在市场上具有吸引力。结果将为该服务器模型可能实现的一些(但可能不是所有)配置交付平衡的体系结构。本文将概述一些不太常见的考虑因素,用于评估计算机系统和配置是否适合高性能工作负载。

首先也是最重要的是对工作负载本身的描述。给定机器最常见的计算负载的内存工作集的大小是多少?工作负载是作为紧密耦合的并行计算(依赖于用于进程间通信的高速网络结构)还是在每个服务器中独立进行计算(令人尴尬的并行),将每个处理器的核心、本地内存带宽和容量、PCIe或其他内部总线以及已安装的加速器推到其能力的极限?系统能否在功率预算范围内以峰值性能运行,而不会过热或限制时钟速率或带宽?计算中使用的关键元素之间的所有路径是否足以支持延迟、带宽和吞吐量需求以及参与设备的能力?如果您计划最大化或节省处理器规格、RAM数量、安装的设备数量,或者选择任何其他处于系统设计规范边缘的配置选项,那么您可能需要考虑这样做是否会损害系统以最高效率运行和良好地适应预期工作负载的能力。

图1:高性能计算工作负载示例。

在考虑了系统将要执行的工作并配置了主要元素(处理器类型和核心数量、RAM容量和已安装的加速器/协处理器)之后,还有一些额外的注意事项可能会对集群的生命周期和性能产生重大影响。

PCIe总线是安装在服务器上的系统处理器和I/O设备之间进行内部通信的关键接口。gpgpu和其他加速器、NIC卡、模数接口,甚至是设计用于支持视频显示的gpu,通常都依赖于此总线与CPU、系统内存以及设备本身之间进行所有通信。PCIe已经经历了几代的修订,最近开始增加CXL的复杂性和功能。每一代的PCIe都保持了向后兼容性,并且大约翻了一番- - - - - -前一代的车道带宽。今天的处理器和服务器利用PCIe Gen 4.0总线,每个通道信号高达16 GT/s,然而,处于规划新数据中心和高性能计算安装风口的设计师应该考虑下一代PCIe Gen 5.0系统,该系统将能够以32 GT/s的信号传输。支持PCIe Gen 5.0的处理器目前正在开发中,服务器可能在2023年首次亮相。最新批准的PCIe 6.0规范支持每通道64 GT/s的Gen6信号速率,并且是第一代使用PAM4信号将可实现带宽再增加一倍的PCIe,但日光可能还需要几年时间才能成为可用的服务器技术。此外,预计PCIe Gen 6.0系统主板将具有更高的内在成本,因此使用不同一代互连板的混合服务器可能会在我们稍微长期的未来出现。

图2:PCIe代的开发周期。

为了适应PAM4的复杂性,为PCIe Gen 6.0开发了低延迟前向纠错(FEC)。这种纠错协议依赖于称为流控制单元(FLIT)编码的固定大小的数据包封装方案,而不是前几代PCIe中使用的可变大小的tlp。此外,PCIe Gen 6.0引入了一种新的低功耗状态,L0p,允许功率/带宽缩放,同时节省能源。

前面提到的CXL也是一种缓存一致性协议,它在PCIe的物理层上运行,并利用了托管PCIe架构固有的外部协议协商能力。CXL还消除了一些PCIe协议固有的延迟。同样是基于flit的协议,CXL的第一个实例将被视为版本1.1,这与第二代CXL 2.0一起将首先在PCIe Gen 5.0上引入。CXL 3.0规范已经接近完成。与早期一些标准化对称缓存一致性协议(如CCIX或GenZ)的尝试不同,CXL提供了非对称一致性,通常在主机处理器的监督下。这种架构的一个优点是可以大大降低本机PCIe互连上的通信延迟。CXL的所有版本都在协议规范中定义了三种设备类型。这些设备类型中的每一种都由三个通信协议(CXL)的子集定义。io, CXL。mem和CXL.cache)。

  • 类型1:支持CXL的加速器/无独立内存的网卡。io和CXL.cache
  • 类型2:具有板载内存的加速器设备,如gpgpu和更高级的smartnic,支持所有三种协议CXL。io, CXL。mem和CXL.cache
  • 类型3:用于内存扩展的设备,如固态存储、持久内存或支持CXL的DRAM设备。cache和CXL.mem

要使用CXL,系统处理器和至少一个设备必须能够支持该协议,但并不是每个设备都需要支持CXL。原生PCIe协议仍将在支持CXL的系统上运行,但设备不知道CXL协议。CXL的一些共享和/或池功能可能需要外部fabric交换,未来的系统可能会基于这一点构建面向外部的PCIe或CXL端口。虽然关于该规范的更多细节超出了本文的范围,但可以在以下站点找到更多信息https://www.computeexpresslink.org

内存架构(控制器和总线)是另一个需要进行额外检查的领域。正如前面提到的,内存带宽限制了每个核心可用的容量,许多代码都有很大的工作集,对这个接口非常敏感。与PCIe不同,DDR内存的最大速度固定于给定的代和DIMM类型。今天的服务器支持DDR4内存,但明年DDR5的前景将更加突出,支持每引脚高达6400Mbps,整体最大带宽达到51 GB/s,以及更高的内存密度——高达2Tb / DIMM!由于现代处理器处理数据的速度甚至快于内存总线传递数据的速度,因此一个CPU能够支持的本地内存实际数量是有限的。NUMA体系结构因此在多cpu服务器中很常见,它是在20世纪90年代早期作为对称多处理体系结构(SMP)的改进而开发的。由于直接内存连接在多个cpu之间分配,当数据既不缓存也不位于本地NUMA域中时,性能严重依赖于快速的cpu内部互连。这对应用程序具有深远的影响,这取决于应用程序工作集是否适合单个NUMA域和/或单个处理器中的给定CPU核心集。为了支持DDR4/5内存总线的多通道,CPU所需要的连接将socket技术推向了极限,每个处理器需要1700个或更多的引脚!

除了考虑DRAM内存之外,固态内存或NVME存储可以利用PCIe总线实现连接。CXL type 3(内存)设备很有希望改变系统附加内存的范式,它为使用各种内存类设备的内存扩展强制了一组通用的64字节可寻址语义,并通过在交换CXL fabric上通过被称为“池化”的分解实现远程访问,从同一fabric上的其他系统借用未使用的内存。CXL 3.0引入了使用相同语义在多个系统之间共享内存的能力。当操作系统在内存子系统中开发更复杂的分层支持时,这种功能不仅可以增强应用程序性能,而且如果系统可以依赖于聚合而不是完全依赖于本地内存容量进行计算,那么它还有望实现显著的节省。最后,还有一个用于高带宽内存(HBM)的标准,通常在加速器中找到。它目前是HBM3,支持高达1.075 TB/s的带宽!虽然更好地将内存性能与处理器带宽匹配看起来很有吸引力,但形式因素标准化的挑战、较低的容量和成本因素目前阻止HBM内存完全取代DDR成为主要系统内存。

以太网是另一项需要考虑的重要技术。在为HPC设计的服务器中,用于以太网连接的内置数据端口通常至少支持两个功能。其中之一提供了对带外管理处理器接口(即:IPMI或Redfish)的访问,通过该接口可以打开或关闭服务器、监视和管理服务器。第二个通常用于交互式地访问驻留在系统处理器上的操作系统。这些端口通常是千兆以太网端口,以低成本提供重要功能。但是,它们太慢了,不能用作集群高速互连来访问共享存储和进程间通信(IPC),如MPI或SHMEM。当然,解决方案是通过PCIe附加网络接口卡(NIC)提供更多更快的通信端口。

以太网结构不仅支持集群内的通信,还可以用于扩展一个或多个数据中心中多个集群位置之间的连接,可以通过专用连接,也可以通过internet。以太网当然需要访问云托管的HPC资源,这些资源在托管或突破HPC工作流方面变得越来越流行,这既是一种控制基础设施成本的方式,也是对大流行导致的面对面接触限制的响应。与InfiniBand相比,这些因素为使用以太网作为主要集群互连技术创造了巨大的优势,InfiniBand需要网关才能访问任何互联网提供的连接。在x16 PCIe Gen 4.0总线上可以完全支持一个200 Gbps以太网端口,但交换以太网速度目前可能达到400 Gbps, 800 Gbps很快就可以实现,1.6 Tbps已经在标准化范围内。如果您选择以太网作为您的主要集群互连结构,那么您将希望每个服务器上至少有一个100 Gbps端口——可能使用断开电缆从单个400 Gbps交换机端口以100 Gbps的速度馈电最多4个系统,并将全带宽高速以太网的范围限制在交换机结构和数据中心互连域。对于800 Gbps,几乎肯定会有8×100 Gbps的电缆解决方案可用。HPC系统集群互连需要性能卸载特性,如RoCEv2(融合以太网上的RDMA),服务器访问不同vlan标记的流量,以及灵活的数据包大小支持,如用于存储(数据)访问的巨型帧。如果需要隐私保护或遵守HIPAA或GDPR等法规,MACsec支持可能是优先考虑的。低延迟、低功耗、灵活的数据包大小、全功能和可互操作的以太网端口的复杂性和成本要求在hca和交换基础设施中使用经过验证的以太网IP构建的soc,以负担得起的成本为所需的所有服务器端pci连接适配器、电缆和交换机提供和优化功能齐全的HPC结构。

图3:数据中心用于高性能计算的以太网结构。

总之,为您的HPC集群选择的服务器架构可能会持续几年,并且随着它的老化和托管工作流的变化,局限性可能会变得更加显著。大多数情况下,由于正在运行的大量用户作业,在生产过程中升级原始服务器在逻辑上是不可能的。为了添加更新的系统来扩展集群,它们必须与现有的任何网络、空间、电源和冷却基础设施集成。规划和选择既能承受并适应所有托管应用程序工作流程,又能提供加速性能的技术和标准,值得事先进行一些认真的分析。本文中提到的考虑因素,虽然不是详尽的,但对于设计的寿命肯定是至关重要的。精心选择的服务器没有理由不将集群寿命延长到系统本身的保修范围之外。



留下回复


(注:此名称将公开显示)

Baidu