3. 任务模型与资源需求描述
在航电系统资源管理中,任务模型是连接“应用功能”与“计算/通信资源”的桥梁。若任务模型描述不准确,后续的调度、分配与实时性分析都会失去意义。本节围绕任务图、周期/非周期任务、实时性约束、资源需求向量、依赖关系与优先级建模方法展开,目标是让读者能够把一条航电功能需求,转化为可被调度器理解的任务描述。
一、任务图:把功能拆成可调度的节点
航电系统中的功能通常不是单一程序,而是由多个子功能协作完成。例如“大气数据采集与显示”可拆分为传感器采样、数据滤波、余度表决、显示刷新等子任务。任务图(Task Graph)用有向图描述这些子任务及其数据依赖:节点表示任务或子任务,有向边表示数据流或控制流,边上的标注可表示数据量、通信延迟或触发条件。
任务图的价值在于:它把“功能”变成“可分析的结构”。调度器看到的不再是模糊的功能名称,而是节点集合、执行时间、依赖边和截止期。对于多核航电平台,任务图还能帮助判断哪些节点可以并行、哪些必须串行、跨核通信代价是否可接受。
二、周期任务与非周期任务
航电任务按触发方式可分为两类。周期任务以固定周期到达,例如飞控律解算每 10 ms 执行一次,导航滤波每 50 ms 执行一次。周期任务通常具有明确的执行时间上界和截止期,适合用速率单调(RM)或最早截止期优先(EDF)等方法分析。非周期任务由事件触发,例如告警响应、模式切换、地面指令处理,其到达时间不确定,但往往具有较高的紧迫性。
实际系统中还存在“偶发任务”:最小到达间隔已知,但具体到达时刻不确定。建模时通常用最小间隔、最坏执行时间和相对截止期三个参数描述。周期任务保证基线负载,非周期任务消耗剩余资源,二者共同构成资源需求。
三、实时性约束与资源需求向量
实时性约束不只是“截止期”一个数字。完整描述通常包括:释放时间、最坏执行时间、相对截止期、绝对截止期、允许抖动、关键级别。对于航电系统,关键级别尤为重要:飞行控制任务通常为 A 级,显示刷新可能为 C 级,当资源不足时,低关键级别任务应主动降级或丢弃。
资源需求向量把任务对各类资源的消耗量化。一个典型向量可写为:
R_i = [C_i, M_i, B_i, N_i, E_i]
C_i:最坏执行时间(ms)
M_i:内存占用(KB)
B_i:带宽需求(Mbps)
N_i:所需核数或通信端口数
E_i:能耗预算(W)
例如某飞控任务的需求向量为 [2.5 ms, 128 KB, 0.8 Mbps, 1, 1.2 W],表示它需要 2.5 ms 执行时间、128 KB 内存、0.8 Mbps 总线带宽、1 个计算核和 1.2 W 能耗预算。资源分配算法据此判断该任务能否放入某个处理节点。
四、依赖关系与优先级建模
依赖关系决定任务能否并行、何时可以启动。常见依赖包括:数据依赖(前驱任务输出是后继任务输入)、控制依赖(条件触发)、资源依赖(共享同一总线或传感器)。在任务图中,数据依赖通常用有向边表示,边权可表示通信延迟。若两个任务无依赖,则可并行;若存在依赖,则必须满足前驱完成后继才能开始。
优先级建模方法主要有三类。第一类是静态优先级:根据任务周期或关键级别预先分配,如 RM 中周期越短优先级越高。第二类是动态优先级:如 EDF 按绝对截止期排序,截止期越近优先级越高。第三类是混合优先级:结合关键级别与截止期,例如先按关键级别分层,层内再用 EDF。航电系统中常采用混合方式,因为安全关键任务不能因截止期宽松而被低关键任务抢占。
五、从任务模型到资源分配
任务模型最终要回答三个问题:每个任务需要多少资源、任务之间如何依赖、在什么时间前必须完成。资源分配算法读取这些信息后,决定任务映射到哪个处理节点、以什么优先级运行、是否允许迁移。若分配失败,则需要调整任务图(如合并节点、降低采样率)或增加资源。
下面用一张关系图概括任务模型的核心要素及其与资源分配的连接关系。图中左侧是任务描述要素,中间是任务图结构,右侧是资源分配输入。
图中左侧的任务描述要素经过任务图结构化后,形成右侧资源分配算法可读的输入。任务图不是装饰,而是把“功能需求”翻译成“调度参数”的中间表示。实际工程中,任务图常与调度分析工具配合使用:先建立任务图,再标注每个节点的资源需求向量和实时性约束,最后运行可调度性判定。若判定失败,则回到任务图调整依赖或资源需求,形成迭代闭环。
六、建模示例与判断依据
假设某航电模块包含三个任务:T1 周期 10 ms、C=2 ms、截止期 10 ms、关键级别 A;T2 周期 20 ms、C=3 ms、截止期 20 ms、关键级别 B;T3 非周期、最小间隔 50 ms、C=1 ms、截止期 5 ms、关键级别 A。资源需求向量分别为 [2,64,0.5,1,0.8]、[3,128,0.3,1,1.0]、[1,32,0.2,1,0.5]。
判断依据:先检查单核利用率。T1 利用率 0.2,T2 利用率 0.15,T3 最坏利用率 0.02,总利用率约 0.37,单核可调度。再检查优先级:T1 和 T3 为 A 级,T2 为 B 级,因此 T1、T3 优先于 T2。T3 截止期最短,在 A 级内应赋予最高动态优先级。若 T3 到达时 T2 正在执行,T2 应被抢占。若系统负载升高导致 T2 超时,可降低 T2 采样率或将其迁移到另一核,而不影响 A 级任务。
综上,任务模型与资源需求描述的核心是“结构化”与“量化”:用任务图表达依赖,用周期/非周期区分触发方式,用实时性约束和资源需求向量量化消耗,用优先级建模确定竞争顺序。只有这四者齐备,资源分配算法才能给出可信的映射与调度结果。