串行 RapidIO 与万兆位以太网
扫描二维码
随时随地手机看文章
移动应用中多媒体内容的爆炸式增长孕育了无线网络的又一次进化。为了赶上日益增多的语音和数据通信量需求,就必须开发出高性能的系统。为了在竞争如此激烈的市场上保持领先,系统设计人员必须选择一种可扩展的互连标准,以提供更佳的性能、成本、功耗和可靠性。串行RapidIO(S-RIO)是唯一能够满足无线基带处理应用的特定需求的协议,不过万兆位以太网(10GE)有时也被看作一种替代性解决方案。
要理解10GE和S-RIO之间的差别,首先必须了解这两种标准的发展历史。以太网标准是专为大型局域网或广域网而设计的,其前提是网络上存在着功能强大的处理器,能够加强软件协议栈。这些种类的网络上的事务实际上通常都包含大量的数据通信流量,具有很高的数据承载量。但是,无线基带处理则具有与之不同的需求。在无线系统中,高性能处理部件都同时携带有控制面和数据面的通信量,并需要在彼此之间进行快速而可靠的通信。串行RapidIO就是为了支持这种类型的需求而量身设计的。
性能很重要
3G+与4G无线协议以及高级天线系统(AAS)架构都需要强大且可预知的系统性能。为了满足这种需求,在RapidIO标准中,延迟和协议效率被给予了特殊的关注。为了尽量缩短延迟,RapidIO的设计采用了较短的数据包报头以及基于目标ID(DestID)的简单路由选择架构。这种简单的传输层功能实现了100ns以内的直通交换机延迟。RapidIO提供了对传输中的数据包进行“stomp”的功能,从而使得交换机设备无须接收到整个数据包就能够将其转发(“stomp”是一种控制符号,在RapidIO协议中用于在遇到错误时取消已部分传输的数据包)。这种功能在不影响可靠性的前提下提高了系统的整体性能。如果在转发的数据包中检测到错误,RapidIO端口在无须软件干预的情况下就能够对传输中的数据包进行“stomp”处理。
相反,10GE数据包的报头要长得多,从而导致与其他处理部件进行通信的延迟增加。对于局域网与广域网而言,较长的数据包长度可以补偿较长的报头长度及相关开销所带来的影响。但是,与局域网/广域网模型中的通信量相比,无线应用中的通信量通常长度较短,而数量较多。对于这种承载量较小的通信量而言,10GE标准中较长的数据包报头就会给每次事务的效率带来不利影响,并降低系统的整体性能。10GE标准中第2层的交换机延迟也要比S-RIO中的延迟大得多,在最佳情况下也要远远超过200ns。以太网不能对传输中的数据包进行“stomp”处理。相反,它会“尽力”去传递数据包,并依赖第3或第4层的软件来验证数据包内容的完整性。
在不影响性能的前提下实现可靠性
可靠性是RapidIO的闪光点。内置在硬件中的确认设计防止了数据包丢失并保证了数据包的传送。保证可靠的数据包传送的机制是在物理层以纯硬件方式实现的。在硬件中实现数据包的传送对于系统的性能具有重大的积极影响。因为无须软件干预就能够实现可靠的传送,事务就不会因为软件例程而引入延迟。对于10GE标准而言,物理层只是尽最大努力去管理数据包的传送(也就是说,可能存在丢包)。要确保数据包传送成功,需要交由TCP层处理,在TCP层中,可靠的传送机制可能是在软件中实现的。
访问软件层需要花费宝贵的时间,消耗处理资源且对系统性能不利。10GE设计中的这种软件干预可能引入超过10μs的系统延迟。相反,S-RIO的系统延迟只有约1μs。10GE系统中的数据包重传则更为复杂,可能会消耗数十微妙。而对于S-RIO设计而言,数据包重传是透明的,完全由硬件来处理,只需不到1μs即可完成。同时,依赖软件来确保数据包的传送会造成不确定的系统延迟。根据在数据包到达时正在运行的软件例程的不同,完成数据包传送操作所需要的时间在一定程度上是不可预测的。10GE依靠软件来确保数据包的传送,所以对于那些希望获得较短而确定的延迟的系统而言,不是一个好的选择。
考虑系统成本,而不仅仅是设备成本
为了运行用于实现协议栈的软件,10GE需要用到处理器。这种对软件栈的管理工作增加了处理开销,降低了系统效率。以太网可能会耗费15%~30%的处理性能用于软件栈的管理。对于100美元的处理器而言,这就等于是每台处理器15~30美元的看不到的系统互连成本。在RapidIO系统中,协议会尽量减少对软件的依赖性,从而降低处理器的负荷,同时节省下来的开支可用于更快的处理器上,从而以更低的成本实现性能更高的系统。
系统功耗
既然处理RapidIO协议所需的处理器负荷降低了,系统功耗也将随之降低。因为用于协议管理的数千兆赫兹处理器的使用量减少了,所以系统的功耗能够保持在最低值。因此,它还能降低热管理成本并降低系统复杂度。在10GE系统中,对处理资源较多的使用量会造成更高的系统功耗。
可扩展性提供了具有竞争力的优势
无线基础设施市场中的竞争是很激烈的。因为供应商们彼此之间争着要在每条线路卡上提供更多的用户,所以建立可扩展的系统就是至关重要的。系统设计人员必须设计出一种架构,使其只需经过简单修改就能够适应性能的变化。RapidIO系统使用相同的寄存器组,就能够轻松地从最低速率扩展到最高速率。可用的端口速率是1、2、2.5、4、5、8、10、16和20Gb/s。相反,为了使以太网从1Gb速率升级到10Gb带宽,则需要一组新的寄存器,并且要对系统软件进行大量的更改。10GE生态系统所缺少的另一个重要部件是小端口数交换机。大多数设备要面对的都是拥有众多1GE端口却只有2个10GE端口的大端口数底板或聚合设备。
S-RIO的优点包括:延迟小且确定,系统处理器负荷较低,可靠性高,处理器与协议管理软件之间的耦合度低。这些优点使得S-RIO成为了无线应用的默认协议选择。尽管10GE是无线基带应用的一种可行的选择,但因其自身的劣势,通常会被设计人员舍弃。通过使用RapidIO,设计人员能够建立可扩展的系统,尽量提高性能,同时尽量降低功耗与成本,并且能够在高度竞争的市场上缩短完成时间。