以太网和RapidIO之深度比较
2010-12-17 15:54:45 来源:IDT公司 点击:4721
【哔哥哔特导读】本文比较了两种技术在芯片到芯片、板到板、背板之间或机柜间长达100米的连接状态下所带来的好处。现在采用RapidIO连接的应用已经很常见,如无线基带信号处理、军用计算平台、视频处理和工业控制。当然也有一些采用其他连接应用比如大型数据中心机房内的设备。
随着千兆接口的应用普遍推广,嵌入式应用中的可用带宽也出现了增长。在嵌入式系统中,由于这一带宽突破性的优势的使得出现了两种最常见互连:以太网和RapidIO。
本文比较了两种技术在芯片到芯片、板到板、背板之间或机柜间长达100米的连接状态下所带来的好处。现在采用RapidIO连接的应用已经很常见,如无线基带信号处理、军用计算平台、视频处理和工业控制。当然也有一些采用其他连接应用比如大型数据中心机房内的设备。
RapidIO技术概述
和以太网类似,RapidIO可以在各种介质上实现包交换。RapidIO包最大净荷是256字节,最大总包长为276字节。最有效的RapidIO包格式使用12字节的开销传输256字节的数据,协议效率为95%。RapidIO支持消息和读/写语义,这有助于控制平面和数据平面操作使用相同的物理互连,从而有效地提高效率,简化系统设计。RapidIO协议的设计是要从根本上尽量降低传输延迟。经过优化,RapidIO技可以利用硬件实现。
通过简单的流量控制和错误恢复机制,即使是存在拥塞和传输错误,RapidIO链路也可以保证包的传输。这些机制的实现是采用短的、链路特定数量的所谓“控制符号”。大多数控制符号可以嵌入在包内,以确保可靠的包交换控制回路的延迟达到最小。
RapidIO Gen2规范发布于2008年。RapidIO Gen2比RapidIO链路传输速率增加了一倍,达到了6.25 Gbaud,同时在其物理层中增加了8个新的虚拟通道支持能力。RapidIO Gen2生态系统中最快的、通用端口是一个以20 Gbps运行的四通道端口。逻辑层因支持针对数据流包的基于速率和可信度的流控制而得到了增强。另外,还增加了一个虚拟输出队列背压机制。
在电信领域,RapidIO技术占有主导地位,尤其是在无线基带信号处理方面。此外,RapidIO已在军事、视频处理和工业控制应用中占有显著的市场份额。庞大和不断增长的RapidIO产业生态系统包括了许多交换器厂商(IDT、PMC-Sierra、Mercury等),这些厂商提供的产品都有大约100纳秒(ns)的延迟。关于这些微小的延迟值将在本文后面予以讨论。
以太网技术概述
尽管最常见以太网数据包的有效载荷仅稍多于1500字节,但以太网数据包最大支持多达9千字节大小(KB)的包传输。以太网的最小包大小为64字节。由于以太网需要软件支持(如传输控制协议TCP)才能提供可靠的传输服务,所以传统意义上的以太网是一种 “有损”传输。尽管以太网包支持比RapidIO更大的有效载荷,其最大协议效率仅略高于97%,原因是基于软件的可靠传递协议需要大报头开销。“PAUSE”包流控制机制一直是以太网终端之间拥塞管理的主要手段。以太网的流量控制机制作为网络层控制协议,为的是根据丢包检测来控制传输速率,因为这是目前在以太网上传输合理吞吐量的最有效的方法。
以太网目前在制定40 Gbps和100 Gbps链路标准。这项工作建立在现有的10 Gbps单通道以太网标准基础之上。
最近,“无损以太网”的概念已经公布。无损以太网针对的是存储区域网络,特别是以光纤通道以太网(FCoE),所以它也称为“数据中心以太网”(DCE)。无损以太网目前正围绕着以下几个增强功能进行研究,如基于IEEE 802.1p优先级的流量控制(PFC)和802.1au拥塞通知功能。这些增强功能利用了已制定协议规定的包优先级信息,如多协议标签交换(MPLS)和IEEE 802.1Q VLAN。
通过建立链路级流量控制,无损以太网减少了由于以太网互联网拥塞造成的丢包。丢包量的大大降低大幅提高了整体网络传输的效率。拥塞条件下的无损以太网在某种意义上讲采用类似RapidIO的方式进行传输。
虽然以太网产业生态系统要比RapidIO的产业生态系统大得多,但是以太网交换器件供应商仍然只有3家——Marvel、Fulcrum和Broadcom。这些制造商有各种各样的互联网产品。在无损以太网规范的支持下,这些厂商已经宣布了具有亚微秒延迟的交换器。
发现DCE有吸引力的功能的系统设计人员也可以考虑建立一个RapidIO生态系统作为器件来源。同样,DCE的新功能有助于系统设计人员考虑将无损以太网作为某些应用中RapidIO的替代品。
逻辑层的比较
表1对比了RapidIO与以太网技术的比较,它引自“系统互连结构:以太网与RapidIO技术”白皮书获取。
表1:RapidIO与以太网的比较
包格式的比较
表2:数据中心以太网和RapidIO包格式
虽然很明显DCE报头比一个RapidIO包头更大,但在两个包格式之间可能不会有什么明显越来越多的相似之处。
传统的“互联网”以太网包不包括多协议标签交换(MPLS)或虚拟局域网(VLAN)报头,可是许多现代LAN和WAN两者都使用了。互联网以太网包路由是基于TCP/IP头中的IP地址。然而,IP路由是计算密集型,所以可以在路由中使用简单的20位MPLS标签结合12位VLAN标识符。采用MPLS和VLAN路由操作比硬件实现的IP查找成本更低,因为MPLS和VLAN路由操作是利用路由表的检索来执行的,而不是IP路由所需的多序列比较操作。
表检索是RapidIO交换器中路由表操作所需的唯一机制。RapidIO的路由数量称为设备ID,可以是8或16位大小。RapidIO生态系统中的许多交换器的每个端口都有一个路由表。每个端口路由表都为RapidIO交换器提供了类似VLAN的功能。
两种包格式之间的最大区别是其最大包大小的不同。常见的互联网以太网包大小约为1500字节。巨型包可以超过9000字节。然而,最大的RapidIO包却只有276字节。尽管在包大小方面存在差异,但整体协议效率却大致相同:互联网以太网为97%左右,而RapidIO大约为95%。
如表1所示,以太网和RapidIO均支持类似的功能。两者都支持读/写和消息语义,但RapidIO支持读/写语义的效率远远高于现有的基于以太网的协议。消息功能使这两种技术都可以支持其他协议封装。例如,RapidIO已经用来作为一种标准做法:采用消息和/或数据流包类型,将以太网包封装在RapidIO结构上。
“无损”性能的比较
RapidIO可保证各个链路上的包传送。在100米10 Gbps光链路的情况下,可以用三个控制符号的交换完成恢复,这可能在约2.5微秒内完成。对于一个芯片到芯片的连接,交换可以在300纳秒之内完成。
无损以太网有些名不副实,因为包仍有可能因传输错误而丢失。因此,“数据中心”以太网仍然需要卸载引擎和/或软件栈,这些都将增加消息传递的延迟。例如,FCoE的错误恢复是由光纤通道协议提供的。因此,错误恢复的延迟大大高于RapidIO。如此高的延迟对系统资源的使用率和性能都会产生重大影响。
以太网市场变革:互联网技术和数据中心技术
无损以太网的创立代表了以太网社区方向上的一次重大变革,并将以太网市场分割为互联网技术和数据中心技术。互联网利用网络层流控机制获得更高的吞吐量,而不是链路级流控。覆盖地球的网络的延迟,以及网络拓扑结构的复杂性和不可预测性,使网络级流控成为了流控机制的最有效形式。绝大多数以太网技术都是互联网以太网。
互联网以太网技术依赖于交换机和路由器平台形成的重大处理能力。在交换机和路由器平台中,网络处理器单元(NPU)被用来“整形”通讯数据包流量,以满足服务级别协议和实现网络协议,如MPLS网络。图1显示了一台典型的互联网以太网交换设备,它也可以是一台路由器。
图1:互联网路由器框图
互联网路由器由若干线卡组成,每个线卡都连接一个冗余交换结构。这些线卡的执行功能受本地控制平面处理器的控制,每个线卡都连接到主控平面处理器。每个线卡都包含一个NPU,当收到执行安全、服务级别协议流量计量和优化网络带宽的整形流量时,NPU负责以太网包的分类和调度。包报头可能会被协议标记修改,如在MPLS和VLAN中那样。如果一个包因为这些报头的修改而变得过大,该包可能被分成多个包。然后,这些包通过交换结构发送到另一个线卡,无论包是否被传送。所有这些功能都需要在基于互联网以太网的网络上提供可靠的吞吐量。虽然现代NPU可以以输入数据线速来进行传入的包流的复杂分析,但这显然增加了包传输的延迟。
请注意,在一个互联网路由器或交换机平台内,芯片之间有某些“短程”连接。这些低延迟的短距离连接可以通过简单的流量控制机制来加以利用,以最大限度地减少丢包。然而,即使是10 Gbps的连接,一个以太网暂停包延迟对处理短延迟都显得太长了,因为在未考虑PHY和处理延迟情况下,一个暂停包需要60多纳秒来传输。正是由于这个原因,互联网以太网交换机和路由器的领导厂商在其平台当中都不使用以太网作为独有的互联技术。相反,串行外设互联(SPI)、Interlaken和RapidIO等互连标准都集成了低延迟流量控制机制,以确保在不丢包的同时实现高效的包传输。
在数据中心网络内,比如由提交文件修改和确认数据传输等控制功能造成的网络延迟,可以用来表征许多系统能够提供多少能力 的真正限制。同样,针对服务器负载平衡功能的控制系统延迟可以决定整个系统的效用和效率。
在许多数据中心平台中,板卡连接使用的是交换芯片,而不是一个交换机或路由器平台。处理器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)和NPU使用一个由多个交换芯片组成的交换矩阵相互连接。交换矩阵利用单一的互连协议有效地连接多个芯片、板卡和机箱。这种做法可以在数据中心平台内实现较低的延迟、更高的性能、更低的功耗和更低的成本。诸如此类的原因使EMC公司采用了RapidIO作为其V-Max高性能存储产品的连接架构。
许多互联网以太网交换芯片能够支持交换机和路由器平台的功能。然而,较低延迟的数据中心以太网交换机无法支持。因此,要由直接连接到数据中心以太网交换机的设备来提供这些功能。这是体现了大多数消费互联网以太网技术特点的简单发送和接收架构的重大转变。
无损以太网的出现发出了以太网市场分化成互联网以太网和数据中心以太网设备的信号。其含义在于,数据中心以太网设备无法享受与互联网以太网设备相同的经济规模效益。
在嵌入式系统中有两种最常见互连:以太网和RapidIO。在本文的上半部分我们分析了这两种互连技术的发展现状,在逻辑层、包格式、无损传输以及市场应用方面对两种技术进行了比较,在下半部分我们将在吞吐量、延迟和流控方面进行对比。
吞吐量、延迟和流控
延迟,具体说是传输延迟,可以通过增加带宽得到改善。以太网和RapidIO技术在线速率增加时,传输延迟改善得到了体现。
传输延迟只是一个结构中整体延迟的一部分。整体延迟包括发送包所花的时间、通过结构的交换器转移包的时间,以及接收包并将它传递给一个软件实体的时间。这些元件中每个元件的延迟都可能受到流量控制的影响。
如果系统的结构中没有资源争用,那么就没有必要进行流量控制。流量控制机制做出决定,哪些包将要发送,以及如何为不同的包流量分配系统资源。在一个具有复杂和动态流量模式的系统中,流量控制机制能够以一种最大限度地提高系统性能的方式解决拥塞情况。如前所述,系统性能可能取决于消息传输延迟,以及结构中的整体吞吐量。为短期、中期和长期拥塞补充流量控制机制有助于系统设计人员优化其应用的性能特点。
一般来说,一个流量控制机制应使包尽早得到转发。在出现争用的条件下,缓冲区应该得到充分利用,以创建更多的调度方案,提高吞吐量和减少延迟。RapidIO和DCE流量控制策略的比较如下。
RapidIO实现了一个全面的流量控制策略,以解决一个系统中短期、中期和长期的拥塞情况。历时10微秒或以下的短期拥塞是由链路级流量控制来管理的。长达200微秒的中期拥塞以及负载平衡是由虚拟输出队列背压机制来管理的。长期拥塞是通过使用虚拟通道带宽保证,以及数据流包支持的基于速率和信用的流量控制来管理和/或避免的。
RapidIO链路级流量控制可通过短“控制符号”来实现,控制符号可以嵌入在包内。流量控制可以用8个优先权支持一个“优先”通道也可以支持多达8个“虚拟”通道而这些通道没有优先权,控制符号的控制路径延迟最小。在最坏的情况下(一个传输延迟时间为500纳秒、超过100米的以10 Gbps运行的光链路)在每个方向上的控制路径延迟约为最大大小RapidIO包的两倍半。
RapidIO流量控制机制允许一个发送器完全充分地对接收缓冲区进行打包。出于以下几个原因这样做非常重要:
● 一个交换芯片在其缓冲区中的包越多,无拥塞的路由包到输出端口的吞吐量增加选择就越多。这将以最小的延迟带来尽可能最大的吞吐量。
● 发送器和接收器已就每个优先/虚拟通道可以转移多少包达成一致。当包传输调度时,发送器可以使用此信息优化结构延迟性能。
● 低延迟控制机制允许尽量减少RapidIO缓冲区大小,同时保证包传送,并实现线速吞吐量。
基于IEEE 802.1p优先权的流量控制支持8个独立流,与RapidIO的8个优先权相同。建议使用暂停包,暂停包要采用一个定时的XON/XOFF机制。在接收器有可能用完缓冲空间之前,必须激活XON/XOFF机制,否则将会丢包。作用于流量控制的延迟的关键是有效利用缓冲区。在一个设备决定必须发出一个暂停包开始的时间到接收站因收到暂停包开始响应的时间之中,接收到的信息量被称为“滑移(skid)”。
从图2可以很清楚地看到,为什么能够在包内嵌入链路级流量控制信息对RapidIO来说是一个重要优势。在第1点,接收器决定它必须关闭一个特定优先权。然而,黄色的最大帧(第2点)已开始传输,以防止暂停帧的传输。这使得接收器可以接收相应的黄色最大帧。一旦发送器收到了暂停帧,在第3点就可能出现一个类似的问题,其中一个最大帧已经开始传输。因此,以太网连接必须考虑的最低滑移的大小是两个最大包。对于长度为100米的10 Gbps连接,计算出来的滑移长度约为10.1 KB。该计算假设的是一个长度为2000字节的最大包。如果使用了其他存储相关的协议,如采用2.5 KB最大传输单元(MTU)的FCoE或9 KB的MTU的iSCSI(互联网SCSI),滑移长度将会增加。其他以太网规范,如以太网,甚至可能会增加更大滑移长度。
如果以太网交换机支持8个独立优先权,就像Gen 2 RapidIO交换器那样,言下之意是,当有足够的缓冲区来弥补滑移时,必须优先考虑XOFFed。对于NIC和采用千兆字节DRAM的处理器来说,滑移长度并不值得担心。然而,对于交换器内的嵌入式内存,滑移长度具有重要意义。大滑移长度对以太网交换机的设计人员和数据中心以太网的用户有很大的影响:
● 为了避免发送暂停帧出现背靠背的情况,在开始运作一个流之前,应该有超出滑移长度缓存可以利用。这意味着,给定流量的包传输将会突发,从而造成不平衡的网络行为。
● 无法保证发送的滑移包匹配正在关闭的优先权。因此,需要为滑移预留的一部分缓冲区将不包含数据包,从而增加了传输延迟并使吞吐量下降。
● 为了减少一个以太网端口所需的内存数量,一种设计优化是将用于流量控制的多个优先权编组在一起。这可能导致线头拥塞,吞吐量出现相应下降,同时延迟增加。
● 包传输调度算法可以补偿流量控制的不力。
虽然短期流量控制不具备传统以太网的优势,但长期流量控制具有这种优势。有许多协议旨在确定什么是可能实现的最高传输水平。这些基于软件的协议一般依靠在互联网以太网设备由于流量拥塞出现的丢包时进行丢包检测。随着DCE的问世,不再有丢包现象出现,使这些长期拥塞管理/传输速率控制协议失去了作用。相反,DCE要求支持802.1Q虚拟局域网标准。该标准对流量控制的影响稍后将在本文中讨论。
RapidIO Gen2规范为基于数据流包的流量创建了XON/XOFF,以及基于速率和信用的流量控制机制。这一机制是专门为单一目的地的多个发送器的系统开发的。该协议允许发送器之间进行通信,了解它们有多少信息可用,并针对目的地进行管理和调度,使哪一个发送器处于激活状态,并以什么速度运行。虽然流量控制机制可以用软件来支持,但是包格式很简单,用硬件也可以支持这些机制。正确使用这些流量控制机制就能够避免长期拥塞,并有助于优化应用的性能。
解决网络拥塞和流量控制问题的一个理想方案是得知网络中的拥塞位置,允许包源将传输的包调度到网络的非拥塞区域。RapidIO支持网络中的拥塞位置告知机制。RapidIO Gen2定义一个了低延迟的、基于控制符号的机制,名为虚拟输出队列(VoQ)背压。VoQ背压定义了一种分层的方法,可以用硬件来实现,将拥塞推回到网络边缘。这样做有两个好处:
● 它可以减缓造成拥塞点的流量,释放系统资源。
● 它鼓励那些不会造成拥塞的其他流量的传输,从而提高吞吐量和平衡系统负载。
在许多系统中,一些流量对延迟不太敏感,但确实需要带宽的保证。RapidIO Gen2标准支持9个虚拟通道,以VC8至VC0表示。VC0与RapidIO Gen 1向后兼容,支持多达8个优先权。VC1至VC8都有专门的资源和与之相关的具体的流量控制,以确保带宽保证可以得到满足。每个VC都有一个最低的带宽保证。这确保了分配给该VC的包能够保证随时间的推移获得相当大的进展,但是VC1至VC8的延迟不能保证。这里的VC0很特别,它可以像它想要的那样有选择地获得尽可能多的带宽。这样,VC0流量就可以有保证的延迟,而剩下的流量可以获得其合理份额的剩余带宽。由数据流包类型支持的VC与流量管理的结合可以用来设计结构的流量接纳,以保证延迟。
如前所述,由于软件带宽管理协议不再有效,DCE需要支持802.1Q虚拟局域网标准,它允许通过分配1/8个优先级数值为具体的VLAN流量配置延迟和带宽保证。这些优先级数值配合优先分配的MPLS。标准中提供的尽可能最低的延迟保证是语音流量为10毫秒。如前所述,这不能肯定所有DCE设备都将支持全部8个优先级数值,因为滑移导致了一些内存要求。
802.1Q的流量控制与已制定的以太网互联网协议有很大的不同。以太网互联网协议更改流量传输速率的典型方法是提高传输速率,直到检测到丢包,然后后退(back off)传输,直到不再检测到丢包。虽然网络的延迟意味着流量传输速率可能需要几秒钟达到稳定,但最终,还要确定最佳的传输速率。802.1Q规范没有这样的速率协商机制。
结论
在研究本文时,我偶然看到了Stuart Cheshire最初发表于1996年的一篇演讲,其极富煽动性的标题是:“这就是延迟,愚蠢的家伙”。虽然他的演讲提出了消费互联网以太网世界的延迟问题,但他现在的重点听起来还是正确的:
● 创造更多的带宽很容易
● 进一步增加有限的带宽很容易
● 一旦出现了不良延迟,你要容忍它
互联网以太网是一种大众市场以太网,其重点在于以更低的成本提供更多的带宽。消费电子设备的延迟和吞吐量已经有所提高,这得益于额外的处理能力和带宽的应用。尽管一些互联网应用依赖于延迟,但大多数消费者更关注的是吞吐量。因此,大众市场的以太网将继续把重点放在以更少的成本提供更多的比特。
数据中心以太网的特色将是增加吞吐量,改善数据中心内互联网以太网的行为。然而,这些功能对以太网芯片设计存在负面影响,仍然需要针对传输错误恢复的软件和/或卸载引擎。由于数据中心以太网市场要比互联网以太网小得多,因规模经济而出现的廉价的互联网以太网技术并不适用于数据中心以太网。
已经采用RapidIO的应用(电信/基带处理、军事、医疗成像、工业控制)的芯片到芯片、板到板、背板之间及设备间通信需要低延迟和可预测的延迟。在这些应用中领先的公司(爱立信、EMC、Mercury等)都依赖于对RapidIO的低延迟结合高吞吐量的持续关注,以确保满足这些应用的性能特点。RapidIO将继续保持与其他互连的带宽平衡,同时保持芯片对芯片、板对板、背板和长达100米电缆/光链路的最低延迟、最有效的结构可用性。
图:以太网滑移成因
本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
芯科科技日前在首届北美嵌入式世界展览会(Embedded World North America)上发表了开幕主题演讲,公司首席执行官Matt Johnson和首席技术官Daniel Cooley探讨了人工智能(AI)如何推动物联网(IoT)领域的变革,同时详细介绍了芯科科技不断发展的第二代无线开发平台所取得的持续成功以及即将推出的第三代无线开发平台。
ewCN Conference 2025现已公开征集,欢迎各界广泛投稿。ewCN将一如既往公平公正、严格评选、精心策划与呈现此次大会。
全球领先的嵌入式系统开发软件解决方案供应商IAR与北京国科环宇科技股份有限公司联合宣布,最新版本IAR Embedded Workbench for RISC-V将全面支持国科环宇AS32X系列RISC-V MCU,双方将共同助力中国汽车行业开发者的创新研发,同时将不断深化合作,扩展在行业的技术探索及生态完善。
英飞凌科技股份公司与嵌入式安全领域的全球领导者Green Hills Software LLC共同推出基于微控制器的集成处理平台,适用于安全关键型实时汽车系统。
英飞凌科技股份公司AURIX™ 微控制器(MCU)系列所提供的先进实时计算硬件适用于安全关键型汽车应用中的嵌入式AI等用例。
江波龙首次亮相上海电力展,展示了其创新的工规级电力存储解决方案。维科网电子工程网借此契机,对江波龙嵌入式存储事业部市场总监王作鹏进行了专访。
第一时间获取电子制造行业新鲜资讯和深度商业分析,请在微信公众账号中搜索“哔哥哔特商务网”或者“big-bit”,或用手机扫描左方二维码,即可获得哔哥哔特每日精华内容推送和最优搜索体验,并参与活动!
发表评论