实现互联网连接的硬件设计通常有两种方法:一、将原始数据包从媒体存取控制器(MAC)发送到主存储器,然后由CPU处理TCP/IP协议栈;二、在TCP/IP卸载引擎(TOE)中处理几乎整个协议栈,然后将全部信息发送给主存储器。
选择哪种方法取决于你的应用及预算金额的大小。如果是个人用户,只进行网络冲浪或使用一些低带宽的互联网应用,你可能会选第一种方法。数据包的传输将是突发性的,而且一般通信量不大,因此PC或工作站的CPU将不会注意到软件执行协议层所带来的开销。但你肯定会注意到TOE高达200美元左右的OEM成本。另一方面,如果你要装配的是应用服务器、连到存储网络的网关或网络设备,由于它们需要处理密集型的数据包流量,你会发现TOE物有所值。
图:以太网卸载芯片
但是否还有其它的选择:一种成本比TOE低,但仍不会过多占用CPU资源的硬件方法?这个想法使Tehuti Networks公司推出了Bordeaux,它可被认为是一种局部TOE。
“我们是从零开始的,”Tehuti的CEO Arie Brish表示,“我们问自己,什么功能用硬件实现可以最大程度地解放CPU,但仍维持最低的成本?”Tehuti的创始人相信,答案在于简单的网络接口卡(NIC)与TOE之间。
在进行大量的传输流实验后,Tehuti推出一种连接到以太网物理层器件的引擎,它能对数据包进行初步的处理。Brish没有确切说明该器件承担多少工作。他表示,该引擎将把一串数据包传送给主CPU,但所采用的方式可以消除软件的大量工作,尤其是在发现和建立连接,以及挑选数据包方面。“该芯片完成了许多处理数据包的工作,但并非全部。”Brish说。
目前,该设计是在一颗FPGA内实现的,采用PCI-X接口与主系统连接。据Brish介绍,该设计的复杂性达到50万门级,当运行在100MHz时,处理流量载荷绰绰有余。
Tehuti针对各种不同的流量载荷做了广泛的系统内分析。它发现,CPU的利用率降低了2.5倍,或者吞吐量增加了2.5倍。与传统的NIC相比,几项专利技术能够显著减少主存储器的容量,Tehuti表示。
FPGA方案仅是一个过渡,Tehuti正计划用ASIC实现这项设计。Brish希望采用相对成熟的工艺技术,以50美元的价格提供芯片及其驱动软件。
最初,该芯片将瞄准互连网设备和应用服务器。“当一家公司的网络从100Mb升级到1Gb时,人们立刻能感受到网络速度明显加快,因此他们对网卡很满意。”Brish说,“但随着在线应用增多并开始占用新带宽时,人们就会发现传统解决方案无法满足需要,但他们又不愿花钱升级到基于TOE的网卡。这正是我们的机会。”
从长远看,Brish预计这种状况将扩展到终端用户PC和工作站。
作者: 张国勇








京公网安备 11011202001138号
