目前,Intel和AMD都在处理器架构中提供了对Passthrough I/O的支持。Intel将这种支持称为VT-d(Virtualization Technology for Directed I/O),AMD称之为IOMMU(I/O Memory Management Unit)。所以有必要了解一下Passthrough技术。
Passthrough I/O模型是指在客户机内部能够直接对硬件进行操作,如下图所示。
Passthrough模型将设备独占式地分配给指定的客户域,使该域具有最高的I/O访问性能。这样做的优点:
1. 不需模拟设备进行请求转换,故访问速度高;
2. 客户机能根据最新硬件,加载对应驱动,可充分发挥新硬件的功能;
3. 客户机可直接操纵硬件设备,提供了I/O性能。
Passthrough技术与基于软件的虚拟化I/O模型相比的优势:
1. 可直接对I/O设备进行操作,降低了CPU的开销;
2. I/O操作不需要经过一个有特权的客户机,不存在I/O瓶颈问题;
3. 不需要修改客户机驱动;
4. VMM的设计相对简单,可移植性较好。
当然,Passthrough技术也存在不足:
1. Passthrough最大程度上提供I/O性能是以牺牲设备共享能力为代价的;
2. Passthrough I/O中的设备只能被某个客户机所独占,难以充分发挥I/O设备的利用率。