网络嵌入式系统中的分布式实时调度算法CUA解析
1. 引言
在网络嵌入式系统中,线程调度是一个关键问题。传统的线程调度方法虽避免了节点间通信开销,但在建立端到端的时序保证方面存在理论困难。因此,我们引入协作调度的概念,即节点明确合作构建系统范围的线程调度,以应对节点故障。本文将详细介绍基于共识的效用累积调度算法(Consensus-based Utility accrual scheduling Algorithm,CUA),它能在节点故障的情况下满足线程时间约束,具有高效的消息复杂度和时间最优性。
2. 模型介绍
2.1 可分布线程抽象
线程通过与位置无关的调用和返回在本地和远程对象中执行。线程开始执行时会调用一个对象操作,执行对象操作的部分称为线程段。一个线程可看作是线程段的串联,其初始段称为根,最近的段称为头,头是唯一活动的段。线程也可看作是由一系列部分组成,部分是节点上连续线程段的最大长度序列,其第一个段由来自另一个节点的调用产生,最后一个段执行远程调用。
线程各部分的执行时间估计在到达时已知,该估计包括正常代码和异常处理代码的时间,且可能在运行时被违反。线程的远程调用和返回序列通常可通过分析线程代码来估计,因此线程的部分总数可预先得知。应用由一组线程组成,记为 (T = {T_1, T_2, T_3, \ldots}),线程 (T_i) 的部分集合记为 ([S_i^1, S_i^2, \ldots, S_i^k])。
2.2 及时性模型
我们使用时间效用函数(TUF)来指定每个线程的时间约束。线程 (T_i) 的 TUF 记为 (U_i(t))。经典的截止时间是单位值的,即 (U_i(t)
超级会员免费看
订阅专栏 解锁全文
35

被折叠的 条评论
为什么被折叠?



