[发明专利]一种基于处理器性能监控的虚拟机共生调度方法有效
申请号: | 201410176123.0 | 申请日: | 2014-04-28 |
公开(公告)号: | CN103955398B | 公开(公告)日: | 2017-01-11 |
发明(设计)人: | 陈文智;程雨夏;王总辉;俞新杰;金睿 | 申请(专利权)人: | 浙江大学 |
主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50;G06F15/16 |
代理公司: | 杭州天勤知识产权代理有限公司33224 | 代理人: | 郑红莉 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 处理器 性能 监控 虚拟机 共生 调度 方法 | ||
技术领域
本发明涉及虚拟机技术领域,更具体地说,涉及一种基于处理器性能监控的虚拟机共生调度方法。
背景技术
系统虚拟化技术是云计算应用中的基础核心技术之一。在目前云计算数据中心,大部分应用程序部署在虚拟机中,而虚拟机则运行在商用多核架构的物理服务器上。系统虚拟化技术的使用,实现了不同的应用程序可以运行在各自的虚拟机之中,从而极大地方便了应用服务的部署与管理,保证了应用程序之间的隔离性和安全性,提高了数据中心整体运营效率。然而,现有的虚拟化技术不能很好地解决多台虚拟机共享底层的物理服务器资源时出现资源竞争的问题,导致虚拟机性能下降,当物理服务器负载较高时不能有效保证每台虚拟机的服务质量。
虚拟机之间的资源竞争主要表现在不同虚拟机之间对同一共享物理资源的竞争使用。其中共享物理资源主要包括多核处理器中的共享缓存资源、内存控制器和内存带宽资源以及外部的I/O存储资源等。由于不同虚拟机中运行不同的应用服务程序,应用程序表现出不同的资源需求特征。因此,不同虚拟机对于物理资源的需求各有不同。如果某些虚拟机同时对某一共享物理资源竞争使用,则这部分虚拟机的性能就会出现大幅下降问题。
目前,多核物理服务器普遍使用NUMA(Non-Uniform Memory Access)架构,即非一致性内存访问架构如图1所示,四台虚拟机共享底层的一台多核物理服务器。该多核NUMA架构拥有两个处理器,每个处理器中有一个共享缓存。虚拟机A(VM A)和虚拟机B(VM B)使用同一个共享缓存,虚拟机C(VM C)和虚拟机D(VM D)使用另一个共享缓存。若虚拟机A和虚拟机B对共享缓存的资源需求很强,而虚拟机C和虚拟机D对共享缓存的资源需求较弱,则虚拟机A和虚拟机B的性能因为共享缓存的竞争使用出现下降。为了缓和虚拟机A和B对共享缓存的资源竞争问题,可以指定虚拟机A和C使用同一个共享缓存,虚拟机B和D使用另一个共享缓存,从而达到缓解共享资源竞争的问题。
为了让多核系统中的线程能够更公平地使用共享缓存和处理器中其他的共享资源,Fedorova提出了一种在多核处理器环境下,基于公平使用共享缓存和处理器其他共享资源的线程调度方法和装置。线程调度器首先识别出在多核处理器上运行的可调度的线程,然后基于收集的线程运行时统计数据估计出一个性能参数。调度器根据估计出的性能参数,分别为每个线程重新分配CPU运行的时间片。通过增加线程的CPU运行时间,来弥补那些因共享资源竞争而性能下降的线程,从而使得系统中各个运行线程能够更加公平得使用多核处理器中的共享资源。
为了监控多核处理器中共享缓存的使用情况,Li Zhao等[2]提出了一种在分布式共享缓存中监控缓存资源使用情况的方法。该方法利用一张进程资源表记录该进程在共享缓存中总共占用共享缓存行的数目。通过比较每个进程的进程资源表可以得出进程之间使用共享缓存资源的高低程度。系统中为每个共享缓存行记录一个资源监控ID(RMID),当该缓存行被修改时,触发相应的进程资源表,从而更新该进程的使用共享缓存行的数目。此外,进程资源表记录的共享缓存总的行数小于物理共享缓存总行数。
通过增加线程CPU运行时间片的方法消除因共享缓存资源竞争导致的线程间公平性问题,该方法容易导致某些线程的CPU运行时间片过长,使得其他线程获得的CPU时间片小于其按权重分配所需的CPU时间片。方法二中需要修改共享缓存硬件逻辑,实现成本过高。
发明内容
针对现有技术的不足,本发明提供了一种基于处理器性能监控的虚拟机共生调度方法。
一种基于处理器性能监控的虚拟机共生调度方法,所述虚拟机共生调度方法应用于基于多核物理服务器的虚拟计算机系统,所述虚拟计算机系统中虚拟机的VCPU运行于多核物理服务器的各个物理CPU,所述的多核物理服务器包括至少2个共享缓存,各个物理CPU运行于所述的共享缓存上,当不同共享缓存上的物理CPU负载不平衡时,进行VCPU的迁移调节各个物理CPU的负载,达到各个物理CPU负载均衡,根据各个VCPU的压力值和容忍度进行VCPU的迁移,包括如下步骤:
(1)每隔一定的时间周期,针对任意两个共享缓存,根据两个共享缓存上的各个物理CPU的负载情况,确定高载物理CPU和低载物理CPU,并将所有共享缓存上与低载物理CPU的负载相同的物理CPU组合作为低载CPU集合;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410176123.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:两端调节式止动及支撑机构
- 下一篇:无框超薄LED平板灯