[xen虚拟化技术]Xen虚拟监视器中APIC-v提升性能讲解

更新时间:2019-10-04    来源:安全和优化    手机版     字体:

【www.bbyears.com--安全和优化】

APIC-v即APIC Virtualization,是指Intel CPU对虚拟中断和APIC虚拟化方面的优化,使用APIC-v可以大量减少由于APIC访问、追踪虚拟APIC状态和传送虚拟中断而产生的VM Exit的数量(这些操作都可以直接在VMX non-root模式下完成而不需要VM Exit)。Intel在IvyBridge-EP服务器CPU中引入了APIC-v特性。关于APIC-v的详细信息,可以自行参考Intel的 SDM-3C中“Chapter 29 APIC Virtualization And Virtual Interrupts”这一章。(Ivy Bridge EP 在 2013年9月release了,10月将此文公开发表)

在最新的Xen和KVM中都已经实现了对APIC-v的支持。本文主要分享一下最近在Xen中测试APIC-v特性带来的性能提升。

在IvyBridge-EP系统上,使用了Intel 82599网卡(10Gb)直接分配给Xen的HVM guest使用,使用Netperf测试网络吞吐量。(网络I/O是能体现出APIC-v好处的)。一些测试数据如下图所示:

 

APICv-performance-in-Xen

 

对这里的测试做如下的解释:

1. 第一组数据是Netperf测试时使用的消息大小较大的情况(每个消息16384Bytes大小);这时,网卡吞吐量几乎都达到了极限值 9.3 Gbps左右,而在在使用APIC-v的情况下,该guest的CPU资源占用率下降了2.3%。

2. 第二组数据是消息大小较小的情况(64Bytes),在使用APIC-v时,吞吐量增加了0.8%,同时CPU利用率降低了0.3%。

3. 第三组比较复杂,是启动了2个guest,分别分配82599网卡的一个function,而且将这两个guest的vCPU都绑定到同一个物理CPU 上,而且为了让该物理CPU能够达到满负荷运转,还使用“xenpm set-scaling-minfreq 1 1200M”和“xenpm set-scaling-maxfreq 1 1200M”命令将该物理CPU的频率降低为1200MHz(降之前最高位2700MHz)。这里的吞吐量是两个guest中的网络吞吐量之和,在使用 APIC-v的情况下,当同样一个物理CPU满负荷运行时,网络吞吐量上升了7.5%。

本文来源:http://www.bbyears.com/asp/71065.html

热门标签

更多>>

本类排行