服务器 频道

Infiniband:新一代集群系统的新宠

    【IT168 专稿】InfiniBand 在2001年完成第一颗芯片的流片之后,关于这种技术的种种话题就热闹起来。在HPC、存储等领域经历了起起伏伏,为了给大家一个清楚的对InfiniBand(以下简称为IB)的认识,本文对该技术以及目前的应用情况进行一个综述性的介绍。

IB:新一代集群的新宠

    传统的集群架构一般需要有三套网络来支持集群中不同数据的传输:存储、管理(TCP/IP)和计算(MPI)。问题是系统日常硬件管理工作非常复杂,一旦需要对系统进行扩展,意味着巨额的成本投入和工作量,例如需要增加10个节点,即需要增加30片卡,同时增加大量的线缆,需要对三套网络进行重新配置。产生该问题的根源在于这是传统集群的特点——以计算节点为核心进行构建集群,如图1。

图1 以计算节点为核心的传统集群

    所以,为了解决传统集群中由于采用计算节点为核心的网络架构所带来的“性能差,结构复杂和扩展能力差”等问题,业界提出了集群架构转变为以交换为核心的体系架构。然而,为了满足这种要求,必须要有一套开放、高带宽、低延迟、高可靠以及满足集群无限扩展能力的交换网络和技术,IB技术应运而生。图2 是以交换为核心的新型集群架构。即节点之间采用IB互联,直接连接到IB交换机,而其他所有网络比如存储、以太网、FC等网络都通过IB交换扩展,即直接形成了以IB交换机为核心的集群系统。

图2 以交换为核心的集群系统

IB:发展历程潮起潮落

    IB是由IB行业协会所倡导的,IBTA (Infiniband Trade Association)于1999年成立,协会先后主要成员有:康柏、戴尔、惠普、IBM、Intel、微软和Sun。从历史的角度看,IB代表了两种计算潮流的融合:下一代I/O(NGIO)和未来的I-O(FIO)。大部分NGIO和FIO潮流的成员都加入了IB阵营。

    IB发展也是经历了两次浪潮,当IB第一次提出时受到了主流服务器生产链上的厂商的一致青睐和热捧,但由于协议的问题以及软件支持的问题,以及最初的定位问题,导致应用受到限制,包括Intel等厂商一度撤出投资。但随后在2004年IB调整了定位,立足于计算机群的应用,主要在服务器之间以及同存储设备的高速互联,同时在软件方面,成立了开源的OpenIB组织,提供软件管理和驱动等方面的支持,甚至推出了IP over IB的协议转换,可以直接在IB设备上跑TCP/IP协议,这样在HPC领域IB又得到欢迎,图3 是目前全球HPC top500的超级计算机采用IB网络的趋势,从图中可以看出IB在HPC领域的应用中正在迅速增加。

图3 IB互联在top500上席位在不断增加

IB技术架构的发展新趋势

    Infiniband架构(IBA)正在朝集群等高端计算应用领域发展,这些应用要求有故障恢复、高可用性、可靠性及耐用性等特性。IBA 支持模块至模块以及机箱至机箱互连,可以X1、X4及X12三种形式应用并采用2.5GHz时钟,目前Infiniband主流技术为DDR技术,所支持的吞吐量为5、20或60Gbps,占用8B10B 编码开销。在下一代的技术采用QDR,带宽将再次提高一倍,最高可达120Gbps。为提供必要的QoS,该标准还提供了16级可映射到16个服务层的虚拟通道。基于信用的流控制及注入速率控制机制,被用来提供必要的拥塞管理。

    IB目前推荐fat-tree(胖树结构)或者3d-TOUS连接,采用网络无阻塞技术,可以使每个节点间通讯无阻塞。它定义了用于可靠消息传送(发/收以及DMA)的硬件协议,但未定义消息内容。硬件协议允许从操作系统的内核及用户空间来传送数据。

    Infiniband支持诸如配置与资产管理、错误报告、性能指标收集以及拓扑管理等结构服务。它天生就使用IPv6包头来在IBA结构与互联网之间有效地交换数据。该架构具有更高的可扩展性、可用性、隔离度以及更少的CPU使用率,而且还支持互联网技术。它以单独控制与存储器接口来控制数 据进出节点的存储器。图4 是IB原型的分层架构情况,从硬件层到上层软件应用层。

图4 IB分层架构

剖析IB网络组成结构

    为了使IB有效地工作,IB标准定义了用于系统通信的多种设备,包括信道适配器、交换机和子网管理器。如图5所示为IB网络以及各部件。

图5 IB网络组成部分举例

1)IB信道适配器:用于IB结构同其他设备之间的连接,IB标准有两种类型的信道适配器,一种是主机信道适配器(HCA),另外一种是目标信道适配器(TCA)。

    HCA卡提供了一个对于Web server等主CPU和存储子系统的接口,并支持IB结构所定义的所有软件动词。这里所说的软件动词是指对客户软件和HCA功能之间接口的一种抽象定义。软件动词并不为操作系统指定API,但它定义了操作系统厂商可能用来开发适用应用程序接口的操作。而TCA提供IB到I/O设备的连接。这种IO卡可以是一种网络接口卡(NIC),它包含了每种设备特定操作所必需的部分功能。

2)IB交换机:是IB结构中的核心部件,类似千兆以太网中的网络交换机,一般含有多个端口,它能根据本地路由器包头所含的第二层地址(本地ID/LID)将数据包从一个端口送到另一个端口。交换机只是对数据包进行管理,而自己并不生成或使用数据包。同信道适配器一样,交换机也需要子网管理代理(SMA)以响应子网,管理数据包。交换机可以通过配置来实现数据包的点播和组播。

3)IB线缆:定义了三种链路速率,分别为1X,4X,12X,此标准同时也定义了铜导线和光纤在内的物理介质。此外,还定义了用于铜缆和光纤标准连接器和电缆。铜缆上1X链路采用4线差分指令(每个方向1对差分线),可提供SDR2.5Gbps,DDR=5.0Gbps,QDR=10Gbps的全双工的连接。其他链路速率都是建立与1X链路的基本结构上,一条IB 1X链路的理论带宽如上文所述,但由于采用8b/10b解码,所以实际数据速率是2/4/8Gbps,由于链路具有双向性,所以全双工的数据速率为4/8/16Gbps。

4)子网管理器:对于本地子网进行配置并确保能够连续运行,所有的信道适配器和交换机都必须实现一个SMA,该SMA同子网管理器一起实现对通信的处理。每个子网必须至少要有一个子网管理器来进行初始化管理以及在链路连接或者断开时对子网进行重新配置。通过仲裁机制来选择一个子网管理器作为主子网管理器。其他子网管理器工作在待机模式,在每个处于待机模式下的子网管理器都会备份次子网的拓扑信息,并检验此子网是否能够运行。如主子网管理器发生故障,一个待机子网管理器接管子网管理以保证不间断运行。

IB:在竞争中不断发展

    IB网络有着高带宽、低延迟的特点,目前可以直接连接服务器、存储设备以及以太网络。相对于其他网络专网专用而言,IB提供了比较完备的虚拟化支持,可以在一套网络中同时进行管理、存储、高速交换的操作,并且提供开放的标准,下表是IB相对于10Ge,Myrinet,Quadircs等高速网络的比较,从表一中可以看出IB有着比较明显的优势,其将来的发展势必更加迅猛。

    目前提供IB产品的公司有Mellanox,主要的HCA芯片以及Switch芯片提供商,同时提供HCA卡。Sliverstorm公司提供HCA卡,Switch以及IB 到FC的转换模块等。Topsbin提供IB交换机,目前该公司被Cisico收购,也说明了Csico对该技术比较看好。同时还有Voltaire等厂商都提供IB交换机等设备。

    目前主要产品是HCA卡以及IB交换机、TCA模块等。其中主要的芯片提供商为Mellanox,该公司提供HCA芯片,24口交换芯片,同时还提供HCA卡,分别有不同接口(pci-x/pci-e),不同速率(SDR,DDR)等,通用HCA卡中最大带宽为20Gbps的X4 DDR或者X8 SDR的HCA卡,其实目前的限制主要取决于PCI-e的带宽限制,最新的HCA芯片目前可以达到QDR的速度,也就是说每一个link目前可以达到10Gbps,如果是基本的X8 QDR的接口最大支持80Gbps。

    对于IB交换机,厂商比较多,有Cisco(收购了Topsbin提供IB交换机产品线)、Silverstorm、Voltaire 等厂家,交换机有从24口到288口不等。

    而TCA模块一般由存储厂商,或者其他设备厂商在自己的产品中提供模块接口,可以直接连接到IB交换机上。线缆和连接器的提供商也有很多,包括TYCO,MOLEX,FUJUCHU等厂商。

    目前以上提到的产品都可以在市场上直接可以买到。

    从上文的介绍可以看出,IB网络经过了几年的发展和重新定位,目前定位于计算网络、存储网络的应用,同其他计算网络比较而言具备带宽、延迟和性价比的优势,最终将会得到越来越广泛的应用。

0
相关文章