超线程技术性价比与查询建议方法研究
超线程技术在虚拟机中的性能评估
在测试环境中,使用 QEMU 作为虚拟化平台。QEMU 是通用的开源机器模拟器和虚拟化器,作为虚拟化器时,它能通过在主机 CPU 上直接执行客户代码来实现接近原生的性能,并且支持在 Xen 管理程序下执行或使用 Linux 中的 KVM 模块进行虚拟化。
vCPU 并不映射到特定的物理 CPU,虚拟机根据物理 CPU 工作负载和操作系统策略进行调度。通过 /proc/cpuinfo 信息可知,操作系统通过物理 ID、核心 ID 和 apicd 区分每个核心,但在虚拟机中,CPU 型号为 QEMU Virtual CPU version 1.7.91,且虚拟机中的所有核心从 0 开始计数,这使得我们无法找出 vCPU 和物理 CPU 之间的关系。
当超线程(HT)禁用时,核心数为 4;启用时,核心数为 8。QEMU 可以模拟超过物理限制的核心数,但过度分配 vCPU 会损害性能。
Marc Fielding 对亚马逊 EC2 云服务中虚拟机的性能进行测试,结论是 vCPU 的性能低于物理 CPU,但两个启用 HT 技术的 vCPU 性能优于一个物理 CPU。之前在多核系统上运行最多 64 个副本的结果显示,大多数情况下,当副本数量等于核心数量时,基准测试可获得最高分。因此,在本测试中,在每个虚拟机上运行 N 个副本,N 为虚拟机的核心数。
不同 CPU 数量的虚拟机测试结果如下表所示:
| 核心数量 | HT 启用与禁用差异 |
| ---- | ---- |
| 1 个核心 | 差异小于 1% |
| 4
超级会员免费看
订阅专栏 解锁全文
16万+

被折叠的 条评论
为什么被折叠?



