APP下载

高性能计算集群中的网络技术研究与实践

2016-12-14段媛媛

关键词:存储系统山洪队列

刘 颖,陈 煜,林 林,段媛媛

(中国水利水电科学研究院 信息中心,北京 100038)

高性能计算集群中的网络技术研究与实践

刘 颖,陈 煜,林 林,段媛媛

(中国水利水电科学研究院 信息中心,北京 100038)

随着高性能计算技术及计算规模的快速发展,网络通信速度的发展已远远落后于CPU的发展,网络性能已成为高性能计算集群发展的瓶颈。全国山洪灾害防治管理平台,需要海量数据存储能力和高速度、大容量、高精度计算处理能力,为了打破网络通信速度对高性能计算集群速度的制约,采用InfiniBand互连结构有效的缩短网络和CPU之间的性能差距,使高性能计算集群的整体性能趋于平衡。本文结合全国山洪灾害防治管理平台高性能计算集群的建设实践,针对其中的专用网络技术研究及网络环境的搭建作了重点阐述。

高性能计算;高性能计算集群;并行计算;网络技术;InfiniBand

1 研究背景

高性能计算集群是当前较为先进的计算体系,是融合了计算、存储、网络和软件的综合体[1]。在构建整个系统的过程中,要保证架构的每个环节采用先进且成熟的产品与技术,要均衡各环节之间的关系,消除系统构架的瓶颈,保证整个系统的高效率运行,可以满足未来数年技术和应用发展的需要。集群系统的主要考核指标是整体性能,即计算、存储、I/O能力与智能管理的体现[2]。

Infiniband网络通过一套中心Infiniband交换机在存储、网络以及服务器等设备之间建立一个单一的连接链路[3]。由中心Infiniband交换机来控制流量,提高系统性能、可靠性和有效性,缓解各硬件设备之间的数据流量拥塞,有效的解决传统I/O结构的通信传输瓶颈。

全国山洪灾害防治管理平台支撑2 058个县的山洪灾害预警预报,需要海量的数据存储能力和计算处理能力,高性能计算集群是提高全国山洪灾害防治管理研究水平的重要基础设施。集群中所有节点均保证充足的计算能力,节点间使用56Gb/s的Infiniband网络高速互连,以保证通信密集型并行应用对互连网络的性能要求。

2 高性能计算集群网络通信技术

高性能计算(High performance computing,HPC)指通常使用多个处理器或者某一集群中组织的几台计算机的计算系统和环境。大多数基于集群的HPC系统使用高性能网络互连[4]。高性能计算集群(High performance computing cluster,HPCC)主要应用于科学计算、气象分析、地质勘探等领域。这一类应用计算量大,中间计算结果多,要求有高效的消息传递机制和海量数据存储访问能力,而这两者的效率,很大程度上取决于网络速度[5]。目前绝大部分的应用课题都采用MPI(Multi Point Interface,多点接口)传递消息和并行处理。在传统网络上运行MPI课题时有两个显著的问题:消息传递慢、系统CPU占用率高。而海量数据存储访问在HPCC中一般是通过共享文件系统来实现的,传统网络上的共享文件系统也有两个显著的缺点,即速度慢和并发访问能力差。而使用Infiniband技术的主要目的就是解决这两个方面的问题。并行计算(Parallel computing)基本思想是用多个处理器来协同求解同一问题,即将被求解的问题分解成若干个部分,各部分均由一个独立的处理器来计算。并行计算既可以是专门设计的、含有多个处理器的超级计算机,也可以是以某种方式互连的若干台的独立计算机构成的集群。

Infiniband技术是一种基于全双工、交换式串行传输的新型I/O总线网络技术。简化并且提高了服务器间连接的速度,还能与远程存储设备和网络设备相连接。该项技术具有延时低、带宽高、互操作性、可靠性和可扩展等特性。

2.1 In finiband的层次结构 与传统的TCP/IP网络相同,Infiniband网络也采用多层次结构[6]。每层协议均不相同并且相互独立。在消息传送过程中,各层负责不同的任务,下层为上层提供服务,上层依赖于下层实现功能。Infiniband采用IPv6报头格式,其数据包报头包括全局路由标识符(Global Routing Header,GRH)、本地路由标识符(Local Routing Header,LRH)和基本的传输标识符(Base TransportHeader,BTH)等。Infiniband的层次结构如图1所示。

图1 Infiniband的层次结构

2.2 In finiband的通信机制 Infiniband借鉴了虚拟接口结构(Virtual Interface Architecture,VIA)标准实现网络通信。VIA是由Intel、Microsoft和Compaq共同开发的用户层互连协议标准,目的是避免传统网络协议的过度开销和延时。VIA由4个基本部分组成,包括虚拟接口、完成队列、VI提供者和VI用户。虚拟接口由一对工作队列组成,即发送队列和接收队列。VI提供者由一个物理网络适配器和一个软件核心代理组成。VI用户由一个应用程序和一个操作系统通信基础设施组成。VI用户将请求以描述符的形式发送至工作队列中,以达到发送或接收数据的目的。VI提供者异步处理工作队列中的描述符。每一个工作队列都有一个相关的提醒机制,提醒机制会通知VI提供者工作队列中有新的描述符等待处理,提醒机制由适配器直接实现而不需要操作系统的介入。完成队列则允许VI用户将多个工作队列中描述符的完成情况进行合并报告。

作为VI用户,应用程序通过操作系统的通信接口与VI用户代理进行交互。VI用户访问网络硬件资源时,由VI用户代理先向内核登记用户缓存,随后将控制转给VI核心代理。VI核心代理作为VI的提供者,将应用程序所划出的缓存控制交给网络适配器。这些缓存通过队列进行分配,而队列则通过驱动程序和网络适配器进行管理,应用程序使用这些队列在系统之间读写数据。VI应用程序要发送数据,首先将数据存储位置的指针等信息组成一个描述符送进VI队列对中,网络适配器在后台对其进行读、写和RDMA等操作[7]。这样就避免了传统协议在数据通过网络协议栈时所做的多次数据拷贝和上下文切换的开销,实现零拷贝,大幅度节省了数据传输响应时间。

3 高性能计算集群网络通信模型

高性能计算集群主要由并行计算节点、管理节点、I/O节点、网络互联系统及其他辅助设施组成。高性能计算集群具有优异的可扩展性,用户可以根据自己的需求随时增减系统中节点的数量[8]。在将来计算能力需要扩充时,只需要增加一定数量的节点数目,即可在不影响当前应用的情况下,扩展整个系统的计算与存储能力[9]。

全国山洪灾害防治管理平台高性能计算集群使用刀片集群架构,提供64个刀片节点,配置并行存储系统。网络互联采用InfiniBand技术,提高网络性能,保证计算集群数据通信的需求。

3.1 并行计算网络 以MPI为代表的高性能计算程序,在多节点并行运行时将产生有频繁大量的网络数据通信,计算网络的性能对于并行程序的计算性能、并行加速比以及可扩展性都具有决定性的影响。因此,在实际应用中,大部分并行应用程序对计算网络的带宽和延迟性能都非常依赖,低延迟、高带宽的计算网络是大规模并行计算必不可少的要素之一。

目前大规模高性能计算集群均采用分布式并行存储架构,集群的规模越大,应用程序对存储I/O性能要求越高,则对并行存储系统的存储网络性能要求越高。

为了降低网络延迟,提高并行和存储I/O性能,全国山洪灾害防治管理平台高性能计算集群采用了目前性能较高的56Gb/s FDR InfiniBand高速网络,用作并行计算程序的计算网络以及并行存储系统的存储网络。并行计算网络配置3台36端口FDR InfiniBand交换机,共108个FDR端口。InfiniBand网络的拓扑结构如图2所示。

图2 InfiniBand并行计算网络拓扑结构

56Gb/s FDR Infiniband是目前带宽较高、延迟较低的产品,网络带宽是QDR的两倍,延迟只有0.7μs,是QDR的一半。FDR InfiniBand的56Gb/s带宽和64位/66位编码方式实现了接近100%的传输效率,700纳秒的点对点延时,第一次将通用网络的带入了纳秒时代,实现了在应用延时上的数量级革新。

56Gb/s FDR Infini Band网络相比其上一代的40Gb/s QDR Infiniband网络,性能得到了非常大的提升。主要体现在网络传输性能的提高、网络编码效率的提升和PCI-E 3.0编码效率的提升。FDR InfiniBand网络与QDR InfiniBand网络的性能对比如表1所示。由表1可见,QDR InfiniBand网络由于编码效率的影响,带宽仅能达到3.2 GBps;而FDR InfiniBand网络带宽可达到6.6 GBps。

表1 FDR InfiniBand网络与QDR InfiniBand网络的性能对比

3.2 并行存储网络 计算分析任务会读写大量数据文件,从而对存储系统的读写性能要求很高,如果使用集群外部的NAS存储,其性能完全不能满足高性能计算的存储I/O需求,会形成为业务运行的要害瓶颈。因此全国山洪灾害防治管理平台为高性能计算集群建立并行存储系统,存储介质也有针对性的采用SSD+SAS结构,大幅度提高了存储系统的I/O能力。

存储系统包含2台索引控制器和3台数据控制器。2台索引控制器双活冗余,负责存储系统的监控管理。3台数据控制器负责数据访问请求,每台配置18.96 TB裸容量(包括20块900GB SAS硬盘和4块240GB SSD硬盘)。系统控制节点、计算节点等客户端通过FDR InfiniBand网络访问并行存储系统。InfiniBand网络连通计算集群和存储集群,提高网络存储效率、I/O能力以及网络通信性能,以保证全国山洪灾害防治管理平台通信密集型并行应用对互连网络的性能要求。InfiniBand网络拓扑结构如图3所示。

图3 InfiniBand网络拓扑结构

3.3 管理网络 管理网络连接并行计算控制节点、并行计算节点、存储节点等设备,实现系统中所有节点的连通[10]。管理网络用于系统管理控制、系统监控、作业的递交、作业监控管理等方面的数据通讯。

全国山洪灾害防治管理平台的管理网络对网络性能和网络存储的要求较低,没有大量的I/O操作,因此搭建管理网络,使用普通的48口千兆交换机搭建千兆管理网,而不采用InfiniBand网络,以减少平台搭建费用。高性能科学计算集群拓扑如图4所示。

图4 高性能科学计算集群拓扑

4 高性能计算集群性能分析

高性能计算集群性能主要由InfiniBand网络性能和集群计算效率决定。本文通过双向带宽和网络延迟两个主要指标测试网络性能;实用linpack测试集群计算效率。

4.1 In finiBand网络性能测试 InfiniBand网络性能测试主要从双向网络带宽和网络延迟两方面进行测试。

双向网络带宽测试。在网络中选取两个节点node1和node2。在节点node2上启动ib_w rite_bw命令服务端,具体命令及参数为:ib_write_bw-b-s 2,参数中的2为测试带宽时所用传输数据块大小。在node1启动ib_w rite_bw命令客户端,具体命令及参数为:ib_write_bw-b-s 2 inode2。

双向带宽测试结果如表2所示。

表2 双向带宽测试

通过上面的测试结果可以看出,节点间的双向带宽为11663MB×8bit/Byte=93.3Gb,单向带宽约为46.65Gb/s。

网络延迟测试。在网络中选取两个节点node1和node2。在节点node2上启动ib_write_lat命令服务端,具体命令及参数为:ib_w rite_lat-s 2,参数中的2为测试带宽时所用传输数据块大小。在node1启动ib_write_lat命令客户端,具体命令及参数为:ib_write_lat-s 2 inode2。

网络延迟测试结果如表3所示。

表3 网络延迟测试

两节点间的网络延迟约为1μs。

4.2 linpack测试 Linpack是国际上最流行的用于测试高性能计算机系统浮点性能的标准。通过对高性能计算机采用高斯消元法求解一元N次稠密线性代数方程组的测试,评价高性能计算机的浮点性能。Linpack测试包括三类,Linpack100、Linpack1000和HPL。Linpack100求解规模为100阶的稠密线性代数方程组,只允许采用编译优化选项进行优化,不得更改代码和注释。Linpack1000要求求解1000阶的线性代数方程组,达到指定的精度要求,允许在不改变计算量的前提下在算法和代码上进行优化。HPL(H igh Performance Linpack,高度并行计算基准测试)对数组大小没有限制,求解问题的规模可以改变,除基本算法不可改变外,允许采用其它任何优化方法。

全国山洪灾害防治管理平台的HPC集群总共配置64个刀片计算节点,通过不断调整和优化相关测试参数,测试得到HPC集群linpack效率较高时的运行参数和结果数据如表4所示。HPC集群linpack效率为101.36%,计算效率表现优良。

表4 HPC集群linpack测试结果

5 结论

全国山洪灾害防治管理平台高性能科学计算集群,采用InfiniBand网络技术实现节点间的数据通信,集成后的集群整体计算能力经Linpack测试达到双精度浮点12万亿次/s;计算网络节点间的单向带宽约为46.65 Gb/s,网络延迟约为1μs,数据通信效率明显提升,有效的保证了全国山洪灾害防治管理平台计算密集、存储密集、通信密集型应用对集群内部各节点互连网络通信性能的特殊要求。

[1] Rajkumar Buyya.High Performance Cluster Computing:Architectures and Systems,Volume I[M].Architectures&Systems,1999.

[2] 张军华,臧胜涛,单联瑜,等 .高性能计算的发展现状及趋势[J].石油地球物理勘探,2010,45(6):18-20.

[3] 谢向辉,彭龙根,吴志兵,等.基于InfiniBand的高性能计算机技术研究[J].计算机研究与发展,2005,42(6):906-908.

[4] 周兴铭.高性能计算技术发展[J].自然杂志,2011,33(5):249.

[5] 何素贞,李书平,吴晨旭.高性能计算集群系统的设计和实现[J].厦门大学学报,2004,43(6):880-881.

[6] 沈利.Infiniband网络接口的研究和实现[D].长沙:国防科学技术大学,2010.

[7] 徐志斌.基于Infiniband体系架构的集群计算机互联系统的研究[D].上海:上海大学,2007.

[8] 顾梦非,徐炜民.一个基于Linux的集群部署方案[J].计算机应用与软件,2008,25(1):103.

[9] 孙超.高性能计算平台的设计与应用[D].天津:天津大学,2013.

[10] 王勇超.高性能计算集群技术应用研究[D].西安:西安理工大学,2007.

Research and practice of high performance computing cluster network technology

LIU Ying,CHEN Yu,LIN Lin,DUAN Yuanyuan
(Information Center,IWHR,Beijing 100038,China)

With the development of technologies and scale of high performance computing,the improvement of communication speed is far behind the evolution of CPUs,and network capability becomes a significant restriction for the development of technologies of high performance computing cluster.National mountain flood prevention and management plat form demands a huge amount of capability of both storage and computing.In order to break the constraints on the performance of high-performance computing cluster,which originated in network communication speeds,applying the interconnect structure of InfiniBand that effectively diminishes the performance gap between the network and CPU and makes the performance of high performance computing tend to the balance.In this paper,the construction practice of high performance computing cluster is combined with the National mountain flood prevention and management platform.The network technology and construction of network environment is elaborated.

high performance computing;high performance computing cluster;parallel computing;network technology;InfiniBand

TP311.13

A

10.13244/j.cnki.jiwhr.2016.02.002

1672-3031(2016)02-0090-06

(责任编辑:王冰伟)

2015-08-28

资金项目:中国水利水电科学研究院专项(IT0145C01201500000)

刘颖(1986-),女,河北正定人,硕士生,工程师,主要从事网络通信技术、高性能计算等研究。E-mail:liuying@iwhr.com

猜你喜欢

存储系统山洪队列
分布式存储系统在企业档案管理中的应用
队列里的小秘密
基于多队列切换的SDN拥塞控制*
优雅地表达
天河超算存储系统在美创佳绩
在队列里
丰田加速驶入自动驾驶队列
华为震撼发布新一代OceanStor 18000 V3系列高端存储系统
三维激光扫描技术在山洪灾害调查中的应用
湖北省山洪沟治理思路浅析