高速行业标准串行互连的评估
本文作者:admin
点击:
2006-04-07 00:00
前言:
一个行业标准交换结构互连应该具备什么样的性能呢?理想的情况是,该技术应该可以支持超过系统中包括协议开销的所有线卡的合计带宽,并应具有在所有构成系统的不同个体中传输控制和数据信息的能力。此外,还要具有最小的延时和抖动。
一个互连结构还必须具有流量控制能力,以保证高级别的服务质量(QoS)。为了实现这个目标,系统必须具有防止结构中的链路和元件容量过载能力的拥塞管理策略和机制。此外,该结构必须提供适当的平衡能力来支持多种应用,而不增加器件的复杂性和成本。
这种交换结构应该是与协议无关的,以便为背板互连提供高度的灵活性。其基本拓扑结构应该具有冗余和故障恢复机制,以满足通信设备的高可用性、适用性和可靠性要求。最后,可升级性、灵活性和可扩展性在任何高速串行互连架构中都是重要的特性。理想的情况是,其硬件应该可以支持这些特性,并能够使结构管理软件的部署简单化。这些软件应该是易用、便宜、简单和可扩展的,并可利用集中或分布式的结构管理,以支持负载平衡和系统冗余。
架构综述
InfiniBand 架构
在提到的3种技术中,InfiniBand 架构(IBA)是历史最久的,它是一个全面的串行互连规范。它从针对基本需求的设计一直发展到适用于存域网、高端计算集群,以及需要高可用性和可靠性的本地局域网。具有存储系统的 InfiniBand 刀片服务器集群如图 1 所示。InfiniBand 架构具有以下特性:
●时钟频率为 2.5 Gbps
● 支持x1、x4和x12一共3个通道
● 支持2、8和24 Gbps的吞吐量
● 支持模块对模块、机架对机架的互连
● 支持16级虚拟通道服务质量,可映射16个服务等级
InfiniBand是通过一个有链路层、网络层、传输层、物理层的堆栈实现的。系统里的器件是由本地、全球和 EUI-64 地址进行识别的。传输服务同时提供可靠和非可靠的数据传输。有效负载的大小可达4096字节,报头开销可达126字节。
该架构在终端节点之间利用信息提供可靠的传输机制。一个InfiniBand配置节点可以像以太网适配器那样简单,也可以像高性能计算刀片那样复杂。该规范为可靠的信息传输定义了硬件协议,但是却没有定义信息的容量。硬件协议允许将数据从操作系统的内核和用户空间转移出来。
该架构支持多种结构服务,范围从配置与资产管理、错误报告到性能指标收集和拓扑结构管理。它天生就使用IPv6报头在InfiniBand架构结构与互联网之间更有效地交换数据。在过去的两年里,RapidIO行业协会一直致力于推广串行快速IO(SRIO)互连,以覆盖通信网络的数据平面的应用。最初的SRIO规范只为处理器互连应用提供了简单的芯片对芯片的串行互连,今天已经广泛应用于DSP阵列。
该架构采用一种开放标准技术设计来取代专有的数据结构,为其基本SRIO规范增加了组播、流量控制及数据流等特性。RapidFabric系统如图2所示。RapidFabric有以下特性:
● 时钟频率为 3.125 Gbps
● 支持 x1 和 x4 通道
● 支持 1.25、2.5 和 3.125 Gbps 的吞吐量
● x4 通道支持 10 Gbps 的带宽
RapidFabric 是通过逻辑层、传输层、物理层3层的堆栈实现。逻辑层定义了端点用来执行互连服务的协议。传输层定义了用于传输的寻址方案。广播与组播功能则通过传输信息来实现。物理层定义了信息包传输机制、流量控制和电气特性。它总计能支持多达3路传输流及4条虚拟通道。
RapidFabric 配置中的器件是由基于器件的路由连接的。该架构通过中央管理路由表支持多达64,000个器件的互连。其信息报头很小。有效负载大小限制在256字节,但是原始数据流的传输速度可高达64 KB。
利用行业对PCI Express(也表示为 PCIe)设备的广泛投资,ASI架构为开发者提供了实现数据通道和控制平面通信的多点和对等交换互连链路的基础。ASI系统如图3所示。
ASI架构有以下特性:
● 时钟频率为 2.5 Gbps
● 支持 x1、x2、x4、x8、x12、x16 和 x32 通道
● 支持高达 64 Gbps 的吞吐量
ASI是通过一个数据链路层、传输层、物理层3层的堆栈实现。物理层和数据链路层都复用了PCI Express的物理及数据链路层,只进行了少许增强。然而,ASI中的传输层已经被完全改写,以支持背板互连的要求。
它最大信息包大小为2,176字节,但可通过使用本地分段与重组(SAR)能力来支持无限长度信息包。它采用基于路径路由和一个可靠的传输机制,可选择非可靠传输。ASI信息包封装方案只需要低报头开销,并能利用任何协议设定隧道。它通过低延迟及良好的抖动控制来提供确定性的行为。ASI架构可提供20条虚拟通道,可分成以下3个类型:
● 8条旁路通道用于传输负载存储协议,利用整合机制避免潜在的死锁情况。
● 8条顺序惟一的通道用于面向信息的推进数据流量
● 4条组播虚拟通道支持任何应用类型的主机
在逻辑层,该标准支持每条虚拟通道8种流量级,以提供服务质量和流量区分。其规范的原始定义支持高可用能力,例如热插拔、冗余路径、多主体个体以及高效结构管理故障恢复。ASI使用127协议接口(PI),以实现协议隧道设置和结构管理。该标准在以下方面定义了协议接口:
● 简单队列服务(SQ)
● 简单负载存储(SLS)
● PCI Express 桥接(PI-8)
● 套接数据传输(SDT)
在一个典型的ASI结构拓扑中,I/O器件或CPU天生可支持ASI接口,或能通过一个ASI桥接器件与ASI结构相连。这可使PCI Express树型分层结构通过采用主交换器及I/O交换器覆盖多个CPU域。主交换器可使CPU与通过I/O交换器在结构中获得的各种I/O器件连接在一起。
CPU可使用SQ、SLS和SDT协议接口交换数据,而不会阻碍更高层的协议栈(例如 TCP)。这样就可以从一个连接到采用PI-SPI协议接口的ASI结构的入口NPU卡接收数据流量,最终进入一个出口NPU卡。
流量控制
InfiniBand 流量控制
流量控制能力在提供各种标准的高级别服务能力方面扮演了非常关键的角色。利用InfiniBand架构,可以建立基于信用方案的流量控制。当传输通道适配器以高于目标入口链路速度运行时,中间交换器可通过降低链路级流量控制信用,向传输通道适配器提供背压。该功能可防止系统使用较慢目标器件使资源超限。
InfiniBand使用虚拟通道(VL)在单物理层链路实现逻辑流量。每个IBA 器件支持多达16个VL。VL 15和VL 0在所有架构中都可实现。VL 15用于子网络管理,VL 0则用于应用。内部器件缓冲器是分别为每个VL分配的。每个器件映射一个服务级别到(SL)一个VL中。信息包是与相同的源和目标本地标识符(LID)或地址和服务级别一一对应的。系统不具备任何旁路能力。
每个端口的VL仲裁把最高优先权分配给VL 15,次高优先权分配给流量控制信息包。这种两个级别的优先权方案机制也用于其他所有的VL。这种事先安排的调度程序实现了一种有利于公平的方案,可以保证低优先权VL进度的公平性。这种额外的优先权和最小转发进度带宽是可以编程的。仲裁器采用高优先权限制,来指示系统在传输一个低优先权信息包之前还需传输的高优先权信息包的数量。该流量控制信息包周期性地把信用信息发送到每个VL里的发送器。
RapidFabric 流量控制
相比InfiniBand,RapidFabric使用了一种更为简单的流量控制机制。RapidFabric的物理层在每个信息包里使用了一个2位字段来分配优先权。逻辑层定义了映射到物理层每个优先权的3种处理类型(最高、中等或最低)。
该方案的流量控制可由接收方或发送方控制。当接收方控制该流量时,它会根据可用的缓冲器空间逐个信息包地持续接收入口数据。如果缓冲器空间不够用时,它就停止信息包的接收,并通过发送一个包重发控制信号来通知发送方。发送方就会等待或重新发送信息包。接收结构会利用一个特殊的源结构元件发送开始(XON)和停止(XOFF)流量的流量控制信息包。当发送方控制数据流量时,系统就依赖于基于信用的方案;在这种情况下,接收方周期性地通知信息包源缓冲器的可用空间,同时发送方相应地调整数据流量。
ASI 流量控制
比较而言,ASI架构在每个虚拟通道的同级个体之间使用了基于信用的流量控制机制。ASI 中的源结构元件只有得到足够的信用才会发送信息包。
ASI架构可提供20条虚拟通道,分成以下3种类型:
● 8条虚拟通道是单播的,具有旁路虚拟通道(BVC)能力,是为负载存储协议的传输而设计的。这些通道和旁路数据流是有序进行的。两种流量类型分配了不同的信用,来调整它们结构里的流量。
● 8条通道仅是单播的。
● 4条通道支持组播操作。
利用不同级别的标识符、虚拟通道列队机制和出口链路调度可以对数据流量进行区分和隔离。
同级个体决定单播BVC和顺序惟一的虚拟通道(OVC)的个数,每个BVC和OVC都支持部分的虚拟通道流量控制信用信息初始交换。如果其中的一个链路对比其他的链路支持更多的BVC,那么该规范可把多余部分的BVC转换成OVC。
ASI也可支持直通流量。该能力可用一个交换器在一个信息包完全接收完之前先发送信息包。为了配合基于信用的流量控制,ASI 路由报头为每个信息包添加了信用需求信息。交换器读取接收的信息包的信用需求字段,从而在完全接收整个信息包之前决定信息包是否有足够的信用进行发送。
拥塞管理
InfiniBand 拥塞管理
InfiniBand架构使用静态速率控制机制来降低终端节点进入结构的数据速率源速度。静态速率算法可控制来自一个端点并进入相同目标的信息包之间,可编程信息包间的延迟。
事先配置值是由提供端口速率信息的器件决定的,或者采用一个对源目标对速率最佳的基于管理器结构的数据库决定的。InfiniBand的拥塞管理不支持任何动态速率控制方案,从而实现高速的数据突发。
RapidFabric 拥塞管理
RapidFabric的拥塞管理是基于处理所需流量的简单XON/XOFF控制。结构元件以逐个信息包的形式跟踪内部信息包缓冲器级,它符合可编程和本地定义的水印级。如果一个信息包缓冲器级高于水印级,接收方就发送一个XOFF控制信息以关闭来源。
水印级是由一些因素决定的,包括结构元件在结构中的位置,离源的距离和结构拓扑。在XOFF延迟最差的条件下,它们也应该为存储发送中的信息包提供足够的结构元件缓存器空间,当通过了较低的水印级时,接收方向源发送一个XON信息包来恢复发送。
ASI 拥塞管理
相比其他两个串行互连架构,ASI可提供更为全面的拥塞管理功能。为了避免基于虚拟通道的流量拥塞,ASI添加了以下3个附加机制:
● 基于状态的流量控制(SBFC)
● 最小的带宽调度程序
● 端点资源或注入速率限制
在SBFC机制下,系统节点可把包含交换器可用缓冲器空间信息的数据链路层信息包(DLLP)状态传输到它的上一层。根据通道中达到目标的可用缓冲器的空间状态,上一层里的器件出口调度程序开启或暂时停止由DLLP确定的所有流量。
这种预发式机制可使系统避免器件用尽所有信用进行传输情况的发生。由于器件可根据指示的流量级/虚拟通道(TC/VC)映射来控制流量,可使用最小的带宽或供应商定义的出口调度程序。
通过基于流量级或信息包通道等标准的连接队列,ASI也可支持可选择的源速率限制。每个令牌桶可以与每个连接队列配对提供源速率限制。在令牌桶对整个结构的突发传输进行控制的同时,还为每个连接列队的平均传输速率提供一个许可控制限制。如果采取这些控制后,结构仍然发生拥塞现象,快速停止拥塞源端点就非常重要了。路由报头可以识别这些源。
高可用性
高可用性对于任何通信结构都是一个非常重要的考虑因素。互连错误检测和错误处理能力在系统实现高效率的故障恢复解决方案方面中扮演了重要角色。
InfiniBand 可用性
InfiniBand 最初是为集群和存域网的想法而设计的,在这方面它提供了良好的能力。请求方和应答方的错误检测和处理机制是不同的。所有的错误事件可在请求方或应答方处理,也可在两个位置同时处理。在请求方,事件可以是本地的或远程的。两种类型的错误进入到完成队列,完成队列就会调用一个事件处理器。
在应答方,该器件可默默地放弃一个信息包,在确认信息包中发回该错误,或在完成队列中对错误进行排队,也可使用这3种选择的组合。一个子网络管理器会定期扫描结构中的变化。该事件处理器可交替更新子网络管理器。
RapidFabric 可用性
RapidFabric高度依赖于RapidIO规范的能力。为了保持设计简单并改善性能,当信息包在整个结构中移动时,RapidIO可避免重复的循环冗余码检测(CRC)。不过,CRC检测会在每个跳段执行。
如果接收到的信息包有不好的CRC或格式错误,接收方就会把这些错误通知发送方,并进入一个输入错误停止状态,同时默默放弃所有的新信息包,直到它从发送方者收到一个重新从错误开始的信息。可使用链接维护控制符与发送方进行协调。
该系统使用应答超时计数器检测信息包的丢失。端口应答超时是可编程的。端口错误与命令和状态寄存器(CSR)指示需要软件错误处理器重新设置的错误状态。
ASI 可用性
ASI专注于事件处理和管理的特殊协议接口(PI-5)。ASI事件可以在本地处理或返回发送方处理。该规范也允许为事件路由提供一个专用事件管理器。
ASI使用链路层、处理层报头和有效负载CRC进行信息包完整性的检查。链路层CRC是在链路对里的数据链路层透明产生并进行检查的。报头CRC对通道的每个跳段进行检查。有效负载CRC由源端点产生,并在接收方端点进行检查。它可提供端到端的完整性检查和错误提醒。
转发信息包的交换器元件无需执行 PCRC。此外,ASI信息包使用一个报头CRC,交换器可在它发送信息包的时候逐跳段对它进行检查。如果发现报头CRC的错误,就会在中间交换器或信息包终点放弃信息包,同时发出ASI路由报头错误信号。
结语
协议支持、流量控制、拥塞管理、错误检测和事件处理等不同特性为设计者设计不同应用带来了优势。在系统设计者为他们的应用选择一种解决方案之前,还必须考虑每种技术开发潜在架构和发挥规模经济性的能力。一种特定技术的生态系统不仅对它的最终成本,也会对它最终采用速度产生深远的影响。例如,方兴未艾的PCI Express 生态系统将使高级交换互连(ASI)架构成为很多应用的一个具有吸引力的选择。