服务器 频道

AMD和Intel比拼芯片辅助虚拟化

4)I/O:芯片/硬件厂商的共同困境

    CPU和VMM内存管理只是问题的一部分。对于硬件厂商来说,下一个巨大挑战是要改善共享I/O设备的内存交互和安全性。可能最艰巨的任务会落在I/O硬件厂商身上,需要开发可以在多个VM之间共享存取通道的设备。当前的存储、网络和图形卡等设备都只能向OS提供单一接口界面。这意味着,对于具有多个VM的系统来说,只有通过软件方法来处理IRQ中断、内存和记时器功能,除非I/O硬件可以支持多个功能性接口。

    从处理器的角度来看,挑战在于要为共享设备开发处理器级的架构。目前,AMD和Intel已经制定了非常相似的规划,已在06年春季公布,并得到了虚拟化厂商的支持。
 
    在这方面,AMD可能率先推出IOMMU(I/O memory mapping unit ,I/O内存映射单元)技术,可以提供额外的指令来支持硬件虚拟化。相应的新特性可以改进DMA(direct memory access,直接内存读取)映射和硬件设备的访问,取代当前的图形寻址机制,支持VM对设备的直接控制,同时在VM中可以直接访问相应用户的I/O。

    Intel的VT-d(Virtualization Technology for Directed I/O,定向I/O虚拟化技术)标准也非常关注直接设备访问和内存保护的问题。跟IOMMU相似,VT-d提供了在多个VM和I/O设备之间进行直接通信的架构。

    不过,就目前来说,这些对于推动虚拟化应用还是有名无实,因为I/O虚拟化本身还在探讨中。当前的I/O设备还不能管理共享VM对硬件资源的访问。实际上,现在连通过PCI总线来实现设备共享的合适标准还没有。可能需要经过2-4年,普遍的、基于设备的I/O硬件虚拟化解决方案才会出现。到那时,虚拟化厂商需要提供一个提取层,来支持对存储、网络和其他设备的共享访问。

    总的来说,2006年,虚拟化象旋风一样席卷全球IT市场。特别是在Intel和AMD在各自新推出的x86处理器中内置了虚拟化功能,更是为X86平台虚拟化的广泛普及铺平了道路。我们认为AMD的虚拟化策略可能比Intel的更具潜力。未来微软和XEN开源厂商推出的基于hypervisor的虚拟化产品都会建立在这种芯片辅助技术之上,但VMware仍会继续支持没有芯片辅助的老系统。

0
相关文章