[发明专利]一种基于CAT的共享缓存分配方法、装置、介质以及设备在审
申请号: | 201710440133.4 | 申请日: | 2017-06-12 |
公开(公告)号: | CN107273308A | 公开(公告)日: | 2017-10-20 |
发明(设计)人: | 吴志勇;邱模炯;叶理灯 | 申请(专利权)人: | 上海优刻得信息科技有限公司 |
主分类号: | G06F12/084 | 分类号: | G06F12/084 |
代理公司: | 上海华诚知识产权代理有限公司31300 | 代理人: | 肖华 |
地址: | 200090 上海市杨浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cat 共享 缓存 分配 方法 装置 介质 以及 设备 | ||
技术领域
本发明涉及计算机领域的共享缓存调控,特别是涉及在缓存分配技术下的共享缓存的分配方法、装置、介质以及设备。
背景技术
高速缓存的作用在于加速访存速度,在现在多核处理器架构中,往往采用多级缓存架构。如Intel X86架构的CPU,每个核会有独占的L1,L2缓存,所有核会共享L3缓存。在实际使用中,不同的核上往往会运行不同的线程,它们会在共享缓存上产生竞争。传统的LRU策略对所有访存一视同仁,这会导致缓存污染的问题,即某一个程序可能会侵占大量缓存,导致其他程序性能下降。学术界对此进行了大量研究,但大部分都需要在硬件层进行改动,无法在商用处理器得到应用。2016年Intel在第四代Xeon处理器全线引入了缓存分配技术(Cache Allocation Technology,CAT),在硬件层面对共享缓存管理提供了支持。如何利用新型的CAT工具,对缓存进行调控和优化是一个很有意义的问题。
因为现在的处理器并不是顺序把物理地址映射到高速缓存上,而是采用哈希的算法。所以“页面着色”在现在的处理器架构下已经不再适用。这样操作系统就无法通过“着色”来控制缓存的位置。同时该方法的额外开销较大,也没有被Linux内核所采用。
发明内容
针对现有技术中的上述问题,本发明提供了一种新的共享缓存的分配方法,可以利用CAT高效地管理共享缓存。
根据本发明实施例的基于CAT的共享缓存的分配方法,该方法包括获得多个程序在CAT分配下的缓存失效率;基于所述多个程序在CAT分配下的缓存失效率,计算共享缓存的分配方案;根据所述共享缓存的所述分配方案分配所述多个程序的缓存。
本发明的方法使用英特尔的缓存分配技术,对并发执行的程序进行自动化的缓存分配调优,可以适用于多种多样的优化目标,比如增大吞吐量、降低失效率或者保证QoS(服务质量,quality of service)。
根据本发明实施例的基于CAT的共享缓存的分配方法,进一步包括通过模拟退火算法计算所述共享缓存的分配方案。
根据本发明实施例的分配方法的模拟退火算法包括,初始化温度值并随机产生分配方案;产生所述分配方案的相邻分配方案;c.判断所述相邻分配方案的指标数值是否优于所述分配方案的指标数值,如果判断为是,则选择所述相邻分配方案;如果判断为否,则以概率判断是否选择所述相邻分配方案;d.降低温度值,并判断所述温度值是否低于预定的阈值,如果判断为是,则选择当前的分配方案,如果判断为否,则返回步骤b。
根据本发明实施例的模拟退火算法进一步包括以概率判断是否选择所述相邻分配方案包括做如下的概率判断exp(-△/(kT))≤Random(0,1),其中Δ是所述相邻分配方案的指标数值与所述分配方案的指标数值的差值,k是常数,T是温度值;如果判断为是,则选择所述相邻分配方案,如果判断为否,则转到步骤d。
通过搜索算法寻找近似最优解,而不是直接计算出最优解。基于模拟退火算法,实现针对多种优化目标的搜索近似最优解算法,在较小的时间空间开销内,产生一个优化决策。模拟退火算法通过随机走动和逐渐降温,找到一个全局较优分配。该算法可以有效地避免陷入局部最优解,它能在较短地时间内找出一个全局的较优解。
根据本发明实施例的基于CAT的共享缓存的分配装置包括获取模块,获得多个程序在CAT分配下的缓存失效率;计算模块,基于所述多个程序在CAT分配下的缓存失效率,计算共享缓存的分配方案;以及分配模块,根据所述共享缓存的分配方案分配所述多个程序的缓存。
其中,计算模块包括模拟退火算法模块。
其中,模拟退火算法模块进一步包括初始化模块,初始化温度值并随机产生分配方案;产生模块,产生所述分配方案的相邻分配方案;判断模块,判断所述相邻分配方案的指标数值是否优于所述分配方案的指标数值,如果判断为是,则选择所述相邻分配方案;如果判断为否,则以概率判断是否选择所述相邻分配方案;第二判断模块,降低温度值,并判断所述温度值是否低于预定的阈值,如果判断为是,则选择当前的分配方案,如果判断为否,则由所述产生模块产生新的相邻分配方案。
其中,判断模块进一步包括概率判断模块,所述概率判断模块做出以下概率判断
exp(-△/(kT))≤Random(0,1)
其中Δ是所述相邻分配方案的指标数值与所述分配方案的指标数值的差值,k是常数,T是温度值;如果判断为是,则选择所述相邻分配方案,如果判断为否,则由所述第二判断模块进行判断。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海优刻得信息科技有限公司,未经上海优刻得信息科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710440133.4/2.html,转载请声明来源钻瓜专利网。