一种改进的实时混合任务调度算法
文章提出了结合TBS(总带宽服务器法)算法和DMS(时限单调算法)算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。基于TBS服务器思想将非周期任务转换成有时限要求的硬实时任务,然后基于DMS调度周期任务和非周期任务。由于
一种改进的实时混合任务调度算法
谢建平1,阮幼林1,2
2武汉理工大学信息工程学院,武汉(430070) 南京大学计算机软件新技术国家重点实验室,南京(210093)
E-mail: 1
摘 要:文章提出了结合TBS(总带宽服务器法)算法和DMS(时限单调算法)算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。基于TBS服务器思想将非周期任务转换成有时限要求的硬实时任务,然后基于DMS调度周期任务和非周期任务。由于是使用静态的DMS算法,不仅可以减小任务的切换开销,而且对系统的瞬时过载有一定的适应性。
关键词:实时系统;任务调度;时限单调算法;总带宽服务器算法
1. 概述
随着计算机技术的飞速发展与普及,实时系统已经成为人们生产和生活中不可或缺的组成部分。实时系统具有及时响应、高可靠性、专用性、少人工干预等特征[1],被广泛应用于工业控制、信息通讯、网络传输、媒体处理、军事等领域。实时系统的正确性不仅依赖于计算的逻辑结果,还取决于获得计算结果的时间的正确性。在航空航天、电信、制造、国防等领域,对实时系统有着强烈的应用需求。
由于实时系统的应用面非常广,所以实时系统的分类方法很多。通常按照系统中任务的周期性或者任务对截止期限的要求进行划分。实时任务按照周期性划分可以分为周期实时任务(periodic task)和非周期实时任务(aperiodic task);按照对截止期限的要求可以分为硬实时任务和软实时任务[1]。
本文提出了结合TBS(总带宽服务器法)算法[5]和DMS(时限单调算法)[6]算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。算法将非周期任务赋予一个假想的时限,然后整个实时系统采用DMS算法调度。由于是使用静态的DMS算法,不仅可以减小任务的切换开销,而且对系统的瞬时过载有一定的适应性。
2. 实时系统的任务调度
由于实时调度是保障实时系统满足时间约束的重要手段,所以一直是实时计算研究领域中倍受关注的热点问题。调度的实质是资源的分配,包括处理器和其他运算、交互、存储资源,调度就是来用来将这些资源合理地分配给各个实时任务的一种方法。
若调度算法是在编译根据调度顺序产生的时机和方式可以分为静态调度和动态调度[1]。
的时候就做出决定从就绪任务队列中选择哪个任务来运行的,则这样的调度是静态的。这类调度算法假设系统中实时任务的特性(如:截止期,WCET等)是事先知道的。它脱机地进行可调度性分析,并产生一个调度表。静态调度算法的优点是运行开销小,可预测性强。但是,由于静态调度算法一旦做出调度决定后在运行期间就不能再改变了,所以它的灵活性较差。
如果调度器是在运行期间才决定选择哪个就绪任务来运行的,则这类调度被称为动态调度。动态调度算法能够对变化的环境做出反应,因此,这类调度算法比较灵活,适合于任务不断生成,且在任务生成前其特性并不清楚的动态实时系统。但是,动态调度算法的可预测性差且运行开销较前者大。
文章提出了结合TBS(总带宽服务器法)算法和DMS(时限单调算法)算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。基于TBS服务器思想将非周期任务转换成有时限要求的硬实时任务,然后基于DMS调度周期任务和非周期任务。由于
根据正在运行的任务是否可以被别的更紧迫和更重要的任务抢占,可以分为抢占式调度和非抢占式调度。在抢占式调度中,目前正在运行的任务可以被别的更紧迫和更重要的任务中断。同时,被抢占的任务在将来可以恢复运行,且不会影响到任务的整体时间约束。如果在调度中不允许正在运行的任务被别的任务中断,任务一旦占有了处理器便会一直运行直至完成,这样的调度则是非抢占式的,它比较适合于任务运行时间都比较短、所有任务可依次执行的系统。
3. 任务模型
本文是基于文献[3]和文献[4]提出的改进的调度算法,主要适合具有以下特征的实时系统:
(1) 所有任务运行在单处理器系统上
(2) 优先级高的任务可以抢占优先级低的任务
(3) 任务间相互独立
(4) 任务的切换时间很小,可以忽略不计
(5) 非周期任务先来先服务
(6) 所有周期任务起始于临界时刻
3.1 问题的描述
设有一个任务集
S=Tp1,Tp2,LL,Tpn,Tap1,Tap2,LL,Tapm (1)
其中,Tpi(1≤i≤n)为周期任务,每个周期任务Tpi可用如下的四元式表示:
Tpi=< Rpi,Cpi,Ppi,Dpi> (2)
式中,Rpi为任务释放时间,Cpi为任务的最大执行时间,Ppi为任务周期,Dpi为任务时限;而Tapi(1≤ i≤ m)为非周期任务,每一个非周期任务可用如下的二元式表示:
Tapi=<Capi,Rapi > (3)
式中,Capi为任务的最大执行时间,Rapi为任务释放时间。设各个非周期任务的到达规律服从常数到达的泊松过程,到达率为λi(1 ≤i ≤m),则任务的平均到达时间间隔为1/λi,并且设Dpi≤Ppi[3]。
4. 任务的调度处理
4.1 周期任务的处理
RMS调度算法是一种典型的静态优先级调度算法,它根据任务的执行周期的长短来决定调度优先级,那些具有较短执行周期的任务将具有较高优先级。DMS算法是在RMS算法的基础上发展起来的,它削弱了RMS算法中对任务模型的限制,允许任务的时限小于周期,它根据任务集中各任务的相对时限来静态分配优先级。
4.2 非周期任务的典型调度算法
人们提出了许多非周期任务调度算法,这些算法可以分为两类:基于服务器(server-based)的算法与基于空闲时间(slack-based)的算法[2]。服务器的算法,又称为带宽预留(bandwidth preserving)算法,其主要思想是:在保证满足硬实时周期任务截止期的前提下,引入一个或者几个额外的周期任务使用指定的处理器带宽作为服务器来处理非周期任务。基于空闲时间的算法主要包括空闲时间偷取算法(slack stealing algorithm)、时间片移位算法(slot shifting
文章提出了结合TBS(总带宽服务器法)算法和DMS(时限单调算法)算法的实时混合任务的调度算法,该方法能保证周期任务满足时限的要求,还能缩短非周期任务的响应时间。基于TBS服务器思想将非周期任务转换成有时限要求的硬实时任务,然后基于DMS调度周期任务和非周期任务。由于
algorithm)与双重优先级算法(dual priority algorithm),这些算法都是通过离线或者在线分析从定期任务调度的空隙获得尽可能多的处理时间来处理非定期任务。
为每个非定期请求分配一个尽可能早的截止期,这种截止期分配必须保证非定期任务的处理器利用率不能超过规定的最大值Us,这就是TBS(total bandwidth server)算法的主要思想。TBS的定义非常简单,设第k个非定期任务在时间t=rk到达时,它被分配一个截止期
[4]:
dk=max(rk,dk-1)+Ck/ Us (4)
其中Ck表示这个非定期任务的执行时间,Us是这个服务器的利 …… 此处隐藏:6535字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [初中教育]婚姻家庭法学教学教案
- [初中教育]浅谈小学语文教学中的创新教育
- [初中教育]中华人民共和国侵权责任法2009
- [初中教育]2016-2022年中国薄膜太阳能电池行业发
- [初中教育]多级轻型井点降水的应用
- [初中教育]外语教学法流派介绍和简评
- [初中教育]实验一、典型环节及其阶跃响应
- [初中教育]内蒙古2012-2013学年度国家奖学金获奖
- [初中教育]移动通信营销渠道管理探讨
- [初中教育]初三化学第一学期第一第二章基础知识点
- [初中教育]一天的食物教学设计
- [初中教育]光导照明系统的基本结构及工作原理
- [初中教育]长春市十一高、东北师范大学附属中学、
- [初中教育]“十三五”规划重点-配重式装卸车项目
- [初中教育]领导方法和领导艺术
- [初中教育]第三章 植物病虫草鼠害诊断与防治基
- [初中教育]2019届九年级语文上册 第二单元 6纪念
- [初中教育]甲级单位编制水豆腐项目可行性报告(立
- [初中教育]Ch8-1补充 09101数据库系统原理及应用-
- [初中教育]2017-2023年中国吊装设备行业市场分析
- 制作毕业纪念册需要哪些材料
- 2015-2016学年高二化学苏教版选修4课件
- 哈佛管理导师-创建商业案例
- 职场交际中的谈吐礼仪知识与职场会议接
- 中国糕点及面包行业发展现状与竞争战略
- 沂河“12·7”洪水茶山拦河坝
- 管道水流量计算公式
- 4-2发电机火灾事故处置方案
- 数字信号处理实验五
- 2009年经济师(中级)金融专业知识全真试
- 历史街区保护规划--04历史文化遗产保护
- 宁夏回族自治区中小学职称评价标准
- 评先评优测评表
- 圆的切线证明及线段长求解在在中考中的
- 【解析版】2015年江苏省南京外国语学校
- 人教版八年级上册科学第一章习题精华
- 责任心与执行力
- SA8000社会责任管理体系标准培训
- IgA肾病的饮食应注意
- 杭州市建设工程文件归档整理方案(试行)




