发明名称 多核平台下基于硬件计时器与任务队列的调度方法
摘要 本发明公开了一种多核平台下基于硬件计时器与任务队列的调度方法。是通过采用在硬件手段,添加多个硬件任务队列与计时器,通过计时器到时触发任务分发的方法,将任务切换的控制从通用CPU中分离出来,从而解决多核环境下的任务调度问题。本发明减轻通用CPU核的负担:调度过程将不再需要通用CPU核的帮助,令通用CPU可以专注与常规任务的运行;加快调度速度,提高系统并行性:利用硬件的计算速度以及并行能力,保证系统的性能极大的提高;任务切换预处理,加快任务切换速度,减小任务切换开销:通用CPU核的运行状态是透明的,系统知道大部分情况下任务切换发生的时间,从而可以预先为调度做准备。
申请公布号 CN101414271A 申请公布日期 2009.04.22
申请号 CN200810162904.9 申请日期 2008.12.04
申请人 浙江大学 发明人 陈天洲;王罡;冯德贵;陈度;吴斌斌;刘敬伟
分类号 G06F9/50(2006.01)I 主分类号 G06F9/50(2006.01)I
代理机构 杭州求是专利事务所有限公司 代理人 林怀禹
主权项 1. 一种多核平台下基于硬件计时器与任务队列的调度方法,其特征在于:1)多条硬件任务队列:每条硬件任务队列对应一个通用CPU核,任务队列记录了任务号以及下一轮调度时任务的可运行时间片长度,队列采用FIFO策略;队首的任务将被最先发射到对应于该硬件任务队列的CPU核上,每个硬件任务队列包含了一个计时器;2)初始任务分配:根据任务优先级TaskPriority,上一轮运行该任务的CPU核号Nolast-cpu以及每个CPU的忙碌程度Notask*Tasktime进行任务调度,调度的原则是:根据优先级,按照优先级高低的顺序调度任务。某一个任务的调度方法为,分别计算各个CPU核调度值,该值是由CPU核的忙碌程度减去该任务上一次是否在该CPU核上运行的权值得到,权值的计算方法是:如果该任务上一次运行在该CPU核,则权值为1,否则权值为零,计算结束,选择调度值最小的CPU核,将任务放入对应该CPU核的硬件任务队列中;3)由计时器触发的任务发射:当任务从硬件任务队列发射到对应CPU核的同时,该硬件队列设置其计时器的值,该值为任务该轮执行的时间片长度。任务开始运行时,启动计时器,当计时器到时,代表该任务的本轮运行时间已经结束,计时器触发CPU核进行任务切换,位于硬件任务队列列首的任务将被发射到CPU核上运行,新任务以中断的形式发射;4)当前运行任务发生阻塞,计时器即刻清零,任务切换发生:当前运行任务由于需要某些资源或计算结构,需要挂起等待,则发射消息给硬件任务队列,其对应的计时器即刻清零,任务切换发生;5)任务切换前的预处理过程:当计时器剩余时钟周期小于等于5时,下一个任务所需的内容被提前放入cache,以为任务切换做准备,达到加快任务切换速度,减小任务切换开销的目的。
地址 310027浙江省杭州市西湖区浙大路38号
您可能感兴趣的专利