[发明专利]基于多核DSP的自适应任务调度方法有效
| 申请号: | 201410185521.9 | 申请日: | 2014-05-04 |
| 公开(公告)号: | CN103942109B | 公开(公告)日: | 2017-02-15 |
| 发明(设计)人: | 王丰;李功燕 | 申请(专利权)人: | 江苏物联网研究发展中心 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F9/38 |
| 代理公司: | 无锡市大为专利商标事务所(普通合伙)32104 | 代理人: | 曹祖良,韩凤 |
| 地址: | 214135 江苏省无锡市新*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 多核 dsp 自适应 任务 调度 方法 | ||
技术领域
本发明涉及一种多核DSP中的任务调度方法,属于信息技术领域。
背景技术
自动并行化研究始于20世纪70年代,历经自动向量化、循环级自动并行化、过程级自动并行化等几个阶段,每个阶段的发展都体现了人们对程序并行特性理解的不断深入。通过对向量化编程规律的发现,人们提出了依赖关系分析理论,从而完成了串行程序的自动向量化。随着自动向量化技术的成功应用,研究人员把注意力转向共享内存体系结构的自动化并行化,并取得了一定的成功。但是,如何把数据分发到多个处理器上去以充分发掘程序的并行性、减少通信成本,是一个较为复杂的问题。
在多核DSP的任务并行中,最困难的问题之一是在保持所有节点或处理器负载均衡的同时最小化通信和同步的开销。在共享内存体系中,所有处理机对主存拥有相同的访问延迟和贷款,不存在因处理器访问不同位置的数据带来的通信开销。任务调度对于负载均衡和额外开销具有非常重要的影响。其调度策略直接影响着系统资源的利用率和并行效率。
任务调度的研究包括平衡负载、同步开销和通信开销。在很多共享内存多处理器系统中,一个单独的准备队列是处理调度常用机制。负载平衡是该单独准备队列处理机制的焦点,且单个准备队列容易造成竞争和同步开销,成为性能瓶颈。为并行任务选择合适的调度策略能够获得很大的性能收益。
常见的负载均衡调度有两种方法——静态调度与动态调度。
静态调度是在编译时,将任务平均分配到各个线程上。而动态调度是在运行时动态地将任务分配给空闲线程,但是,这将会花费一定的调度开销。
现有的大多数任务调度算法,都需要在编码的过程中就确认任务的调度策略,一旦确定不能修改,这将直接导致任务调度的策略死板,不灵活。并且在讨论任务调度方法时,许多方法都是默认为所有任务的计算量都是相同的进行调度,鲜有对任务的计算量不同时的情况进行探讨,对任务计算量不同时的解决方案也只是简单地采取通过某些算法将任务递减地分配给处理器。
发明内容
为了克服现有调度方法的不足,本发明提供了一种自适应的任务调度方法,采用良好的调度策略对并行任务进行合理的划分,在调度开销以及负载均衡方面获得更好的权衡,以提高多核的并行计算性能。
为了实现这个目的,本方法在多核DSP系统内建立一个公共的任务池,所有参与运算的处理器核通过算法调度从公共任务池中取走相应的任务分别进行计算,同时每个处理器核中都有一个共享的任务池,存放当前需要执行的任务;将任务分为4种类型:
(1)均等任务,每个任务的计算量基本相同;
(2)递增任务,每个任务的计算量随着任务的进行而递增;
(3)递减任务,每个任务的计算量随着任务的进行而减少;
(4)无规则随机任务,每个任务的计算量无明显规律;
整个自适应调度过程分三个步骤实现:
a.先将整个任务的前一部分(如任务的前50%)平均分配给多个处理器核进行处理,这个过程中由任务计数器与计时器对任务的运行状况进行跟踪监测;当其中有一个处理器核完成分配到的任务之后,则开始对当前所有处理器核中的结果进行分析:计算每个处理器核所负责的任务的平均处理时间n为参与任务运算的处理器核的个数,再根据计算出来的平均时间,推测任务的类型;
b.对接下来还未开始计算的任务,依据推测出任务的类型,选取对应的调度策略进行相应的动态分配,直到公共任务池中的任务都被取走为止:对均等任务类型,每个处理器核分配相同的数量的任务;对递增任务类型,为每个处理器核分配的任务数量满足递减的趋势;对递减任务类型,为每个处理器核分配的任务数量满足递增的趋势;对随机任务类型,为每个处理器核分配均等大小的小块的任务;
c.先完成任务的处理器核将找到当前剩余任务最多处理器核的任务池中,进行任务窃取(比如取走1/3任务),帮助未完成任务的处理器核分担工作量,以实现平衡;如此反复直到最终所有任务都被完成为止。
具体的,步骤b中,对均等任务类型,每个处理器核分配到的任务数均为对递增任务类型,对递减任务类型,对随机任务类型,其中,s:总的任务数量,l:剩余未被执行的任务数量,r:调度的次数,w(r,i):第r轮调度,第i个处理器当前分配到的任务数量。
本发明的优点是:此方法能够根据不同任务的特点进行自适应调度,尽可能使得任务均衡地分配给多个处理器,提高整体的计算性能。
附图说明
图1是自适应任务调度方法流程图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏物联网研究发展中心,未经江苏物联网研究发展中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410185521.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种识别AVI类型block的方法
- 下一篇:控制式压布器的升降架





