[发明专利]一种面向NUMA架构的虚拟CPU调度优化方法有效

专利信息
申请号: 201510239097.6 申请日: 2015-05-12
公开(公告)号: CN104850461B 公开(公告)日: 2018-05-11
发明(设计)人: 吴松;金海;孙华华;周理科 申请(专利权)人: 华中科技大学
主分类号: G06F9/50 分类号: G06F9/50;G06F9/455
代理公司: 华中科技大学专利中心 42201 代理人: 曹葆青
地址: 430074 湖北*** 国省代码: 湖北;42
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 面向 numa 架构 虚拟 cpu 调度 优化 方法
【权利要求书】:

1.一种面向NUMA架构的VCPU调度优化方法,其特征在于包括如下步骤:

(1)访存特征分析步骤,包括如下子步骤:

(1.1)统计在采样周期T内,每个VCPU访问各节点上的内存页的次数;找到各VCPU访问的内存页次数最多的节点,用该节点的编号表示该VCPU的内存块位置;T为0.5-5秒;

(1.2)计算各VCPU在采样周期内的LLC需求RLLCref

RLLref=α╳访问LLC次数/总指令执行数,

其中α是一个比例伸缩常量,用于将RLLCref的数量级伸缩到102量级;LLC为共享缓存;

(1.3)根据上阈值high、下阈值low以及各VCPU的RLLCref,确定各VCPU的类型,

LLC-FR类型的VCPU定义为非访存密集型VCPU,LLC-FI和LLC-T类型的VCPU定义为访存密集型VCPU;

所有VCPU分为三种类型:LLC-T、LLC-FI和LLC-FR;其中LLC-T类型的VCPU的LLC需求很大,LLC缺失率很大;LLC-FI类型的VCPU的LLC需求比较大,LLC缺失率不是非常高,但是性能随着其他VCPU带来的LLC竞争的加剧而显著下降;LLC-FR类型的VCPU的LLC需求可以忽略,LLC缺失率很小;

(2)VCPU周期性划分步骤:在每个采样周期结束后,根据步骤(1)统计的VCPU类型和内存块位置信息,在将访存密集型VCPU平均分配到不同节点的基础上,保证最大限度的本地内存访问;非访存密集型VCPU不作处理;

(3)负载均衡步骤:当某个CPU为空闲状态时,分配一个VCPU到该CPU。

2.根据权利要求1所述的方法,其特征在于,所述的访存特征分析步骤的子步骤(1.3)中,所述上阈值high取19-21、下阈值low取2.5-3.5,通过选取系统的主要的和常用的应用程序,测量它们的LLC缺失率和应用程序的RLLCref大小进行估测。

3.根据权利要求1所述的方法,其特征在于,所述VCPU周期性划分步骤包括如下子步骤:

(3.1)建立N个类型为LLC-T的集合和N个类型为LLC-FI的集合,然后将所有的未分配的LLC-T和LLC-FI的VCPU,分别划入对应的集合,相同类型和内存块位置的VCPU划分到同一集合;N为节点总数;

(3.2)判别上述2N个集合是否都为空,是则转子步骤(3.5),否则转子步骤(3.3);

(3.3)将包含访存密集型VCPU数目最少的节点记为MIN-NODE;

(3.4)选择一个未被分配的VCPU,分配到节点MIN-NODE,然后跳转到步骤(3.2);

(3.5)结束。

4.根据权利要求3所述的方法,其特征在于子步骤(3.4)中,选择未被分配的VCPU包括如下过程:

(4.1)确定VCPU的类型Type:判别2N个集合中是否至少包含一个类型为LLC-T的VCPU,是则将Type设置为LLC-T,否则将Type设置为LLC-FI;

(4.2)判别类型为Type并且内存块位置为MIN-NODE节点编号对应的VCPU的集合是否不为空,是则将该集合的第一个元素记为VCPU1,将VCPU1从该集合中删除;否则从该类型的其余N-1个集合中找到包含VCPU最多的集合,把该集合的第一个元素记为VCPU1,将VCPU1从该集合中删除。

5.根据权利要求1所述的方法,其特征在于,所述负载均衡步骤包括如下子步骤:

(5.1)初始化步骤:用一个节点链表将所有节点链接起来;针对每个节点,使用一个CPU链表将该节点包含的所有CPU按照负载大小降序排序后链接起来;

(5.2)将节点变量node赋为本地节点;

(5.3)判别节点变量node对应节点的CPU链表是否为空,是则从节点链表中删除该节点,然后跳转到步骤(5.4);否则将CPU变量pcpu赋为节点变量node对应节点的CPU链表的第一个元素,跳转到步骤(5.5);

(5.4)判别节点链表是否为空,是则跳转到步骤(5.7);否则将节点变量node赋为节点链表的第一个元素,跳转到步骤(5.3);

(5.5)判别CPU变量pcpu的运行队列中是否有可运行的VCPU,是则将RLLCref最小的可运行VCPU记为VCPU1,跳转到步骤(5.6);否则从节点变量node对应节点的CPU链表中删除CPU变量pcpu,然后跳转到步骤(5.3);

(5.6)将VCPU1迁移到空闲的CPU,进行子步骤(5.7);

(5.7)结束。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201510239097.6/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top