[发明专利]一种实时多任务调度方法和装置在审
申请号: | 201210551909.7 | 申请日: | 2012-12-18 |
公开(公告)号: | CN103870327A | 公开(公告)日: | 2014-06-18 |
发明(设计)人: | 范东睿;叶笑春;王达;张浩 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F9/48 | 分类号: | G06F9/48 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 申健 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实时 任务 调度 方法 装置 | ||
技术领域
本发明涉及计算机领域,尤其涉及一种实时多任务调度方法和装置。
背景技术
在通用的硬件系统及其配套操作系统中,往往按照分时的原则进行任务调度,调度算法强调任务的公平性,尽量让不同任务公平的轮流占用CPU(Central Processing Unit,中央处理器)计算资源,而现实中,很多应用具有特定的实时性要求,即要求在规定的时间内完成任务,并对随机发生的外部事件做出响应和处理。对于这类应用,普通的强调任务公平性的软硬件调度算法难以满足要求,必须采用具有实时性保证的任务调度算法。
现有技术中,有如下解决实时性问题的技术方案:
采用LLF(Least Laxity First,最小裕度优先)算法,其中,所述裕度指的是执行完该任务还剩余的空闲时间,假设在t时刻,一个任务剩余部分的执行时间为X,其截止期限(绝对)为D,则该任务的空闲时间(裕度)为L=D-t-X。在所述LLF算法中,一个任务的优先级由所述裕度大小决定,裕度越小,优先级越高;如果存在任务相同的裕度时,则截止时间靠前的任务的优先级高,先被执行,并且只有所述裕度≥0时任务才可以调度,否则被夭折。
但是,在所述LLF算法中,在进行所述裕度值计算时,D、t都可以准确获得,但是任务的剩余执行时间却难准确估计。而且由于不同的硬件平台配置不同,相同的程序在不同硬件平台上运行的时间也不同,因此在任务创建时,很难准确估计任务实际所需的运行时间,当任务实际所需的运行时间不准确时,将导致在所述LLF算法中,对任务剩余执行时间X的计算也不准确,最终使得优先级的计算不准确,从而影响实时任务调度算法的实际效率。
发明内容
本发明的实施例提供一种实时多任务调度方法和装置,能够动态校正线程的裕度值,获得更加准确的任务优先级,进而提高实时多任务调度的准确性。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种实时多任务调度方法,该方法包括:
确定对当前调度的线程进行裕度校正;
根据所述当前调度的线程的执行进度和所述当前调度的线程已经执行的时间,获取所述当前调度的线程的剩余执行时间,其中,所述执行进度为所述当前调度的线程已经完成任务的比例;
根据所述当前调度的线程的剩余执行时间以及所述当前调度的线程的截止时间,获取所述当前调度的线程的裕度;
根据所述当前调度的线程的裕度,确定所述线程的优先级,并根据所述线程的优先级重新确定优先级队列;
根据所述重新确定的优先级队列,依次调度所述队列中的线程。
在第一种可能的实现方式中,根据第一方面,所述确定对当前调度的线程进行裕度校正具体包括:
判断所述当前调度的线程的执行进度是否等于预设的任务比例;
若所述当前调度的线程的执行进度等于所述预设的任务比例,确定对所述当前调度的线程进行裕度校正。
在第二种可能的实现方式中,根据第一方面,所述确定对当前调度的线程进行裕度校正具体包括:
判断所述当前调度的线程已经执行的时间是否等于预设的时间;
若所述当前调度的线程已经执行的时间等于所述预设的时间,确定对所述当前调度的线程进行裕度校正。
第二方面,提供了一种实时多任务调度装置,所述装置包括第一确定单元、第二确定单元、第一获取单元、第二获取单元、调度单元;
所述第一确定单元,用于确定对当前调度的线程进行裕度校正;
所述第一获取单元,用于根据所述当前调度的线程的执行进度和所述当前调度的线程已经执行的时间,获取所述当前调度的线程的剩余执行时间,其中,所述执行进度为所述当前调度的线程已经完成任务的比例;
所述第二获取单元,用于根据所述当前调度的线程的剩余执行时间以及所述当前调度的线程的截止时间,获取所述当前调度的线程的裕度;
所述第二确定单元,用于根据所述当前调度的线程的裕度,确定所述线程的优先级,并根据所述确定的优先级重新确定优先级队列;
所述调度单元,用于根据所述重新确定的优先级队列,依次调度所述队列中的线程。
在第一种可能的实现方式中,根据第二方面,所述第一确定单元确定对当前调度的线程进行裕度校正具体包括:
判断所述当前调度的线程的执行进度是否等于预设的任务比例;
若所述当前调度的线程的执行进度等于所述预设的任务比例,确定对所述当前调度的线程进行裕度校正。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210551909.7/2.html,转载请声明来源钻瓜专利网。