540 likes | 914 Views
实时系统. 课程代码: 021556 北京航空航天大学 电子信息工程学院. 提纲. 课程简介 课时安排 讲授方法 和 学习方法 考核方式. 课程简介. 所谓“实时系统” Real-Time Systems “ 实时系统是指系统的正确性不仅仅取决于逻辑运算结果,而且取决于产生这些结果的 时间 。” 它们对于外部激励的 及时 响应是至关重要的。. 课程简介. 应用 嵌入式系统的多任务处理、分布式系统互连与外界环境的交互,必须保证任务的实时性; 综合化航空电子系统处理和互连的实时性能保证要求更为严苛: 安全关键性 ——safety critical
E N D
实时系统 课程代码:021556 北京航空航天大学 电子信息工程学院
提纲 • 课程简介 • 课时安排 • 讲授方法 和 学习方法 • 考核方式
课程简介 • 所谓“实时系统” Real-Time Systems “实时系统是指系统的正确性不仅仅取决于逻辑运算结果,而且取决于产生这些结果的时间。” 它们对于外部激励的及时响应是至关重要的。
课程简介 • 应用 • 嵌入式系统的多任务处理、分布式系统互连与外界环境的交互,必须保证任务的实时性; • 综合化航空电子系统处理和互连的实时性能保证要求更为严苛: • 安全关键性——safety critical • 任务关键性——mission critical • 本课程讲授与实时系统和实时通信紧密相关的调度方法、分析方法和性能评价方法。
课时安排 —— Syllabus —— (共32-8课时) • 实时系统的概念 —— 2 • 周期任务的调度 —— 4 • 非周期和偶发任务调度 —— 4 • 时间触发调度 ——不占课时 • H Koptez教授讲座 20131010 pm • 会场原因F706是否有机会?——留联系方式等通知 9/27 10/11 10/18 10/18 讨论时间触发调度的有关内容
课时安排(续) • 共享介质网络实时通信的调度 —— 2 • 交换式网络实时通信的保证机制和服务策略 —— 4 • 实时通信的网络演算分析方法 —— 4 • 实时系统和实时通信的形式化验证技术 —— 4 • 选讲—— 2 • AADL描述 或 轨迹法分析方法 等,或者 • 讨论 Time-Triggered (如是,挪到前面安排) 10/25 10/25 11/1 11/1 11/8 11/8 11/15
讲授方法 及 学习方法 • 主要参考书 • Liu Jane W.S. 《实时系统》. Prentice Hall, 2000 / 高教社, 2003. • LeBoudec J-Y, Thiran P. “Network Calculus”. Springer-Verlag, 2004.[2011 New Ver.] http://ica1www.epfl.ch/PS_files/NetCal.htm • 新入围参考书 • Kopetz H. Real-Time Systems -- Design Principles for Distributed Embedded Applications 2nd Ed. 2011. • CHENG Albert M K. Real-Time Systems -- Scheduling, Analysis and Verification [M]. Wiley-Interscience, 2002. • 相关的学术期刊,专业会议,如: • Kluwer J. Real-Time Systems, • IEEE Trans. on Info./Indu. Info./JSAC, Proc. of IEEE, • RTSS、IEEE TR-RTS、ECRTS、RTCSA、RTAS、DATE.
评分方案 • 一定的出勤 , 10分; • 4次作业,每次1~2题,5分/次,批改五分制打分; • 作业时限内上交有效。 考核方式 • 平时成绩 30% • 作业 • 习题 贵在精、不在量 • 期末开卷考试成绩 70%
联系方法 • 李峭 • avionics@buaa.edu.cn • 8233 8894 • mobile phone … • 新主楼 F710 • 202教研室——航空电子与总线通信课题组 • 课程资料 http://avionics.buaa.edu.cn • Under Construction…(不日即可有课件下载) RT Sys
提纲 • 定义与涵义 • 讨论:对于实时系统概念的误解 • 应用的例子 • 属性与性能参数
定义与涵义 应用的例子 属性与性能参数 一、实时系统的概念 2013
定义 “实时系统是指系统的正确性不仅仅取决于逻辑运算结果,而且取决于产生这些结果的时间。” “A real-time system is one in which the correctness of the system depends not only on the logical results, but also on the time at which the results are produced.” [Stankovic 1996]
跳过 Systems, whose correctness depends (not only)on the correct logical results of computation, (but also)on meeting all deadlines. 定义 “实时系统是指系统的正确性不仅仅取决于逻辑运算结果,而且取决于产生这些结果的时间。” “A real-time system is one in which the correctness of the system depends not only on the logical results, but also on the time at which the results are produced.” [Stankovic 1996] • 可见,具体实现的规模、精度和速度都不是界定实时系统定义的本质特征,强调的是与时间有关的属性。
硬 v.s.软 Systems, whose correctness depends (not only)on the correct logical results of computation, (but also)on meeting all deadlines. (Weaker…but ) Systems, whose quality depends (not only)on the correct logical results of computation, (but also)on the time those results were produced. 定义 “实时系统是指系统的正确性不仅仅取决于逻辑运算结果,而且取决于产生这些结果的时间。” “A real-time system is one in which the correctness of the system depends not only on the logical results, but also on the time at which the results are produced.” [Stankovic 1996] Flexible
最大熵 maximum entropy 可预测性 predictability 时间确定性 time deterministic 涵义——及时性 和 时间可预测性 • 实际上,大多数情况下,实时调度机制的“overhead”使系统的平均运行速度减慢。 • 与时间有关的属性 • 及时性 Timeliness • 可预测性 Predictability 和 时间确定性 • 可预测的功能、性能和行为,关系到安全/任务的保证 • 误区——速度更高的处理器、带宽更宽的网络,就可以满足系统的实时性要求。 Real-time v.s. “Real-fast” • 实时 :设计充分考虑了时间约束条件; • “实快” :蛮干。
涵义——实时系统的严酷性与复杂性来自于: • 物理世界的严酷性 • 连续控制,如:网络化(Networked)控制系统 • 计算机/通信系统自身的复杂性与同步关系 • 离散事件动态系统(DEDS) • 而,时间… • 供给毫无弹性 • 无法储存 • 无法取代(具有竞争性的资源) • 无法失而复得(单向,事物的顺序与因果依赖于时间)
涵义——实时系统的严酷性与复杂性来自于: • 误区——常规的运筹学(OR)方法已能够解决实时系统的设计验证问题。例如:Job Shop、Just-In-Time… 可以借鉴OR的处理方法,但是… • 在“时间暴君”的制约下,找到可行、甚至优化的解决方案,必须与应用需求和外界交互操作紧密相关; • 一般的组合优化中任务是一次性的,而实时系统是持续运行的。 • 物理世界的严酷性 • 连续控制,如:网络化(Networked)控制系统 • 计算机/通信系统自身的复杂性与同步关系 • 离散事件动态系统(DEDS) • 而,时间… • 供给毫无弹性 • 无法储存 • 无法取代(具有竞争性的资源) • 无法失而复得(单向,事物的顺序与因果依赖于时间) • 实时系统 更贴近真实世界和工程实践
常规 实时系统 • 性能参数的平均值 • 最坏情况下的性能 涵义——实时系统与性能评价 • Performance Evaluation & Perf. Engineering 解决实时系统的问题,需要独特的性能评价方法 • 随机分布假设下排队论 • 确定性/概率保证排队论 • 实时系统的理论与方法 包含 性能评价,但是, • 还包含实时行为的 规格说明 与 形式化验证,以及 • 使用时序约束(有时是隐含地)确保设计的正确性。
定义——硬实时 与 软实时 • Hard Real-Time 和 Soft Real-Time • 定时约束(timing constraint)的 “硬” 和 “软” • 硬实时——“…截止期限被错过,会导致灾难性的后果” • 确定性约束、概率保证约束 和 效用函数约束 • 根据定时约束的强度和灵活性不同,分为… 这样的定义是描述性的,并未说明硬实时约束本身的要求 Best-Effort
imprecisecompu. b a f e c d g 定时约束的例子 Firm RT Weakly HRT • “相对截止期限等于周期,必须在1个周期内完成处理” • “5个连续的控制计算中,最多只能有1个响应时间超时” • 可以容忍一些作业(job)超过截止期限,但容忍的程度和时间窗口被明确地规定 • “保证响应时间超过50ms的概率不超过10-6” • 约定:及时得到的不精确结果,优于迟到的精确结果 • “用统计量定义约束,超过时限平均频度不大于2次/分” • 使用某种有用性函数表示定时约束 确定 确定 确定 概率保证 “软” BE “软” 广义的约束
定义 讨论:硬实时 v.s. 软实时 • 硬实时系统 • 硬实时约束 • 任何情况下对所有硬实时约束进行验证 • 保守的设计,悲观的性能评价,最坏情况性能保证 • 强调:时间确定性 和 调度的确定性结果 • 软实时系统 • 兼顾:时间可预测性 和 实时服务质量(QoS) • 优化目标是复杂的,评价指标是连续的 • 即使是“硬实时”,也通过合理地设定时间可预测性约束,提升系统的灵活性和容错能力。
定义 讨论:硬实时 v.s. 软实时 • 误区——设计硬实时系统 一定比 设计软实时系统 难 大部分关键性系统是“硬实时”的,这类系统设计责任重大、验证细致严格,因此习惯上认为“硬实时”比“软实时”的实现困难。然而, • 需求:重要性 、及时性 和 时间值的粒度 是有区别的属性 • 总体:设计优化程度 和 设计优化的可预测性 是相互制约的不同目标 • 硬实时系统 • 硬实时约束 • 任何情况下对所有硬实时约束进行验证 • 保守的设计,悲观的性能评价,最坏情况性能保证 • 强调:时间确定性 和 调度的确定性结果 • 软实时系统 • 兼顾:时间可预测性 和 实时服务质量(QoS) • 优化目标是复杂的,评价指标是连续的 因此,仅从设计与优化所采用的理论方法和手段来看: • “HRT is hard, but SRT is even harder。”—— E.D Jensen
f d 概率保证 BE 讨论:软实时 v.s. 尽力而为 Fuzzy! —— 概率保证 与 统计平均 d. “保证响应时间超过50ms的概率不超过10-6” f. “用统计量定义约束,超过时限平均频度不大于2次/分” “量变”“质变” • 时间约束失效为稀有概率事件,性能评价的方法不同于常规的统计方法 • (可参见后续 概率保证的可调度分析 和 随机网络演算 的内容)
讨论:软实时 v.s. 尽力而为 区别在于: • 是否将时间可预测性作为首要的设计约束,并专门采用某种调度机制保证 • 概念 —— 调度 与 派发[Jensen 1999] • Scheduling —— 对于一个可重用资源(或多个依次可重用资源)的竞争性访问,创建一个偏序表(调度表)加以限定; • Dispatching ——将访问权授予当前符合条件的(eligibility)实体,而条件的符合性判定可能通过调度器,也可能缺乏调度器的指导。
讨论:“有用性函数”——时间效用函数 • 效用 —— Utility • 效用是作业延缓程度的函数 • 表示延缓后,处理(或传输)结果的有用性,也可表示系统整体的运行性能 例如:硬实时(一般意义下)
例如:安全关键性 硬实时: • 一般认为,效用函数是描述软实时约束的工具,但它可以是一种广义的描述。 • 误解——效用函数的选择不是自然而然的事,很难验证选择的合理性,同时也很难验证。 对于“自然而然”理解的角度不同: • 计算机——不会自然地考虑应用需求 • 应用需求——”application-specific”的实时服务质量 • 例如:延迟对跟踪精度的影响 目前,效用函数在实时系统调度中未有得以推广,既不可以迷信它的理论,也不可以忽视其所强调的应用对实时性能的复杂需求。
整体 子集 飞行 任务 定义——HRT、SRT和混合关键性系统 • 硬实时系统——硬实时约束 • 软实时系统——软实时约束 如果系统中既含有硬约束,又含有软约束…? 如果系统中各部分评价和验证的强度不同…? • 所谓的“mixed criticality”系统[Baruah 2010] 例如:军用航空电子系统的 flight-critical 和 mission-critical • 飞行关键性认证——在悲观假设下循环试验 • 任务关键性验证——扩展试验 • 实践:ARINC 653 APEX的“space-time partitioning”(分区管理)
定义与涵义 应用的例子 属性与性能参数 一、实时系统的概念 2013
D/A A/D uk ek 状态模型差分 yk 应用的例子——计算机控制 周期采样 外界环境 • 计算机控制系统 • 延迟惯性环节,需要确定的时延抖动,或有确定界限 u(t) y(t) 作动器 传感器 受控对象 actuator sensor 差分 e(t) 控制器 操纵量
D/A A/D 网络,虚拟链路 yk uk ek 状态模型差分 yk 应用的例子——数字控制 周期采样 外界环境 • 计算机控制系统 • 延迟惯性环节,需要确定的时延抖动,或有确定界限 • 网络化(Networked)控制系统 u(t) y(t) 作动器 传感器 受控对象 actuator sensor 差分 e(t) 控制器 操纵量
应用的例子——层次化的实时系统 应答 指令 操作者—系统 接口 [Liu 2003] p9 • 空中交通管制(ATC) • 飞行管理(FMS) • 飞行控制 • 低层控制规律计算周期时间us, ms,…, s; • 高层控制规律计算复杂而多变,周期时间min,甚至hour。 状态观测器 空中 交通管制 来自探测器 虚拟对象 导航仪 状态观测器 飞行 管理系统 虚拟对象 状态观测器 飞行 控制器 物理对象 大气数据 系统
定义与涵义 应用的例子 属性与性能参数 一、实时系统的概念 2013
属性与性能参数 • 主动资源 和 被动资源 • 主动资源——处理器、调度器、服务器 • 被动资源——存储器、序列号、互斥量、I/O总线 • 时间资源——无弹性、不可重用/取代、不可逆 • 约定:… • 可以将主动资源统称为“处理器”—— P • 将被动资源 称为 “资源” —— R • “资源”的可重用(reusable)
属性与性能参数 • 任务 与 作业 • 作业(job)能够被系统调度和执行的工作单位 ——记为 Jk,Ji,j,作业集 J; • 任务(task)能够共同提供某种系统功能的一组相关的作业 ——记为 Ti。 • 例如:控制规律的计算、某类数据包通信任务
属性与性能参数 • 可调度实体 和 不可调度实体[Jensen 2003] • 线程、进程、处理任务、通信任务、虚拟链路 • 中断服务例程、操作系统、系统软件服务(调度器、派发机构)、网络通信服务、网络流控机构、队列 • 说明:不可调度实体的 及时性 取决于系统的设计、集成与实现,而与调度器无关; • 说明:可调度实体的接受的调度可以是广义的——操作系统、系统软件、采用人工或规划进行的离线设计; • “鸿沟”——实用者 和设计者;前者关心并“迷信”不可调度实体的性能,后者强调通过调度 可调度实体 对于定时约束的满足。——皆不可厚此薄彼! Schedulable Non-Schedulable
误区——使用实时操作系统(RTOS)的系统就是实时系统误区——使用实时操作系统(RTOS)的系统就是实时系统 • RTOS提供具有时间确定性的系统调用,它们作为底层机制使实时系统的设计更为便利,但是… • 实时性能的保证还依靠于 可调度实体 的调度方案的合理设计与实施。 • 如果设计合理,避免非实时操作系统的不利之处,也可以在非实时操作系统上实现实时应用。 属性与性能参数 • 可调度实体 和 不可调度实体[Jensen 1999] • 线程、进程、处理任务、通信任务、虚拟链路 • 中断服务例程、操作系统、系统软件服务(调度器、派发机构)、网络通信服务、网络流控机构、队列 • 说明:不可调度实体的 及时性 取决于系统的设计、集成与实现,而与调度器无关; • 说明:可调度实体的接受的调度可以是广义的——操作系统、系统软件、采用人工或规划进行的离线设计; • “鸿沟”——实用者 和设计者;前者关心并“迷信”不可调度实体的性能,后者强调通过调度 可调度实体 对于定时约束的满足。——皆不可厚此薄彼! Schedulable Non-Schedulable
属性与性能参数——不可调度实体的属性 • 不可抢占 和 可抢占 调度 • Non-preemptive • 作业一旦被派发(dispatch),就从头到尾执行。 • Preemptive • 作业可以交叉执行,调度器可以挂起较低紧急程度的作业,开始执行更高紧急程度的作业,当后者执行后从挂起点恢复执行。 • 抢占调度——场景(context)切换开销(overhead) • 对于允许抢占操作的调度器,是否可以抢占,还… • 依赖于 作业 的可抢占性 —— 有的作业会有一小段是不可抢占的,例如:关中断; • 依赖于 资源 的可抢占性 —— 例如:事务操作的原子性
对作业的调度 属性与性能参数——不可调度实体的属性 • 调度方式 • (全局)时钟驱动的调度方式 • 一般由同步时钟触发(time-triggered) • 主要为静态调度——适用于基本具有确定性的系统 • 少量的非周期和偶发作业——接受测试 和 空闲挪用 • 时间资源 访问仲裁(access arbitration) 的调度方式 • 优先级驱动——例如:EDF、RM、最小完成数 等 • 时间资源 持有控制(holding control)的调度方式 • 加权Round-Robin,令牌传递(token passing) • 对任务的调度——如:准入控制
属性与性能参数——不可调度实体的属性 • 调度算法 • 可行调度——所有作业满足定时约束 • 可调度(schedulable)——如果使用某个调度算法,对于作业集合J,调度器总能产生可行调度,则称根据此调度算法的作业集合是可调度的。 • 可调度性(schedualability) • 最优调度算法——对于任意的存在可行调度方案的作业集合,给定的硬实时调度算法总能产生可行调度,则称该调度方法是最优的。
属性与性能参数——可调度实体 • 释放时间(时刻)ri • 从释放时间(release time)ri开始,或释放之后,只要数据和控制依赖条件得以满足,作业Ji就可以被调度和派发。 • 固定的释放时间, • 释放时间抖动 [ri- , ri+], • 释放时间间隔(inter-release), • 释放时间 ~ 到达时间(arrival time)。 • 执行时间 ei • 在所需资源都具备的条件下,Ji自身执行所需的时间。 • 在可抢占调度中,执行时间是各段作业执行耗时之和, • 最小执行时间和最大执行时间 [ei- , ei+], • 确定性设计 保守地取 最大执行时间。
属性与性能参数——可调度实体 • 响应时间 • 从作业被释放的时刻到它被完成的时刻之间的时间长度; • 最大允许的响应时间为作业的相对截止期限(relative deadline) • 延迟 • 响应时间=固定延迟+可变延迟; • 固定延迟=执行时间+其它确定的时间开销; • 可变延迟 与 调度策略和运行状态有关,主要为 等待接受处理 与 等待访问公共资源 所需时间,也可以是根据调度需要有意为之的等待。 • 端到端延迟 (end-to-end delay) • 与应用有关的作业链 • 网络传输——从应用层到应用层
属性与性能参数——可调度实体 • 截止期限 • 相对截止期限(relative deadline) • 绝对截止期限(absolute deadline) • 绝对截止期限=释放时间+相对截止期限 • 时延抖动(jitter) • [最好情况下的响应时间,最坏情况下的响应时间] • 对作业的行为施加定时约束,最简单的形式就是对 释放时间 和 相对截止期限 进行限定。
属性与性能参数—— 调度器 可调度实体 • 优先级 • 可调度实体属性的参数值——如:EDF • 调度器的实现 —— 系统服务的优先级 • 参数值 到 实现的优先级 之间的 映射 • 如果系统的分布范围较大、复杂度较高 • 在不同的平台上,调度器的实现如何统一? • 服务质量(QoS)——“参数化品质”,直接由应用的性能需求设定品质需求; • 在本地,根据具体实现,映射调度器的优先级。
属性与性能参数——实时任务的模型 • 建模的目的 • 描述:对目标系统的属性进行确切地描述; • 演绎:采用分析工具,从属性中推导出其它属性,或识别其中的规律; • 忽略:模型可以忽略不重要的细节。 • 对于 实时系统建模 • 涉及的属性——时间行为+系统结构 • 推导的目的——定时约束是否能得到满足?
属性与性能参数——实时任务的模型 • 周期任务(periodic task)模型 • Ti—— 任务,包含一系列作业; • Ji,j—— 作业 • pi —— 周期,作业的固定释放间隔时间 • φi—— 第一个作业的释放时间 • Di —— 相对截止期限 • ei—— 执行时间 • WCET —— 最坏情况下的执行时间 • 四元组表示周期任务Ti—— (φi , pi, ei , Di)
属性与性能参数——实时任务的模型 • 周期任务模型 • H —— 超周期 {pi}i=1,…,n的最小公倍数 • 每个超周期内作业的个数 N= • ei/pi—— 任务Ti 的利用率(utilization) • U ——总利用率
属性与性能参数——实时任务的模型 实时系统要响应外部事件,执行偶发或非周期作业,它们的释放(到达)时间是随机的。 • 偶发任务 有 强截止期限 的要求,偶发任务的设计需要 最小到达间隔 的限定; • 非周期任务 到达间隔 没有限定。 • 偶发任务(sporadic task)模型 • pi —— 最小到达间隔(MINIMUM inter-release time) • φi—— 第一个作业的释放时间 • Di —— 相对截止期限 • ei—— 执行时间 一般事先不知道 执行时间
属性与性能参数——实时任务的模型 • 非周期任务(aperiodic task)模型 • pi =0 —— 无最小到达间隔 • Di —— 相对截止期限(软) • 对于非周期作业,仅希望快速响应;响应延迟是恼人的,但可以容忍。
属性与性能参数——实时任务的模型 • 周期作业、偶发作业和非周期作业