服务器 频道

四路至强拥抱酷睿 浪潮520D2服务器首测

  I/OAT2终现身,I/OAT3露端倪

  英特尔计划在2007年将会全面升级DP和MP服务器平台,无论是定位于嵌入式应用的Cranberry Lake平台、还是定位于主流双路处理器的Stoakley平台、或者是定位于多路处理器的Caneland平台,都将会支持新一代的I/OAT2技术(代号Crystal Beach2)。

  I/OAT2有两个主要的设计目的,第一个是进一步增强数据中心网络I/O能力,第二个继续保持英特尔I/OAT的无状态架构优势。同样,I/OAT2依然是一个平台级的I/O优化方案,涉及到了CPU、芯片组、网卡控制器、等多个方面。

 

  第一代的I/OAT通过增强软件接口、软件预取到CPU、优化数据流等措施,实现对于TCP协议栈的优化处理。新一代的I/OAT2利用DCA(Direct Cache Access,直接高级缓存访问)技术,进一步降低频繁存取内存对系统性能所造成的负面影响。I/OAT2通过芯片组支持QuickData技术,该技术通过直接将网络数据放入内存中无需处理器参与,从而加速了标准网络数据的传送过程。英特尔在此基础上增加了DCA和MSI-X等功能,以提升数据传输和复制的效率。

  支持IOAT2的网卡控制器不仅支持无状态卸载,TCP分配&效验和卸载,优化多队列&数据流,分离头部/有效负载等功能,还通过增加对于DCA、MSI-X、中断快速响应、头部分离/复制等功能的支持,提升IO效能。

  可以看到DCA和MSI-X两个功能是此次IOAT2所带来的主要改进。DCA(Direct Cache Access,直接高级缓存访问)基本工作原理是使得CPU高速缓存中的数据可以被网络控制器优先访问,一方面充分利用缓存中的数据,另外一个方面利用高速缓存低延迟的特性,来避免CPU频繁的访问内存,降低系统开销。DCA有两种基本的工作模式,当处理小型I/O任务的时候,甚至不需要芯片组中QuickData引擎的参与,只有当处理大型I/O任务的时候才需要。

  MSI-X(Extended Message Signaled Interrupts,扩展消息信号中断)是MSI(消息信号中断)的增强版本,是PCIe 1.1规范中增加的新特性,可以将PCIe总线中的数据封包进行更灵活的分割,满足不同应用的需求。在I/OAT2中结合了直接内存访问、选择性中断行为的流量区别等功能,提供了更快的中断速度。

   I/OAT2还支持头部分离/复制这一新特性。头部分离是TCP/IP协议处理过程中一个必不可少的过程,I/OAT2将来自数据/有效负载的TCP、IP头部放入不同的内存缓冲中。头部复制动作则是将头部进行拷贝并放置于不同的缓冲中,然后将整个数据包放入另一个缓冲中。头部复制可用于处理更长的头部。

  在服务器虚拟化应用中,由于多个VMs共享一个网口,会由于VMM软件的开销影响而导致I/O性能损失非常的大。支持I/OAT2的平台会在平台和网卡硬件上都进行相应的改进,可提供更高效的网络数据传输,比如VM、VMM网络协议栈处理效率均可受益,该技术还可以加速数据从网络NIC硬件队列到虚拟NIC的移动。此外还利用了VMDq(NIC使用多硬件队列给VMM软交换机加速)来提升虚拟化应用的效能。

  VMDq通过排序和分类封包来提升虚拟机应用中共享网卡的效率。如上图所示,在发送数据的时候,实行轮叫发送队列服务,确保公平发送,防止出现线头阻塞(Head-of-line blocking, HOL)现象。在接收数据的时候,VMDq部分将属于不同VMs的封包分类,然后由VMM成组的发送到VM,从而减少VMM交换机代码执行的次数,以获得较高的效率。

  经过了1年多的推广,I/OAT技术已经得到了业界广泛的支持,比如MS Server 2003 SNP、Linux Kernel 2.6.18、SuSE Enterprise Linux Server 10、Redhat Enterprise Linux 5.0都已经支持I/OAT技术,VMWare也计划在下半年推出的VMWare ESX Server 3.5中增加对这一功能的支持。

功能 IOAT1(Bensley) IOAT2(Stoakley/Caneland) IOAT3(Next Gen Platform)
Intel QuickData Tech(Data Movement engine)BW 2GB/s 2GB/s 4GB/s
DMA通道数量 4 4 8
LAN stateless offloads (Header/data split, Receive Side Scaling, TX/RX checksums, TCP segmentation) 支持 支持 支持
Message Signaled Interrupts MSI MSI-X MSI-X
Direct Cache Access   支持 支持
Low Latency Interrupt   支持 支持
Optimized Header-Splitting / Replication   支持 支持
Multi-VM Direct Assignment of Data Movement Engine     支持
Required LAN Si IOAT1 IOAT2 IOAT3
Gilgal Dual GbE PHY 支持    
Zoar Dual GbE MAC/PHY 支持 支持 支持
Kawela(Adoram) Dual GbE MAC/PHY 支持 支持 支持
Oplin Dual 10 GbE MAC 支持 支持 支持
Niantic(Hadar) Dual 10 GbE MAC 支持 支持 支持 w/RSC

  英特尔最近还放出了关于I/OAT3技术的一些信息,它将DMA通道数量从4个增加到8个,并增加了为多个虚拟机直接分配DME的功能,届时I/OAT3将会在虚拟化应用中网络I/O瓶颈将会被进一步缓解。

0
相关文章