[发明专利]一种面向NUMA架构的虚拟CPU调度优化方法有效
申请号: | 201510239097.6 | 申请日: | 2015-05-12 |
公开(公告)号: | CN104850461B | 公开(公告)日: | 2018-05-11 |
发明(设计)人: | 吴松;金海;孙华华;周理科 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/455 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 numa 架构 虚拟 cpu 调度 优化 方法 | ||
本发明公开了一种面向NUMA架构的VCPU调度优化方法,具体地:采集每个VCPU的访存信息,分析计算各VCPU的访存特征;根据每个VCPU的内存块位置和类型,在将访存密集型VCPU平均分配到不同NUMA节点的基础上,保证最大限度的本地内存访问;当存在空闲的CPU时,根据CPU负载大小以及CPU所属节点信息,为该空闲的CPU选取一个合适的VCPU来运行。本发明针对访存密集型应用程序在基于NUMA架构的虚拟化环境下的性能问题,根据VCPU的访存特征来优化VCPU的分配和迁移机制,在维持虚拟化层透明性的前提下,可有效地减少远端内存访问和缓解共享资源竞争,从而提高访存密集型应用程序的性能。
技术领域
本发明属于虚拟化领域,更具体地,涉及在基于NUMA架构的虚拟化环境下如何优化虚拟CPU(VCPU)调度来提高访存密集型应用程序的性能。
背景技术
随着多核架构的发展,处理器的核数目不断增加,传统UMA架构的单个内存访问控制器竞争越来越严重,于是NUMA架构应运而生。基于NUMA架构的服务器包含多个NUMA节点(简称节点),每个节点拥有多个物理CPU(简称CPU)、独立的内存块和内存访问控制器。对于某个CPU或者内存块,我们称其所在的节点为本地节点,其他节点为远端节点。各节点之间通过互连总线来传输数据,所以CPU访问本地节点内存要比远端节点内存快很多。由于NUMA架构下每个节点有自己独立的内存访问控制器,该架构能够很好地缓解内存访问控制器竞争,同时具有良好的可扩展性。
然而,在基于NUMA架构的虚拟化环境下,访存密集型应用程序的性能无法得到保障。一方面,NUMA架构下存在许多性能影响因素:远端内存访问延迟和共享资源(共享缓存、内存访问控制器和互连总线)竞争。另一方面,由于虚拟化层带来的语义隔阂,虚拟机监控器不能直接获取运行在虚拟机里面的应用程序的特征。同时,为了保证通用性,VCPU调度的负载均衡机制不考虑应用程序的访存特征,从而会导致严重的共享资源竞争和远端内存访问延迟开销。特别地,每个CPU维护一个运行队列,该队列将所有运行在该CPU上的VCPU按照其优先级大小链接起来。现有虚拟化环境下的资源调度方法都没有通过VCPU调度来精确地优化共享资源和远端内存访问开销;另外,一些相关研究在操作系统或应用程序层面进行性能优化,但需要虚拟机监控器将底层的NUMA架构信息暴露给虚拟机,这样会破坏虚拟化层的透明性,从而无法满足需求。
针对NUMA架构的优化主要有两种方法:页迁移和VCPU调度。一方面,虚拟化环境下的页迁移机制开销很大;另一方面,合理的VCPU调度不仅能够有效地减少远端内存访问次数和缓解共享资源竞争,提高访存密集型应用程序的性能,还可以维持虚拟化层的透明性。因此,本发明试图探寻一种NUMA架构感知的VCPU调度优化方法,依据程序的访存特征来指导VCPU的调度,在不破坏虚拟化层透明性的前提下,减少远端内存访问次数和缓解共享资源竞争,从而提升访存密集型应用程序的性能。
发明内容
本发明针对访存密集型应用程序在基于NUMA架构的虚拟化环境下的性能问题,提出了一种面向NUMA架构的VCPU调度优化方法。该方法根据程序的访存特征来指导VCPU的调度,在维持虚拟化层透明性的前提下,通过减少远端内存访问次数和缓解共享资源竞争来保证访存密集型应用程序的性能。
为了实现上述目的,本发明提供面向NUMA架构的VCPU调度优化方法,包括:
(1)访存特征分析步骤:通过采集和分析访存信息,计算每个VCPU的访存特征,即内存块位置和VCPU类型。
(2)VCPU周期性划分步骤:在每个采样周期结束时,根据每个VCPU的内存块位置和类型,在将访存密集型VCPU平均分配到不同节点的基础上,保证最大限度的本地内存访问;非访存密集型VCPU不作处理。
(3)NUMA感知的负载均衡步骤:当某个CPU将进入空闲状态时,它会触发负载均衡步骤,优先从本地节点上窃取一个共享缓存(LLC)需求小的VCPU来运行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510239097.6/2.html,转载请声明来源钻瓜专利网。