账号:
密码:
最新动态
产业快讯
CTIMES / 文章 /
InfiniBand之技术架构介绍
实现高​​速I/O的新标准

【作者: 景元】2002年11月05日 星期二

浏览人次:【14265】

随着通讯处理速度的不断加快,10Gbps、100Gbps的时代即将来临,传统的输出入(I/O)标准和系统,例如:PCI、乙太、光纤网路,已经无法跟上这个脚步﹔因此如何将旧有的设备或产品,升级为高速的通讯系统,正是系统业者目前普遍苦恼的问题。


InfiniBand标准的产生就是为了解决PCI等传统I/O架构的通讯传输瓶颈。该标准采用点对点的交换架构,提高了容错性能和扩展性,用硬体实现10Gbps的数据传输、采用虚拟通道(virtual channel)方式实现QoS,同时藉由循环冗余检测(Cyclical Redundancy Check;CRC)来保证信号的完整性。本文将深入探讨InfiniBand标准以及该标准对通讯系统设计的影响。


传输瓶颈是核心问题

随着通讯速率的持续增加,设计业者必须不停地去发现和解决系统架构的瓶颈,但是他们可能会忽略系统之外的一些问题。建构出数据速率达到10Gb的架构具有很大的挑战性,但是真正的挑战是这个架构不仅要能产生10Gb的数据流,而且在各系统或各单元之间的数据传输率也必须达到10Gb,这就是InfiniBand所关注的核心问题。


这个要求是不可能在目前的I/O架构中被实现的。因此,我们需要一种新的I/O方法,该方法用硬体实现高性能的可靠传输。而InfiniBand就是能满足这种要求的技术。 InfiniBand架构是为了解决当今系统间之通讯问题而设计的,该标准得到戴尔、惠普、IBM、英特尔、微软和升阳等传统电脑公司的支援。由于该标准采用交换架构并支援10Gb传输速率,而且有Wintel集团、电脑龙头厂商们的赞助,使得越来越多人开始注意到这个标准的未来发展。


InfiniBand的架构

在了解InfiniBand标准的优点之前,先介绍一下InfiniBand子网路的基本单元。为使InfiniBand能有效地工作,InfiniBand标准定义了一套用于系统通讯的多种设备,包括通道配接器(channel adapter)、交换器(switch)、路由器(router)和子网路管理器(subnet manager) ,如(图一)。在一个子网路内必须至少有一个子网路管理器来对InfiniBand架构做初始化以及维护。


@中标:通道配接器:


用于InfiniBand架构和其他设备的连接。 InfiniBand标准中有两种类型的通道配接器,一种是主通道配接器(host channel adapter;HCA),另外一种是


目标通道配接器(target channel adapter;HCA)。


《图一 InfiniBand的架构〈数据源 Mellanox.com〉》
《图一 InfiniBand的架构〈数据源 Mellanox.com〉》

HCA提供了一个与Web server等的主CPU和记忆体子系统连接的介面,并支援InfiniBand架构所定义的「软体动词(software verb)」。这里所说的软体动词是指用户软体和HCA之间的一种抽象介面。软体动词并不为作业系统指定应用程式介面(API),但它定义了一些作业,可供作业系统厂商用来开发适当的应用程式介面。而TCA提供InfiniBand到I/O设备的连接。这种I/O卡可能是一种网路介面卡(NIC),它包含了每种设备之特定作业所必需的子功能。


交换器:

交换器是InfiniBand架构中的基本单元。一个交换器中的InfiniBand埠不止一个,它能根据本地路由器封包头中所含的第二层位址(本地ID/LID)将数据封包从其一个埠送到另外一个埠。交换器只是对数据封包进行管理,并不产生或使用数据封包。和通道配接器一样,交换器也需要具备一个子网路管理者(subnet management agent;SMA)以回应子网路的管理数据封包。交换器可透过配置来转寄点播(unicast)或组播(multicast)的数据封包。


路由器:

InfiniBand路由器,作用是将数据封包从一个子网路传送到另一子网路,其间数据封包的数量不会变化。与交换器不同,路由器读出第三层的广域路由封包头(global route header;GRH),并根据其IPv6网路层位址来进行数据封包发送。


子网路管理器:

子网路管理器对本地子网路进行配置并确保能连续运行。所有的通道配接器和交换器都必须有一个SMA,此SMA负责处理与子网路管理器之间的通讯。每个子网路至少必须有一个子网路管理器来进行初始化管理,以及在链路连接或断路时,对子网路进行重新配置。


透过仲裁机制来选择一个子网路管理器作为主子网路管理器,而其他子网路管理器工作于待机模式(每个在待机模式下的子网路管理器都会备份此子网路的拓朴资讯,并检验此子网路是否能够运行)。若主子网路管理器发生故障,一个待机的子网路管理器会接管子网路的管理,以确保运行不会间断。


《图二 InfiniBand的交换器架构〈数据源 Mellanox.com〉》
《图二 InfiniBand的交换器架构〈数据源 Mellanox.com〉》

InfiniBand架构的关键

InfiniBand架构的关键在于透过采用点对点的交换架构,解决共享汇流排(share bus)的瓶颈问题,这种交换架构专门适用于解决容错性和可扩展性的问题,如(图二)。共享汇流排架构中多个设备与汇流排之间是被动连接,而InfiniBand的点对点交换器采用了与共享汇流排架构不同的连接方式,它透过一个带有主动元件的架构与各个设备连接。所有的连接都是点对点的连接,一个设备对应一个终端。因此,和传统的PCI汇流排架构不同,InfiniBand架构中链路的建立和终止能得到很好的控制。所以,采用此架构后,通讯系统的性能可以最佳化,能在比较高的频率下运行。


现在将做更进一步的探讨。以往采用共享汇流排架构的系统一次只能让一个主动装置工作,并需要进行汇流排仲裁(arbitration),这降低了系统架构中数据传输的速率。而在InfiniBand架构中,可利用无阻塞(non-blocking)交换器将各端点连接起来,每个交换器可以同时有多条链路进行数据发送和接收。因此,多个端点可以同时进行相互通讯。此外,仅需添加一些交换器即可实现扩展。随着交换器数目增加,系统的总频宽也会相对增加。


多层架构

InfiniBand架构是一种多层架构,其中每一层的运行都是相互独立的。 InfiniBand的多层架构可区分为:实体层、链路层、网路层和传输层以及一些更高的其它层。


在实体层上,InfiniBand标准定义了三种链路速率,分别为:1X、4X和12X。此标准也定义了包括铜导线和光纤在内的实体介质。此外,它还定义了用于光纤和铜导线的标准连接器和电缆,以及用于机架系统(rack-mounted systems)的背板连接器(backplane connectors)。铜缆上的1X链路采用「四线微分信号(4-wire differential signalling)」,每个方向有两条线,可提供2.5Gbps的全双工连接。其他链路速率都建立于1X链路的基本架构上。如(图三)。


《图三 InfiniBand标准定义的三种链路速率〈数据源 Mellanox.com〉》
《图三 InfiniBand标准定义的三种链路速率〈数据源 Mellanox.com〉》

一条InfiniBand 1X链路的理论频宽是2.5Gbps。但实际数据速率为2Gbps(因为链路数据采用8位元或10位元编码)。由于链路具有双向性,所以全双工数据速率为4Gbps。相对地,4X和12X链路的原始频宽(raw bandwidth)为10Gbps和30Gbps。


链路层与实体层不同,它提供基本的子网路连接,并确保数据的完整性。子网路内的数据封包传送是在链路层进行的。一个子网路内的所有设备都有一个由子网路管理器赋予的16位元区域识别码(local ID;LID),而子网路内的所有数据封包都采用LID定址方式进行发送。链路级的交换是将数据封包转发到由数据封包内「本地路由封包头(LRH)」中的「目标LID」所指的设备上。因此,全部的数据封包都必须有本地路由封包头。


数据封包是保证数据完整性的基本链路层单元。链路层数据封包有两种类型,一是管理封包,另一个是数据封包。管理封包用于链路的配置和维护,数据封包则可承载一个高达4K位元组的交易量(transaction payload)。


网路层

InfiniBand子网路间的数据封包在网路层上进行路由(route)。为实现互连,InfiniBand架构中引进了一个「可选广域路由封包头(optional GRH)」,它采用128位元IPv6位址,使得InfiniBand架构可直接和传统的IP网路连接。


传输层是网路层的一个补充。这一层负责将数据封包按顺序发送、分割、通道再使用,并提供传输服务,例如:可靠连接、可靠数据电文(datagram)、不可靠连接、不可靠数据电文、原始数据电文(raw datagram)等。传输层也在发送时进行数据的分割,在接收时进行数据的重组。


根据通道所能传送的最大传送单元(maximum transfer unit;MTU)大小,传输层将数据分割成大小合适的封包。接收端再根据基本传输封包头(base transport header;BTH)将数据封包重组起来,基本传输封包头中包含「目的伫列配对(destination queue pair)」和数据封包序号(packet sequence number)。接收端发送一个数据封包接收应答(acknowledgement)给发送端,发送端接到应答后,根据传收作业的结果修改完成伫列(completion queue)的作业状态。


品质问题

在网路中采用任何新通讯协定或新标准都会使人们产生这样一个疑问:此通讯协定是如何实现QoS? InfiniBand为支援QoS性能进行了专门的设计。支援InfiniBand的系统将采用虚拟通道(Virtual Lane)方式来实现QoS。虚拟通道是一些共享一条实体链接的相互独立的逻辑通讯链路,每条实体链接可支援多达15条的标准虚拟通道和一条管理通道(VL 15)。


那么虚拟通道是如何实现QoS的呢?当数据封包穿过子网路时,它会根据QoS等级来定义一个服务等级(service level;SL)。路径上的每条链路可以提供不同的虚拟通道数,而服务等级会确定每条链路相对应的优先级。每个交换器/路由器都有一个服务级别与虚拟通道的映射表,这个映射表由子网路管理器设置,并根据每条链路所支援的虚拟通道数,来确保链路相对应的优先等级。


除QoS外,InfiniBand标准也确保了数据的完整性。 InfiniBand的链路层对每个数据封包进行两种循环冗余检测(CRC),即可变CRC(variant CRC;VCRC)和固定CRC(invariant CRC;ICRC)。这两种检测机制确保了数据的完整性。


16位元VCRC涵盖了数据封包中的所有栏位,并在数据封包的每次转发(hop)时都进行重新计算。 32位元ICRC仅包括那些转发时不产生变化的栏位。 VCRC提供了两次转发间链路级的数据完整性,而ICRC提供了端点对端点的数据完整性。在某些通讯协定中,例如:乙太网路通讯协定,只定义一个CRC值,当采用这种通讯协定的设备产生错误时,由于会重新计算此CRC值,因此即使数据已经被破坏,下一次转发检测​​时会认为此CRC值依然有效,因此错误在转发时不能被发现。而InfiniBand采用了ICRC方式,因此当有一个位元错误产生时,错误总是会被检测出来的。



《图四 两个InfiniBand设备之间的通讯〈数据源 Mellanox.com〉》
《图四 两个InfiniBand设备之间的通讯〈数据源 Mellanox.com〉》

介面架构

目前许多通讯系统设计业者们都热衷于虚拟介面架构(virtual interface architecture;VIA)。 VIA是一种分布式通讯技术,它独立于硬体并且与当前的网路连接且相容。这种架构提供了一种应用程式介面,适合于许多应用,能以高速、低延迟的特性支援网路上工作站之间的通讯(peer-to-peer)。


当初设计InfiniBand标准时就考虑到采用VIA架构。它采用「植基于通道的执行伫列(channel-based execution queues)」从主机软体用户端去除了(off-load)数据流控制(traffic control)。这些伫列,称作工作伫列(work queue)是由主机CPU创建(initiate)的,然后由InfiniBand硬体进行管理。


设备之间的每个通讯通道上都安排了一个工作伫列配对(work queue pair;WQP,包含发送和接收伫列)。主机将处理事务(transaction)放到工作伫列中(工作伫列项,work queue entry;WQE),然后此事务在发送伫列中由通道配接器进行处理,再发送到远端设备。当远端设备回应后,通道配接器透过完成伫列或事件(event)将处理状态传回给主机,如(图四)。


主机可以放置多个工作伫列项,而通道配接器硬体会对这其中的每个通讯请求进行处理。通道配接器会根据适当的优先次序对每个工作伫列项进行处理,然后产生一个完成伫列项(complete queue entry;CQE)来显示完成状态。 VIA将主机CPU和通道配接器分隔开来,使得主机在事务得到处理的同时能够继续进行其他工作。


结语

毫无疑问的,当今网路通讯的传输速率会继续成长。但为满足这种速率的要求,设计业者对系统内外都必须加以认真考虑,才能实现通讯网路中数据速率的真正增加。


InfiniBand受到业界广泛的支援,逐渐成为网路中高速信号传输的重要新技术。现在的关键是要建立起支援这些架构的系统。目前已经有InfiniBand的半导体解决方案,半导体方案的应用、系统级参考设计(reference design)以及软体的完善意味着开发InfiniBand装置的所有基本元件都已准备好了,这使得该标准的大规模应用和商品化即将成为可能。


相关文章
在5G世界中透过光纤网路进行高精确的授时
从设计到制造 模组化仪器高弹性优势完全发挥
vPCI在嵌入式系统的应用
新一代PCI背板电源管理需求
PCI Express架构探微
comments powered by Disqus
相关讨论
  相关新闻
» 工研院MWC 2024展会直击 5G-A无线通讯、全能助理成下一波AI风潮
» 经部「2023玩学5G新视界」 引领台湾网通产业跃上国际舞台
» 欧洲航太技术展在德国盛大展开,全球吸睛 镭洋推出卫星通讯整合方案,目标抢占庞大的欧洲卫星商机
» 经济部主办通讯大赛连线全球 多国创新应用现身
» AIoT扩大物联网、伺服器与元件需求 打造节能永续云端资料中心


刊登廣告 新聞信箱 读者信箱 著作權聲明 隱私權聲明 本站介紹

Copyright ©1999-2024 远播信息股份有限公司版权所有 Powered by O3  v3.20.1.HK83T50W7W4STACUKN
地址:台北数位产业园区(digiBlock Taipei) 103台北市大同区承德路三段287-2号A栋204室
电话 (02)2585-5526 #0 转接至总机 /  E-Mail: webmaster@ctimes.com.tw