1 / 32

二、周期任务的调度

二、周期任务的调度. PART 02. 概念 固定优先级驱动 ——RM 算法 动态优先级驱动 ——EDF 算法. 二、周期任务的调度. 2013. 提纲:速率单调算法. 速率单调算法的符号表示与假设 速率单调算法的研究历史与分类 基本 RM 算法 临界时刻 Liu & Layland 1973 …. 提纲:速率单调算法. 速率单调算法的符号表示与假设 速率单调算法的研究历史与分类 基本 RM 算法 临界时刻 可调度利用率 ——Liu & Layland 1973 可调度利用率 ——“ 双曲界限”,以任务利用率表示

sela
Download Presentation

二、周期任务的调度

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 二、周期任务的调度 PART 02

  2. 概念 固定优先级驱动——RM算法 动态优先级驱动——EDF算法 二、周期任务的调度 2013

  3. 提纲:速率单调算法 • 速率单调算法的符号表示与假设 • 速率单调算法的研究历史与分类 • 基本RM算法 • 临界时刻 • Liu & Layland 1973 • …

  4. 提纲:速率单调算法 • 速率单调算法的符号表示与假设 • 速率单调算法的研究历史与分类 • 基本RM算法 • 临界时刻 • 可调度利用率——Liu & Layland 1973 • 可调度利用率——“双曲界限”,以任务利用率表示 • 可调度利用率——考虑任务偏离简单周期的距离 • …

  5. 提纲:速率单调算法 • … • 基本RM算法 • 临界时刻 • 可调度利用率——Liu & Layland 1973 • 可调度利用率——“双曲界限” • 可调度利用率——考虑任务偏离简单周期的距离 • 可调度性测试——构造加速集 • 可调度性测试——时间需求分析法 • 可调度性测试——最坏情况仿真法 • 具有任意响应时间的固定优先级任务的可调度性测试 • RM和DM算法的最优性 • 考虑应用中的实际因素 • 任务切换开销 • 不可抢占

  6. 阶梯函数 总时间需求 基本RM算法——时间需求分析法 • 回顾 ——关于“临界时刻”的识别 • 时间供给与时间需求的关系(续) • 构造the Worst Case 总时间供给:t ,即(45°射线)

  7. §6.5.2 基本RM算法——时间需求分析法 • 基本思路 • 确认一个任务是否满足它的时限 • 首先,以该任务的临界时刻开始,计算 该任务在临界时刻释放的作业+ 所有较高优先级任务的作业 的总处理时间需求 • 随后 ,在每个作业的截止期限到来之前,检验该时间需求是否被满足 • 从优先级最高任务T1开始,保证较高优先级任务可调度条件下,检查Ti的时间需求函数——wi(t) 0<t≤pi

  8. 可迭代求解 基本RM算法——时间需求分析法 • 基本思路(续) • 对于Di小于或等于pi的情况 (如果“大于”,用“繁忙区间”的时间需求分析) • 临界时刻t0释放,在t0+Di时刻之前,如果存在t0+t时刻,提供的处理器时间t变为等于或大于时间需求wi(t) • 该作业可以满足截止期限 • 因为该作业的响应时间在Ti所有作业中是最长的 • 可知Ti是可调度的 • 同时得到最长响应时间 该作业和必须在其之前完成的作业的最大时间需求

  9. 供需 w4(t) 9 8 7 w3(t) 6 5 4 w2(t) 3 2 1 t 流逝 2 4 10 1 3 6 8 9 0 5 7 时间需求函数的例子T1=(φ1,3, 1), T2=(φ1,5, 1.5), T3=(φ3,7, 1.25), T4=(φ4,9, 0.5),… T5=(φ5,10, 1) 好险! w1(t)

  10. 基本RM算法——时间需求分析法 • Exact Characterization——[Lehoczky 1989]可调度判定的充要条件 • Ti在基本RM算法下可调度,iff —— 对于j=1,…,i对应的任务,在0<t ≤min(pj,Dj)的区间内,存在wj(t)≤t的情况 • 任务集T可调度,iff ——所有Ti, i=1,…,n可调度 • 注意到: • wi(t)是阶梯函数,每次上升之前需求与供给之差wi(t)-t,在t之前是最小的,上升时阶跃增大,则 • 如不计算最大可能响应时间,只作可调度性测试,只需检查上升时刻需求wi(t)是否不大于供给t

  11. 基本RM算法——时间需求分析法 • 根据充要条件,可调度性测试的“确切”算法 • 选定上升时刻作为测试时间点 • 对于Ti,取t=jpkk=1,2,…,i ; j=1,2,…, • 检查不等式 wi(t)≤t 是否成立 • 如果在某些时刻点成立,则任务Ti可调度, • 否则,都不成立,任务Ti和任务集不可调度。 • 算法复杂度 O(nqn,1) ——伪多项式算法 • 周期比率 period ratio —— qn,1

  12. 基本RM算法——时间需求分析法 • 如果想计算任务Ti的最大可能响应时间Wi • 迭代求解方程 • 猜想的初始值t(1)开始 • 终止条件: • t(l+1)= t(l)且t(l) ≤pi,可调度 • t(l) >pi,不可调度

  13. 基本RM算法——最坏情况仿真法 • 按照给定的调度算法,构造调度表 • 对于基本RM算法 • 假设任务是同相位的, • 只需构造时间长度等于任务最大周期的初始一段就可以了; • 如果这段时间没有错过截止期限,则具有可行的调度表。 • 算法复杂度 仍为 O(nqn,1)

  14. §6.6 具有任意响应时间的固定优先级任务可调度性测试 • 考虑:任务的响应时间 可能 大于它的周期 • 问题——受到跨周期延迟的作业的影响 • 发展—— • 临界时刻 —— πi级繁忙区间 (t0,t ] • 时间需求分析 —— 通用时间需求分析 • 定义: πi级繁忙区间 … • level-πi busy interval

  15. πi级繁忙区间 • 定义: πi级繁忙区间 (t0,t ] • 在t0之前,Ti中被释放的所有作业都已完成; • Ti中的一个作业在t0时刻被释放,该作业在t时刻被全部完成。 • 说明 • 在(t0,t ],处理器一直忙于执行优先级不低于πi的作业,并且, • 繁忙区间执行的作业都是在该区间内释放的, • 当区间结束时,优先级不低于的πi作业没有积压,它们不致于影响到后续执行作业,

  16. 可以证明:繁忙区间中,下列等式的取值情况,考虑最坏情况可以证明:繁忙区间中,下列等式的取值情况,考虑最坏情况 πi级繁忙区间 • 说明 • 计算Ti集合中作业的响应时间,可以独立考虑每个πi级繁忙区间 • 繁忙区间可能跨越多个周期——超周期 hyper-p • 最大可能响应时间 可能不是在第一个周期出现 • “同相位”——In Phase • 在πi级繁忙区间内,优先级不低于的πi所有任务的第一个作业的释放时间都是相同的 • 可以证明,确定的Ti可调度性,只要考虑任务都是“in phase”的几级繁忙区间…

  17. 任意响应时间/固定优先级——通用时间需求分析方法任意响应时间/固定优先级——通用时间需求分析方法 • 可调度性测试步骤 • 如果Ti集合中的每个任务的第一个作业都在第一个周期内完成,则检查Ti的第一个作业Ji,1是否满足它的截止期限,判定Ti是否可调度; • 如果有些任务的第一个作业不能在任务的第一个周期内完成,则 • 从 开始,迭代求解 ,得到πi级繁忙区间的长度t(l);(l为迭代次数) • 计算同相位的πi级繁忙区间内, Ti中所有 个作业的最大可能响应时间Wi,j,判定可调度性。

  18. 分段来求 任意响应时间/固定优先级——通用时间需求分析方法 • Ji,j的最大可能响应时间Wi,j的计算方法 • 在同相位πi级繁忙区间内, Wi,j为满足下面等式的最小的t值 • 其中: • Hint:都从同相位πi级繁忙区间的起始点开始考虑

  19. RM和DM算法的最优性 (补充定义) • DM算法——截止期限单调算法 • 相对截止期限越短,优先级越高 • 说明: • 如果相对截止期限Di与周期pi成正比,则RM=DM • 在相对截止期限为任意取值时,DM表现较好

  20. RM和DM算法的最优性 • 广义地说,固定优先级不可能最优,因为它们可能无法调度一些实际上可行的任务集; • 特殊情况: • 当系统中的周期任务具有简单周期,RM最优 • 而且,如果此时各任务都有Di≥pi,可调度利用率URM=1 • 仅在固定优先级算法范围内考虑: • DM算法是最优的 • 假设条件:独立、可抢占, 情况Di≤pi / Di≥pi

  21. 应用中的实际因素 • 任务切换开销 • 不可抢占 • 多帧(作业相关、执行时间不同) • Tick调度 • 释放抖动 • 实际系统只有有限个优先等级 • 分层调度(高:优先级/低:Round-Robin) • …

  22. 应用中的实际因素——任务切换开销 • 任务切换时间 context-switch time • 设任务切换时间为CS • Ti中的作业开始执行后,最坏情况下自挂起Ki次,则执行时间为: e'i =ei+2(Ki+1)CS • 关键:找到确定的作业被抢占的上限 • 难——固定优先级算法 • 更难——动态优先级算法,特别是作业级动态的算法,如:LST。

  23. 应用中的实际因素——不可抢占 • 不可抢占(non-preemptive)的原因 • 调度器能力的限制,或者 • 资源互斥 • 不可抢占导致阻塞… • 阻塞时间 • 令bi(np)表示任务Ti的作业每次因为不可抢占的低优先级作业阻塞的最长时间 • bi(np)= • θk表示任务Tk的作业中最长不可抢占部分的时间

  24. 应用中的实际因素——不可抢占 • 阻塞对可调度能力的影响 • 阻塞时间(blocking time),记为bi • 被较低优先级的任务延迟 • 被推迟运行的较高优先级的任务延迟 • 对于固定优先级调度——采用需求时间分析法 • 考虑阻塞时间,求最大可能响应时间—— 当0<t≤min(Di,pi): 当考虑Di≥pi的通用分析:

  25. 概念 固定优先级驱动——RM算法 动态优先级驱动——EDF算法 二、周期任务的调度 2013

  26. 动态优先级驱动 • EDF算法 (补充定义) • LST算法——Least-Slack-Time-First • 又叫:最小松弛度优先(Minimum Laxity First,MLF)——实用中,一般是“非严格”调度 • 某个作业释放或完成时,考察当前作业集中各个作业的松弛度,排定优先级 • 注意:LST比EDF实现难度在于,必须在释放时知道(实际)执行时间

  27. 动态优先级驱动 • 固定优先级 • 未释放时,就完全预知优先级分配情况 • 动态优先级,分为 • 动态/作业级固定——释放的时候确定优先级,确定后优先级固定 • 如:EDF • 动态/作业级动态——在释放后的执行时间内,可能调整优先级, • 还可根据调整的频度细分,如: • 在某些事件出发下调整:非严格LST • 随时调整:所谓的“严格LST”

  28. 动态优先级驱动——EDF算法的可调度性 • EDF算法的可调度利用率 • 假设:独立任务、可抢占周期任务 • 当相对截止期限大于或等于周期 UEDF(n)≤1 • 当相对截止期限可能小于周期 检验可调度性条件(scheduability condition)

  29. 动态优先级驱动——EDF算法的最优性 取决于是否为 单处理器,是否 可抢占 ! • 单处理器、可抢占、任务切换时间可忽略 • EDF和LST最优 • 否则:“悲剧”了,且不如固定优先级驱动算法那样具有可预知性。

  30. 参考文献 • [Bini 2003] Bini E, Buttazzo G C. Rata Monotonic Analysis: The Hyperbolic Bound [J]. IEEE Trans. on Computers, 52(7):933-942, 2003.6. • [Han 1997] Han C C, Tyan H. A Better Polynomial-Time Schedulability Test for Real-Time Fixed-Priority Scheduling Algorithms [A]. In: Proc. of the 18th IEEE Real-Time Systems Symp. [C], San Francisco:36~45, 1997. • [Kuo 1991] Kuo Tei-Wei, Mok Aloysius K. Load Adjustment in Adaptive Real-Time Systems [A]. In: Proc. of 12th IEEE RTSS, 1991.12. • [Lehoczky 1989] Lehoczky J, Sha L, Ding Y. The Rate Monotonic Scheduling Algorithm : Exact Characterization and Average Case Behavior [A]. In: Proc. 10th IEEE RTSS, Oakland, [A] 1989, 166-171. • [王永吉 2004] 王永吉, 陈秋萍. 单调速率及其扩展算法的可调度性判定 [J]. 软件学报, 15(6):799-814, 2004.

  31. 小结——关键的知识点 • 固定优先级调度 • 临界时刻、繁忙区间 的概念 • 如何构造一个难以调度的系统 • 时间需求分析法 • RM和DM算法的最优性(考虑实际因素) • 动态优先级调度 • EDF和LST算法的最优性 • 说明:(1)学习知识看传承、靠积累,掌握方法;(2) “ 斜体 ”部分是不需要死记。——以下各章小结同此说明。

  32. 联系方法 • 李峭 • avionics@buaa.edu.cn • 10.8233 8894 • 新主楼 F710 • 202教研室——航空电子与总线通信课题组 • 课程资料——http://avionics.buaa.edu.cn RT Sys

More Related