[发明专利]多级共享高速缓冲存储器架构下的任务分配方法和系统有效
申请号: | 201711298943.7 | 申请日: | 2017-12-08 |
公开(公告)号: | CN108132834B | 公开(公告)日: | 2020-08-18 |
发明(设计)人: | 伍卫国;刘松;谢骁;崔元桢;邹年俊 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50;G06F15/78 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 徐文权 |
地址: | 710049 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 多级 共享 高速 缓冲存储器 架构 任务 分配 方法 系统 | ||
1.一种多级共享高速缓冲存储器架构下的任务分配方法,其中,所述共享高速缓冲存储器均在同一层级且数量大于2,每个共享高速缓冲存储器均连接相同数量的核心,每个核心只能分配一个任务,其特征在于,包括步骤:
1)提取任务数、与单个共享高速缓冲存储器相连的核心的数量、共享高速缓冲存储器的个数;每个任务对应一个程序,对于待分配的每一个程序通过离线分析计算对应的footprint值和地址序列长度值;所述footprint值为程序通过离线分析访问地址序列中的不同地址数量;所述地址序列长度值为程序通过离线分析访问地址序列中的所有地址数量;
其中,任务数大于共享高速缓冲存储器的数量且不大于所有核心的数量;
2)计算任务分配方式数量,枚举所有任务分配方式,并计算每一种任务分配方式的局部性参数,选出局部性参数最小的任务分配方式作为最佳任务分配方式;
其中,局部性参数的计算方法为:在一种任务分配方式中,计算每一个共享高速缓冲存储器上的任务的局部性数据,并从所有的共享高速缓冲存储器上的任务的局部性数据中选出最大值作为该任务分配方式的局部性参数;共享高速缓冲存储器上的任务的局部性数据为:分配到该共享高速缓冲存储器所相连的所有核心的程序的footprint值之和与分配到该共享高速缓冲存储器所相连的所有核心的程序的地址序列长度值之和的比值;
3)根据最佳任务分配方式,向核心分配任务。
2.如权利要求1所述的任务分配方法,其特征在于,在步骤1)中,所述任务均是没有数据共享的程序,程序热点为循环。
3.如权利要求1所述的任务分配方法,其特征在于,所述footprint值为程序通过离线分析访问地址序列中的不同地址数量;所述地址序列长度值为程序通过离线分析访问地址序列中的所有地址数量。
4.如权利要求1所述的任务分配方法,其特征在于,在步骤1)中,所述离线分析的方法为:待分析的程序的循环热点部分运行至少连续两个完整的最外层循环迭代,记录访问的地址序列,根据访问的地址序列计算出footprint值和地址序列长度值。
5.一种多级共享高速缓冲存储器架构下的任务分配系统,其中,所述分配系统包括在同一层级且数量大于2的共享高速缓冲存储器,每个共享高速缓冲存储器均连接相同数量的核心,每个核心只能分配一个任务,其特征在于,还包括:
离线分析单元,用于计算和存储每个程度对应的footprint值和地址序列长度值;所述footprint值为程序通过离线分析访问地址序列中的不同地址数量;所述地址序列长度值为程序通过离线分析访问地址序列中的所有地址数量;
任务分配计算单元,用于计算任务分配方式数量,枚举所有任务分配方式,并计算每一种任务分配方式的局部性参数,选出局部性参数最小的任务分配方式作为最佳任务分配方式;其中,局部性参数的计算方法为:在一种任务分配方式中,计算每一个共享高速缓冲存储器上的任务的局部性数据,并从所有的共享高速缓冲存储器上的任务的局部性数据中选出最大值作为该任务分配方式的局部性参数;共享高速缓冲存储器上的任务的局部性数据为:分配到该共享高速缓冲存储器所相连的所有核心的程序的footprint值之和与分配到该共享高速缓冲存储器所相连的所有核心的程序的地址序列长度值之和的比值;
分配单元,用于根据最佳任务分配方式向核心分配任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711298943.7/1.html,转载请声明来源钻瓜专利网。