鲲鹏虚拟化通过软硬协同方案,加速虚拟机中应用对CPU的调度效率。
- 通过NUMA感知和cluster感知特性,将关于CPU的拓扑结构直通到虚拟机,虚拟机OS内核可通过cluster任务调度优化选项,加速多线程进程调用效率。
- 优化了抢占过程中的锁机制,提升虚拟机在超分场景下的性能。
- 增加硬件死锁的机制,有效防止硬件死锁导致的虚拟机卡住而无法恢复的情况。
价值优势
- NUMA感知特性提升虚拟机内存访问性能,提升幅度在5%~15%。
- cluster感知特性提升虚拟机中的多线程应用(比如大数据)的性能,提升幅度在2%~20%。
- 虚拟机锁优化特性提升鲲鹏CPU超分场景下的性能。当8核虚拟机进行1:2超分时,UnixBench跑分可以提高约40%。
- 硬件死锁的机制可以解决ARM虚拟机硬件死锁发生后虚拟机无法继续运行的问题。
关键技术
- NUMA感知:在虚机中呈现NUMA拓扑结构,优化虚机对内存的访问效率。
- cluster感知:OS调度器新增支持cluster感知调度,OS引入软芯协同技术,提升进程调度性能;在虚拟机中呈现cluster拓扑结构支持,cluster感知调度。
- 虚拟机锁优化:虚拟机侧操作系统在申请锁时,通过共享内存查询对应的vCPU是否已经被其他虚拟机抢占。如果vCPU已经被抢占,则退出锁等待;如果vCPU未抢占,则进入锁等待。
- 虚拟机死锁检测:通过将PMI中断配置为NMI中断,同时禁用SDEI watchdog,实现在虚拟机内部触发高优先级NMI中断。当虚拟机出现hardlockup时,可以记录异常并进行复位。
适用范围
鲲鹏虚拟化通用场景,CPU超分场景。
图1 虚拟化调度优化架构图