微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > PCI Express与以太网:水火不容亦或和谐共处?

PCI Express与以太网:水火不容亦或和谐共处?

时间:12-03 来源:互联网 点击:
作者:Krishna Mallampati,PLX Technology

到现在为止,PCI Express(PCIe)和以太网之间的界限泾渭分明:PCIe用于芯片与芯片间互连;以太网作为一种系统与系统之间的连接技术。有很好的理由可以说明为什么该界限可以长久维持。无论如何,这两种技术一直是绝对共存的。虽然没有迹象表明这一局面会彻底改变,但越来越多的情形显示,在过去以太网独大的领域,PCIe正越来越多地显山露水,特别是在机架内。PCIe真的在同以太网竞争并能胜出吗?

当前的架构

目前批量部署的传统系统具有需要被支持的多种互连技术。如图1所示,光纤通道和以太网是这些互连的两个例子(显然有更多种技术——如InfiniBand)。


图1:目前使用的传统I/O系统示例。

这种架构有如下局限:

* 多种I/O互连技术共存
* 输入/输出端点利用率低
* 因为需要多个I/O端点,使系统的功耗和成本都增高
* 在建构体系架构时,I/O就固定了,灵活性差
* 管理软件必须处理多个I/O协议,需占用处理能力

这种架构的致命弱点就是使用了多种I/O互连技术,因为这增加了延迟时间、加大了成本、电路板所占空间和功耗。如果所有端点在这段时间都100%地工作,则这种架构会比较有用。然而,更多的情况是,端点常常是空闲的,这意味着系统用户要为这有限的利用率掏腰包。增加的延迟是因为这些系统内处理器上本带的PCIe接口要被转换成多种协议。(设计师可以使用处理器自带的PCIe,并融合使用PCIe的所有端点来缩短系统延迟。)

显然,共享I/O端点(见图2)是解决这些限制的有效办法。该概念对系统设计师极具吸引力,因为它降低了成本和功耗、提高了性能和利用率、并简化了设计。因为共享端点有如此多的优势,所以多个组织都在试图这么做,如PCI-SIG发表了多条I/O虚拟化(Multi-Root I/O Virtualization——MR-IOV)规范来实现这一目标。然而,由于技术和商业因素的综合原因,即使MR-IOV已发布五年多,但作为规范一直没被普遍接受。


图2:将PCI Express用于共享I/O的一种传统I/O系统

共享I/O的其它优点有:

* 随着I/O速度的提高,唯一需要的额外投资是更换I/O适配器卡。在早期部署中,当在同一张卡上使用多种I/O技术时,设计师将不得不重新设计整个系统,而在共享I/O模式,当需要升级一种特定I/O技术时,设计师可以简单地用新卡替旧卡。

* 由于多个I/O端点不需要存在于同一块卡上,设计师或是可以制造更小的卡,以进一步降低成本和功耗;或是保留现有的大小,利用拿去卡上多个I/O端点所省出的空间,通过增加多个CPU、加大内存和/或增加其它端点的方式来差异化其产品。

* 设计师可以减少系统内纵横交错的电缆的数量。因为多个互连技术会需要不同的电缆,以支持协议的带宽和开销。然而,随着设计的简化以及有限的I/O互连技术种类,系统正常工作所需的电缆数量也在减少,从而降低了设计复杂性、节约了成本。

在PCIe交换机内实现共享I/O是实现如图2所述架构的关键推动者。如前述,MR-IOV技术并没被普遍接受,一种普遍看法是,它可能永远也不会。为此。单根I/O虚拟化(SR-IOV)技术出场救援,为提高性能,它用硬件实现了I/O虚拟化,并在一台物理服务器上提供了基于硬件的安全和质量服务(QoS)特性。SR-IOV还允许在同一台服务器上运行的多个客户操作系统共享I/O设备。

2007年,PCI-SIG发布了SR-IOV规范,以吁求将单一物理PCIe设备划分成多个虚拟功能,无论是网络接口卡、主机总线适配器、还是主机信道适配器。然后,虚拟机可以使用任一虚拟功能,允许许多虚拟机及其客户操作系统共享一台物理设备。

这需要I/O厂商开发支持SR-IOV的设备。而SR-IOV提供了在不同应用间,共享资源和I/O设备的最简单方法。目前的趋势是,大部分终端厂商都支持SR-IOV,而越来越多的厂商将加入这一阵营。

前面已列举了PCIe的很多好处,锦上添花的是:在传输层,PCIe是种无损建构。

PCIe规范定义了一种强健的流控制机制,以防止数据包丢失。在每一“跳”,会对每个PCIe数据进行确认,确保了传输成功。在传输错误的情况下,该包被重新传输——该过程由硬件完成,无需上层协议的任何介入。因此,在基于PCIe的存储系统中,几乎不可能发生数据丢失和损坏。

通过允许所有的I/O适配器(万兆以太网、FC或其他)移出服务器,PCIe提供了一个简化方案。借助PCIe交换机架构提供的虚拟化支持,每个适配器都可以被多个服务器共享,且同时为各服务器提供了一个逻辑适配器。服务器(或每个服务器上的虚拟机)可继续在共享适配器上直接访问自己的硬件资源集。实现的这种虚拟化允许更好的可扩展性,其中I/O和服务器可以彼此独立地进行调适。I/O虚拟化避免了服务器或I/O资源的过度配置,从而降低了成本和功耗。

表1提供了PCIe和10G以太网的高层次成本比较概览;表2提供了两者的高层次功耗比较概览。

表1:PCIe和以太网所节省成本的比较


表2:PCIe和以太网的降耗对比。


价格估算基于广泛的行业调查,对ToR(top-of-rack)交换机和适配器来说,还假设其价格会因批量、可用性和与供应商的关系深浅有所不同。这两个表为理解将PCIe用于IO共享(特别是通过拿掉了适配器)所带来的成本和功耗方面的好处提供了框架。

当然,这引发出这样一个疑问:比较成本和功耗为什么按每秒千兆字节计算,而不以每个端口为依据?主要原因是:眼下,对数据中心供应商来说,其收费趋势是按照所用带宽而不是连接数来计算。PCIe提供的带宽约是10G以太网的3倍,并允许供应商用它获利更多,若有人曾做过比较(用同样多的端口数建构相同的系统),会得出相同结论:PCIe会比以太网省50%以上。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top