[发明专利]一种基于采样的应用程序CPU末级高速缓存缺失率曲线的预测方法有效
申请号: | 201911309038.6 | 申请日: | 2019-12-18 |
公开(公告)号: | CN111258927B | 公开(公告)日: | 2022-05-03 |
发明(设计)人: | 向耀程;肖俊;汪小林;罗英伟 | 申请(专利权)人: | 北京大学;鹏城实验室 |
主分类号: | G06F12/0802 | 分类号: | G06F12/0802;G06F12/0893 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 陈艳 |
地址: | 100871 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 采样 应用程序 cpu 高速缓存 缺失 曲线 预测 方法 | ||
本发明提出一种基于采样的应用程序CPU末级高速缓存缺失率曲线的预测方法,属于计算机体系结构领域,包括以下步骤:让目标程序在处理器上运行,设计一组访存模式可控的微程序来访问指定末级高速缓存LLC组,与目标程序在指定LLC组发生资源竞争;通过采样收集一段时间内不同LLC组上的缓存缺失数量;通过控制微程序的访存模式改变它所占用的缓存块数量,改变目标程序所在指定LLC组上占用的缓存大小;计算未被微程序影响的LLC组上的缓存缺失数与受影响的组上缓存缺失数之差,据此得到目标程序的缺失率曲线。本方法既能消除事离线探测方法的局限性,又能避免在线预测方法对程序性能的干扰。
技术领域
本发明涉及一种基于采样的应用程序CPU末级高速缓存缺失率曲线的高效探测方法,属于计算机体系结构领域。
背景技术
在现代多核处理器中,人们通常加入高速缓存(Cache)来减小应用程序的访存延迟。基本原理是利用应用程序的局部性,将可能被重用的数据放入更快的存储介质Cache中。Cache通常以层次性的结构构建,目前主流多核处理器大都采用3级Cache的结构(见图1),越靠近计算核心的Cache延迟越低同时容量也越小。计算核心在访问内存时,首先会从第一级高速缓存(L1 Cache)中寻找数据,如果发现数据缺失则从第二级高速缓存(L2Cache)中寻找,若仍然缺失则从末级高速缓存(LLC)中寻找。如果末级缓存中仍然没有目标数据则访问主存,并将该数据依次存放于各级高速缓存中方便下次使用。其中,L1和L2Cache由本地的计算核心私有,而第三级的LLC则由同一CPU芯片上的所有计算核心共享。
如何缓解各计算核心在LLC上的资源竞争一直是云计算厂商面临的重要问题。目前的主流处理器中都实现了LLC隔离机制来根据每个计算核心的需求分配LLC,例如Intel处理器的CAT(Cache Allocation Technology)和ARM处理器的MPAM(Memory SystemResource Partitioning and Monitoring)。这些技术为LLC的资源分配提供了硬件支持,但仍然需要根据每个计算核心上负载的应用程序的特征选择合适的LLC分配方案。LLC一般采用最近最少用(Least Recently Used,LRU)的替换策略,默认最近被访问的数据最可能被重新访问,而最久没被访问的数据最可能不再被访问。在多计算核心共享LLC的场景下,可能存在一个访存速度很快但没有数据重用的LLC污染型程序。它不能从更大的LLC中获益,但它会将LLC中大量的数据块替换成自己的数据,使得其他应用程序的性能下降。为解决这类问题,首先需要研究应用程序对LLC的敏感性,即程序的缓存缺失率与它所分配到的LLC大小之间的关系。业界通常用缺失率曲线(Miss Ratio Curve,MRC)来描述这种关系。MRC的横轴为程序的缓存大小,纵轴为程序在给定大小的缓存上的缺失率。
目前主要有两种探测应用程序LLC MRC的方法:(1)事先单独运行目标程序多次,每次分配给它不同大小的LLC。然后利用硬件计数器测量每次运行过程中的LLC访问次数和LLC缺失次数,从而得到不同LLC大小下应用程序的缓存缺失率。(2)在应用程序的运行过程中,收集目标程序访问LLC的地址序列,并根据这些地址序列实时预测目标程序的MRC。但这两种方法都存在明显的缺陷。方法1需要在离线环境下事先多次运行程序,它无法支持数据中心中实时调度的任务。方法2则会因为收集访存序列引入过多的额外存储开销而影响目标程序性能。并且这两种方法实时收集到的访存序列总是存在一定程度上的缺失,因此这种方法直接预测出的MRC往往不够精确。
发明内容
本发明的目的是利用访存地址采样技术,实现一种低开销、高精度的实时LLC MRC预测方法,既能消除事离线探测方法的局限性,又能避免在线预测方法对程序性能的干扰。
本方法基于应用程序在每个LLC组上的访存行为与程序整体的访存行为一致,并且少量LLC组占用量的减少不影响程序的总体性能。
据此本发明提出一种基于采样的应用程序CPU末级高速缓存缺失率曲线的预测方法,包括以下步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学;鹏城实验室,未经北京大学;鹏城实验室许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911309038.6/2.html,转载请声明来源钻瓜专利网。