(南京南瑞集团公司信息系统集成分公司211106)
摘要:高性能网络连接是高性能计算系统硬件中的一个环节,其带宽和延迟影响到系统整体性能,高性能计算使用典型的网络架构是胖树结构,这里我们讨论一直新型的网络,它的性能和造价优势。
关键词:高性能计算;网络延迟;胖树;蜻蜓网络;MPI
概述
系统中的瓶颈只会变化,但无法消除,我们所处的时代计算几乎免费,但搬运计算数据却成为系统性能的障碍——从缓存和主内存到集群内连。近年来高性能计算系统内连有很大进步,在仿真、建模、分析等领域,将计算引擎连接到一起的网络有很多选择。
很多HPC应用的通信模式具有最近的邻居,或干脆就在本地,这个特点反映了底层物理过程模拟的本地化。规整数据分解算法的应用在相邻节点间网络连接的冰箱系统中解算效率较高。高维应用或非结构化网络或自适应网络细化技术在并行机上分发需要长距离通信,某些重要的算法类别需要非本地通信。例如,傅立叶变换每一步产生两个非本地交换,这种应用在本地连接的机器上运行,数据包在源和目标节点之间会经过很多跳,每一跳会增加网络负载,同时有多个任务时会产生额外的网络负载。同一个网络中存在两个或更多任务时发生流量争抢,节点任务调度或访问文件系统都会产生额外的负载。
网络结构
“胖树”是构建集群和主流高性能计算系统使用的一种网络,全局带宽与注入带宽相等,胖树网络以确定基数k个交换机构建,全带宽网络中,一半端口下连节点,一半上连到增加的交换层,顶层交换所有端口都下连。一个S层的网络可以连接的节点数量是2×(k/2)S。
考虑InfiniBand网络用36口交换机构建成胖树网络,每个机箱有18个刀片,有18个连接彼此相连,机箱可以连接18个108口交换机,网络节点可以多达1944个。不如,如果系统有2000个节点,那么就需要144或216口交换机的机箱相连,很多网络端口不能用。将系统从1500节点升级到2000节点,要求增加顶层交换机基数,大大增加了成本。三层系统最大容量可以达到2×183=11664端口。
蜻蜓网络是一种“直接”网络,不需要额外的外部上层交换,同等全局带宽使用的光纤线路比胖树结构少。设计出发点要得到比高基数交换机更小的网络直径。理想情况下,交换机有足够的端口连接到别的交换机,网络直径就是1,但这种拓扑不适合大型系统。一组交换机连成一个,大量交换机把链路池化,交换机群就有足够的链路直接连到系统中别的交换机群。这是蜻蜓网络的关键思想。
全局带宽=链路带宽×每群全局链路×群数量
对于大型系统,全局带宽等于每个群与其他群连接数的两次折半,全局带宽随系统规模线性增长。除最大系统以外,每个群的全局链路多于字组链路,这样每个组对之间有多个连接。不需要全局全域带宽的情况下,全局网络可以减少成本。
蜻蜓网络中,两个节点间最短路径称为“最小”路径,在群内,也可以在群间,群间最小路径需要群间的电路或光路连接。蜻蜓网络是高带宽、低跳数的网络拓扑,用较少的扩展连接提供可扩展的全局带宽,没有外部交换机,使用的光纤相当于胖树网络的一半,而且高度模块化、支持复杂的系统配置,最大支持节点数可达92544。
网络单元
每个设备包含一个片上系统,含有4个网卡和作为网络连接的48口交换和复用,只需要电缆和设备之间的背板,就可以为4个节点提供网络连接。设备上的网卡有独立的16×PCI-e接口,复用器负责动态负载平衡,根据端口负载分发数据包,交换机将8个网卡端口(网卡是双端口)连接到40个网络接口,达到每个口4.7到5.25GB/s的直连速率,包括群内和群间链路。
网卡基于硬件管道,节点通过网卡发出命令,网卡将请求分包发送到网络,经交换机传到目标网卡。
系统运行内存分布式应用,为避免不必要的网络开销,只缓存本地节点内存,远程访问采用即时读写和颗粒化操作。网络地址包括三部分组成:18位的节点识别码,12位内存字段句柄关联远端节点的内存字段寄存器,40位段偏移。70位的网络地址可以实现整个系统全局访问。输入/输出内存管理单元将虚拟地址翻译成目标节点物理地址。二层翻译支持Linux4KB页,单层翻译支持高达64GB的超大页。
性能
对于所有-所有的应用,每个节点的流量统一传输到所有其他节点,全局带宽控制着性能,所有链路都参与。峰值全局带宽是对于全网,每个节点11.7GB/s,除去效率开销相当于每个方向7.5GB/s。静态网络交换机之间每一跳增加100ns延迟,自适应路由硬件会选择最小路径,系统最大时任何两个节点间延迟小于2μs。
下图是高性能计算中最重要的MPI速率测试结果。
参考文献
[1]J.Kim,W.J.Dally,S.ScottandD.Abts.“Technology-Driven,Highly-ScalableDragonflyTopology”InProc.oftheInternationalSymposiumonComputerArchitecture(ISCA),pages77-88,2008.
[2]TheGeminiSystemInterconnect.BobAlverson,DuncanRowethandLarryKaplan,CrayInc.High-PerformanceInterconnectsSymposium,pages83–87,2010.