[发明专利]一种面向在离线容器混合部署的LLC分配方法有效
申请号: | 202110480587.0 | 申请日: | 2021-04-30 |
公开(公告)号: | CN113190350B | 公开(公告)日: | 2022-06-14 |
发明(设计)人: | 王振宇;吴俊贤 | 申请(专利权)人: | 华南理工大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/48 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 李斌 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 离线 容器 混合 部署 llc 分配 方法 | ||
1.一种面向在离线容器混合部署的LLC分配方法,其特征在于,应用于缓存分配程序,包括以下步骤:
S1、获取所述缓存分配程序所在主机中的所有在线服务与离线任务容器进程,并分别在两条LLC缓存路和全部LLC缓存路的条件下进行性能监控;在线服务为面向用户的、有服务质量要求的应用程序;所述离线任务为不需要面向用户的批处理应用程序;
所述缓存分配程序所在主机中的其他类型进程不在缓存管控范围内;
所述性能监控具体为对缓存敏感型和问题型两种应用程序的进程采用CPU性能计数器,监控8个事件,所述8个事件具体为,指令完成数、CPU运行周期数、读取指令总数、写入指令总数、内存访问总周期数、数据访问总周期数、LLC丢失总数以及LLC命中总数;
所述性能监控的具体步骤如下:
采用CAT技术,设置被监控进程使用两个缓存路,使用监控工具监控所述8个事件1分钟,然后设置被监控进程使用全部缓存路,再重复监控过程,记录下两次监控得到的数据;
S2、根据进程两次性能监控的结果,计算缓存使用特性,判断进程属于缓存敏感型还是问题型;采用性能事件计数的前后变化和绝对值,计算出进程的缓存使用特性,缓存使用特性计算还包括计算出下列性能指标:
每周期指令数,计算公式为:
指令完成数÷CPU运行周期数
每周期LLC访问数,计算公式为:
(LLC丢失总数+LLC命中总数)÷指令完成数
平均LLC缓存丢失惩罚,计算公式为:
内存访问总周期数÷LLC丢失总数
LLC丢失率,计算公式为:
LLC丢失总数÷(LLC命中总数+LLC丢失总数)
每千条指令LLC丢失数,计算公式为:
LLC丢失总数÷指令完成数*1000
每千条指令LLC命中数,计算公式为:
LLC命中总数÷指令完成数*1000
每千条指令LLC访问数,计算公式为:
(LLC命中总数+LLC丢失总数)÷指令完成数*1000
非访存指令每指令周期数,计算公式为:
(CPU运行周期数-数据访问总周期数)÷(指令完成数-(读取指令总数+写入指令总数))
平均缓存访问延迟周期,计算公式为:
(数据访问总周期数-内存访问总周期数)÷((读取指令总数+写入指令总数)-LLC丢失数)
计算出每周期指令数变化量、每千条指令LLC丢失数变化量以及每千条指令LLC命中数变化量,三个变化量的计算式均为:
|(全部缓存路性能事件计数-两条缓存路性能事件计数)÷两条缓存路性能事件计数|
判断进程的缓存使用特性,判定条件如下:
挥霍型:每千条指令LLC丢失数大于4,每千条指令LLC命中数小于0.5且变化量小于0.3;
霸凌型:每周期指令数小于等于0.6,每千条指令LLC丢失数大于等于10,每千条指令LLC命中数大于等于10且变化量小于0.3;
高敏感型:每周期指令数小于1.3且变化量大于0.1,每千条指令LLC丢失数变化量大于0.3;
中敏感型:每周期指令数大于1.3且变化量大于0.1,每千条指令LLC丢失数变化量大于0.3;
低敏感性:除挥霍型、霸凌型、高敏感型以及中敏感型的其他情况;
S3、限制问题型进程的可用LLC缓存总量;问题型进程即挥霍型和霸凌型应用程序;所述敏感型进程即高敏感型、中敏感型以及低敏感型应用程序;
所述限制问题型进程的缓存使用空间具体是通过CAT技术,限制挥霍型和霸凌型应用程序仅能使用最多4个缓存路;
S4、采集缓存敏感型进程的内存访问记录,采用水塘抽样法计算复用时间直方图,将所述直方图代入到平均逐出时间模型计算丢失率曲线;平均逐出时间模型具体为:
令n为数据访问总数,rt(t)为复用时间为t的数据总数,f(t)为复用时间为t的数据占比,则有:
对于一次访问,定义P(t)为其复用时间大于t的概率:
现在是否移动的条件转变成了概率,即P(t),理解为复用时间为t的缓存行在一个单位时间移动P(t)个位置;此时,P(t)也理解为缓存行的移动速率;在位置m,数据到达时间为Tm,其移动速率v(Tm)为:
v(Tm)=P(Tm) (3)
根据公式(2)和(3)得出如下的关系:
对v(Tm)积分得到数据在栈中移动的距离;从Tm到Tm+1,数据在栈中移动了一个距离;当把所有位置m的移动累积起来,就会得到整个栈的大小c:
对公式(5)的左边进行变化:
因此得到公式(6):
通过公式(6)计算出AET(c),即缓存大小为c时的平均逐出时间;缓存大小为c时的丢失率,则为:
mr(c)=P(AET(c)) (7)
将值1,2,3,…,c代入到公式(7)中,得到缓存大小与丢失率的关系,即丢失率曲线;
S5、将所有应用程序的丢失率曲线和步骤S1中采集的性能监控数据代入到缓存分配退火算法,计算能够保证在线服务性能和离线任务性能的分配方案。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110480587.0/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种井下类铣刀型油管切割装置
- 下一篇:清扫控制方法、装置和空调机