PV timer for KVM:优化虚拟化环境的高精度定时器
需积分: 5 21 浏览量
更新于2024-06-21
收藏 1020KB PDF 举报
“藏经阁-PV timer for KVM.pdf”主要探讨了KVM(Kernel-based Virtual Machine)环境下的PV(Paravirtualized)定时器,它是为了优化虚拟化环境中高精度定时器性能而设计的一种解决方案。
在Linux内核中,存在多种时钟源,如RTC(实时时钟)、PIT( Programmable Interval Timer)、APIC timer、HPET(High Precision Event Timer)以及TSC(Time Stamp Counter)。TSC由于其高精度和低延迟,常被用作现代Linux内核的定时器。然而,在虚拟化环境中,特别是KVM中,直接使用TSC作为定时器会因为VMexit(虚拟机退出)和中断注入带来显著的性能开销,这对依赖高精度定时器的业务(如EPOLL或游戏)来说是不利的。
TSC deadline timer是Linux内核支持的一种高精度定时器,它通过MSR(Model Specific Register)设置到期时间,并依赖TSC进行驱动。但在KVM中,当虚拟机设置或处理定时器到期时,会触发两次VMexit:一次是修改MSR,另一次是中断注入。这些额外的VMexit操作对性能敏感的业务产生了显著的影响。
为了解决这个问题,PV timer应运而生。PV timer的基本思想是利用PV机制(半虚拟化),通过共享页面(shared page)在宿主机(HOST)和客户机(GUEST)之间共享定时器信息。宿主机上运行的代理(agent)负责管理所有虚拟机的定时器设置,并使用PI(Physical Interrupt)直接向VCPU注入定时器中断,从而避免VMexit,降低开销。这种方式使得GUEST能够设置定时器,而无需离开虚拟环境,提高了效率。
阿里云的一个案例展示了VMexit对业务性能的影响。在进行jmeter压力测试时,超过90%的VMEXIT是因为写入TSC_DEADLINE MSR,导致业务系统的QPS(Queries Per Second)相比同等硬件的物理机下降了50%。这进一步证明了PV timer在优化虚拟化环境中的重要性。
总结起来,PV timer是为了解决KVM中高精度定时器性能问题而设计的技术,通过共享页面和宿主机代理来减少VMexit,提高虚拟机中依赖定时器的业务性能。这一技术对于运行在阿里云等云平台上的高性能应用具有重要意义。
2022-05-21 上传
265 浏览量
2022-05-19 上传
117 浏览量

weixin_40191861_zj
- 粉丝: 90
最新资源
- PHP实现订单商品评价支持多图上传功能
- 赶集生活android客户端动画界面深度解析
- 供应链风险管理与应急运行策略培训教程
- 清新自然风绿色森林PPT模板免费下载
- EVC环境下基于TCP的16进制数据传输实践
- 20章CSS+Div布局教程实例,轻松学懂网页设计
- 掌握IPC扫描技巧:20cn扫描工具详解
- 掌握JavaScript实现水波纹效果的技巧
- Simscape液压起落架模型的开发与应用
- 猴年商务PPT模板:极简扁平化设计风格
- 经理人必备的演讲与口才训练教程
- 深入掌握Intouch基础与高级制作技巧培训
- Angle 3.8.8版本更新,Angular5及更多资源一键获取
- 流行JavaScript框架性能深度比较
- PHP仿淘宝商品多规格属性实现与数据库交互
- IOS风格绿色毛玻璃商务PPT模板下载