[发明专利]一种多核系统基于局部性量化的并行任务分配调度方法有效
申请号: | 201910894969.0 | 申请日: | 2019-09-20 |
公开(公告)号: | CN110647390B | 公开(公告)日: | 2021-12-28 |
发明(设计)人: | 刘松;伍卫国;谢骁;屈彬 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 西安通大专利代理有限责任公司 61200 | 代理人: | 姚咏华 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 多核 系统 基于 局部性 量化 并行 任务 分配 调度 方法 | ||
本发明公开了一种多核系统基于局部性量化的并行任务分配调度方法,将并行任务的局部性参数值考虑到并行任务的分配调度中,通过局部性参数值对待执行任务进行合理分组,使各分组之间的局部性参数值的差异尽可能小,保障分配到同一处理器计算核上的并行任务对共享缓存具有最小程度的资源竞争,从而有效降低了共享缓存的失效率。同时,通过对程序访存地址序列进行采样,利用footprint值计算单独任务和并行任务的局部性参数值,从而显著地降低了传统局部性量化分析的巨大时间开销,提高了任务分配调度的效率。该方法能够有效地提高片上共享缓存的利用率,提高并行任务的执行性能和多核系统的吞吐率,且操作性良好。
技术领域
本发明属于多核处理器任务调度领域,特别涉及一种多核系统基于局部性量化的并行任务分配调度方法。
背景技术
随着半导体技术的飞速发展,晶体管尺寸进入纳米时代,芯片的集成度也得到高度发展,越来越多的计算核封装到单个芯片上。多核架构也成为当今主流的计算机处理器架构。为了避免代价昂贵的片外存储数据访问,降低访问延迟,提高cache(高速缓冲存储器)利用率,计算机处理器采用层次化的cache架构。最高层次的L1级cache具有与CPU主频相同的最快运行速度和最小的容量;而最低层次的cache具有最慢运行速度(仍然远快于片外存储的速度)和最大的容量,并且由处理器上的所有计算核共享使用。然而,随着集成的计算核数增加,为处理器带来更强大的并行计算能力的同时,也加剧了片上共享资源的竞争。特别是在最低层次的共享cache上,会因为争用cache资源的并行任务数增多而造成频繁的共享cache不命中,从而需要付出高昂的代价进行片外访存,严重地降低并行任务的执行性能。这是因为每个独立的并行任务会占用不同大小的计算和存储资源,使得在多核系统上不同任务并发执行并共享最低层的cache时,会出现不同大小的cache资源的需求量,并导致不同的共享cache争用情况。因此,通过任务分配策略将不同的并行任务分派到多核系统中共享相同cache的计算核上,会产生差异明显的整体执行性能。为了获得最好的片上存储资源利用率,许多工作据此开展了多核处理器系统上的任务调度和任务分配等研究。一般任务调度分为普通任务调度和实时任务调度。多核系统上的普通任务调度一般通过操作系统内核调度器实现,例如Windows的多级反馈队列调度器,Linux的CFS(CompletelyFair Scheduler),但这些调度器最初是针对单核架构设计的,之后扩展到多核层面,并没有充分的利用多核架构的特点,仍有很多提升空间。关于实时任务调度策略主要分为全局任务调度、分区任务调度和cache感知任务调度。全局任务调度和分区任务调度的核心思想是对任务按优先级进行区分,并根据任务的优先级进行合理调度,从而最大程度地发挥计算资源的效率。可是,这2种实施任务调度策略并没有考虑到共享cache的影响。而cache感知任务调度策略是通过将cache对每个任务的影响进行量化分析,并考虑到每个任务使用共享cache资源时来自其他不同计算核的干扰,进行任务分配。不过,这种方法主要应用于具有共享数据的线程级并行子任务,并不适用于解决多处理器系统上的共享cache争用问题。
发明内容
本发明的目的在于提供一种多核系统基于局部性量化的并行任务分配调度方法,能够有效的提高片上共享高速缓存的利用率,提高并行任务在多核系统上并发执行的性能,且具有好的可操作性。
为达到上述目的,本发明采用如下技术方案:
一种多核系统基于局部性量化的并行任务分配调度方法,包括以下步骤:
步骤1)、获取多核系统的任务特征和在多核系统上执行的任务个数T,通过离线采集每个任务的局部性量化参数,根据获取的每个任务的局部性量化参数计算每个任务的局部性参数值;
步骤2)、基于分组任务局部性参数平衡的原则,根据每个任务的局部性参数值将所有任务划分为多个任务分组,使每个任务分组中的任务数等于多个系统中一个处理器的计算核心数M;
步骤3)、将多个任务分组按任务分组局部性参数值从大到小排序形成待执行的任务序列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910894969.0/2.html,转载请声明来源钻瓜专利网。