服务器 频道

45纳米处理器性能突破 浪潮NF290D评测

  根据IDC六月份终端用户调查报告显示,2007新购买的x86服务器中有40%被用于了虚拟化应用,还预计今年部署了虚拟化应用的服务器会占所有服务器数量的10%,到2010年的时候可能会接近20%,虚拟化市场已经开始成熟。Intel自然也不会放过这个市场。Intel认为具有卓越的性能、高度的可靠性平台将会有助于推动虚拟化应用的进一步普及,现在,新的45nm处理器搭载了多种虚拟化方面的增强技术。


从VT-x/VT-i到VT-d,再到I/O AT/VMDq

  Intel将其虚拟化战略分为三步走。用于X86架构的VT-x和用于安腾架构的VT-i都是基于CPU的虚拟化技术,它们都是在CPU中增加了专门的硬件辅助电路,帮助提升虚拟化的效率。VT-d虚拟化技术则着眼于整个平台,芯片组和相关的I/O设备也加入了进来。第三步则是在I/O层面上的虚拟化,I/OAT2技术已经初步的实现了部分功能。


虚拟机平台的组成

  在Intel没有推出虚拟化技术之前,所有虚拟机VM的各种请求(比如逻辑处理器、逻辑I/O设备)都需要经过VMM软件的转换和维护,这个过程是纯软件的过程,因此占用系统资源高,效率低下。更要命的是,所有的内存存取都经过VMM控制会有安全隐患,产生错误的几率也会增加,影响了虚拟化的隔离性和可靠性。


Intel VT-x技术和VT-d技术

  在VT-x技术中增加了两个全新的执行模式VMX Root模式(用于VMM)和No-Root模式(用于Guest OS),这样可以让虚拟机上的操作系统直接运行在Ring 0上。此外还增加了VM Entry和VM Exit两种转换模式。VM Entry进程包括从VMM向Guest传输指令或者数据,进入到Non-Root模式,从VMCS载入Guest状态和VM Exit条件。VM Exit进程包括从Guest向VMM传输指令或者数据,进入到Root模式,在VMCS保存Guest状态并且重新载入Guest状态。这些功能的实现主要借助基于硬件的VMCS(VM Control Structure)来实现。


45nm处理器平台上的虚拟化改进

  在上一代的VT-x技术基础上,45nm Penryn的虚拟化性能也获得了持续的改进:VM Exit/VM Entry性能获得了25%~75%的提升,在虚拟化应用中,虚拟机切换是很频繁的,VM Exit/VM Enry的执行也就很是频繁,这方面的改进可以明显地改进虚拟机(特别是多虚拟机)下的性能。


VT-d技术是包含在芯片组中的虚拟化技术

  VT-d则是在平台层面上实现了I/O虚拟化(主要体现在整合于芯片组内的专用电路),它定义了一个用于DMA重映射的架构,可直接将I/O设备分配给未经修改的VMs或者半虚拟化VMs。不仅Stoakley平台会支持VT-d,未来更多的Intel服务器平台都会支持这些功能。关于VT-d的更详细的解析,可以参看:从VT-x到VT-d Intel虚拟化技术发展蓝图

 

I/OAT2平台级I/O优化方案

  随着新45nm处理器的升级,Intel也计划全面升级Xeon DP和Xeon MP服务器平台,无论是定位于嵌入式应用的Cranberry Lake平台、还是定位于主流双路处理器的Stoakley平台、或者是定位于多路处理器的Caneland平台,都将会支持新一代的I/OAT2技术(代号Crystal Beach2),I/OAT技术是和虚拟化技术紧密相关的。

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


I/OAT2在整个平台上都进行了提升:Direct Cache Access

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

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


根据不同的负载,DCA工作具有两种方式

  可以看到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头部放入不同的内存缓冲中。头部复制动作则是将头部进行拷贝并放置于不同的缓冲中,然后将整个数据包放入另一个缓冲中。头部复制可用于处理更长的头部。


I/OAT2附带的虚拟化功能

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

 
I/OAT2附带的虚拟化功能

  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/OAT系列特性对比

  从VT-x到VT-d,再配合I/OAT2,45nm服务器平台提供了完善的虚拟化能力和IO能力,这些都可以实质性地提升最终产品的能力。

0
相关文章