实时嵌入式系统的组合框架:代码大小与及时性的组件抽象
1. 资源需求与调度性
在调度算法 A 下,工作负载集合 W 会提出资源请求。组件 Q 的需求边界函数 dbfRk(W, i, A, t)
用于计算在长度为 t 的时间间隔内,W 为满足任务 i 在算法 A 下的资源(定时)要求而可能提出的最大资源需求。资源模型 Rk 的资源供应表示 Rk 所提供的资源分配量,其供应边界函数 sbfRk(t)
计算在长度为 t 的时间间隔内 Rk 可能提供的最小资源供应。若对于所有任务 i ∈ W
和所有间隔长度 t,都有 dbfRk(W, i, A, t) ≤ sbfRk(t)
,则称资源模型 Rk 满足 W 在算法 A 下的资源需求。
调度组件 Q(W, R, A)
若满足以下条件,则被认为是可调度的:
[
\forall Rk \in R \quad \forall i \in W \quad \forall t > 0 \quad dbfRk(W, i, A, t) \leq sbfRk(t)
]
组件抽象问题是指在不暴露组件内部结构(如任务数量和调度算法)的情况下,将一组工作负载在调度算法下的集体资源需求抽象为单个资源需求,即资源接口。具体来说,给定工作负载集合 W 和调度算法 A,问题是找到一个“最优”的资源模型 R,使得组件 Q(W, R, A)
可调度,此 R 即为组件 C 的资源接口。“最优”可根据多种标准确定,例如最小化各种资源的容量需求。