[发明专利]一种多核系统基于局部性量化的并行任务分配调度方法有效
申请号: | 201910894969.0 | 申请日: | 2019-09-20 |
公开(公告)号: | CN110647390B | 公开(公告)日: | 2021-12-28 |
发明(设计)人: | 刘松;伍卫国;谢骁;屈彬 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 姚咏华 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 系统 基于 局部性 量化 并行 任务 分配 调度 方法 | ||
1.一种多核系统基于局部性量化的并行任务分配调度方法,其特征在于,包括以下步骤:
步骤1)、获取多核系统的任务特征和在多核系统上执行的任务个数T,通过离线采集每个任务的局部性量化参数,根据获取的每个任务的局部性量化参数计算每个任务的局部性参数值;局部性量化参数包括每个任务的循环热点代码的footprint值和访存地址序列长度;一个任务的局部性参数值等于该任务的footprint值除以该任务的访存地址序列长度,即
其中A表示任务名称,footpr int_value_of_A表示A任务的footprint值,address_sequence_length_of_A表示A任务的访存地址序列长度,Loc_parameter_of_A表示A任务的局部性参数值;
步骤2)、基于分组任务局部性参数平衡的原则,根据每个任务的局部性参数值将所有任务划分为多个任务分组,使每个任务分组中的任务数等于多个系统中一个处理器的计算核心数M:将局部性参数值较大的任务和局部性参数值较小的任务组成任务子组,并分配到相同的处理器上,而将局部性参数值居中的任务分配到相同的处理器上,这样可以使各个处理器上执行的任务小组的局部性参数值比较平均;
步骤3)、将多个任务分组按任务分组局部性参数值从大到小排序形成待执行的任务序列;任务分组的局部性参数值等于任务分组内所有任务的footprint值之和除以该任务分组内所有任务的访存地址序列长度之和,即
其中∑(footpr int_value_of_each_task)表示任务分组内所有任务的footprint值之和,∑(address_sequence_length_of_each_task)表示任务分组内所有任务的访存地址序列长度之和,Loc_parameter_par表示任务分组的局部性参数值;
步骤4)、为每个处理器设置一个初始为空的预分配缓存区;
步骤5)、若待执行的任务序列非空,且第i个处理器的预分配缓存区为空,则将当前待执行的任务序列中第一个任务分组载入第i个处理器的预分配缓存区;若第i个处理器的预分配缓存区不为空,且第i个处理器中的第k个计算核心空闲,则由第k个计算核心执行预分配缓存区中局部性参数值最大的任务;若待执行的任务序列为空,则调度结束。
2.根据权利要求1所述的一种多核系统基于局部性量化的并行任务分配调度方法,其特征在于,步骤1)中,任务特征包括每个共享cache连接的核心数和共享cache的个数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910894969.0/1.html,转载请声明来源钻瓜专利网。