forked from eaiadmin/rtos_llm_opt
4.9 KiB
4.9 KiB
实验设计与验证方法
1. 实验目标
验证静态联合编排是否能够在AI进入控制系统后,同时保证:
- 控制任务时间边界;
- AI任务质量与时效性;
- 内存、功耗和启动预算;
- 超时、过载和异常时的安全降级。
2. 平台分层
| 层级 | 平台 | 作用 |
|---|---|---|
| H0 | 4×V100服务器 | 训练、量化、转换和参考精度 |
| H1 | RK3588 16 GB | SylixOS方法原型和完整链路 |
| H2 | RK3588 8 GB限额 | 预算收缩与准入判定验证 |
| H3 | RK3568/RK3576 | 控制端迁移、低功耗和跨BSP验证 |
| H4 | 真正MCU | SRAM/Flash、快速启动和极限资源实证 |
3. 对照组
| 编号 | 配置 | 目的 |
|---|---|---|
| O0 | 无AI,仅控制任务 | 控制性能下界 |
| O1 | AI作为普通后台任务 | 观察未经治理的干扰 |
| O2 | 静态Arena + 固定优先级 | 验证基础静态机制 |
| O3 | O2 + 固定窗口/算子分段 | 验证时间编排 |
| O4 | O3 + 准入、超时和规则兜底 | 完整方案 |
在同硬件、同模型、同输入和同编译选项下进行机制消融。Linux/PREEMPT_RT与SylixOS比较属于系统方案对照,若推理后端不同,必须单独解释。
4. 负载场景
| 编号 | 场景 | 目的 |
|---|---|---|
| L0 | 仅周期控制 | 建立基线 |
| L1 | 仅AI任务 | 建立模型时间与能耗基线 |
| L2 | 控制 + AI | 核心共存场景 |
| L3 | L2 + CPU竞争 | 验证调度和抢占 |
| L4 | L2 + 内存/DMA竞争 | 验证内存与总线干扰 |
| L5 | L2 + CAN/网络/存储 | 验证中断和I/O污染 |
| L6 | L2 + 突发输入 | 验证队列、丢弃与准入 |
| L7 | L2 + 超时/崩溃/错误输出 | 验证规则兜底和恢复 |
5. 实验单元
E0:设备和软件准入
- BSP启动、时钟、SMP、外设和看门狗;
- SylixOS/RealEvo版本冻结;
- 模型在CPU路径完成正确性验证;
- NPU路径单独设置准入门槛;
- 测量工具和时间戳校验。
E1:控制任务基线
测量1 ms主任务及5/10 ms扩展任务的唤醒延迟、响应时间、抖动和GPIO端到端响应。
E2:模型和算子基线
记录每个算子与完整模型的执行时间、峰值内存、工作区、任务质量和 E/inference。
E3:内存方案对照
比较动态堆、固定Arena、生命周期复用和不同内存限额,观察峰值、碎片、失败点和长稳行为。
E4:时间编排对照
比较普通后台运行、固定窗口和算子分段,观察控制任务尾延迟、AI完成率和切分开销。
E5:混合干扰
依次增加CPU、内存、DMA、通信和存储干扰,不同时改变多个变量。
E6:准入和过载
逐级增加AI到达率,记录队列峰值、拒绝率、过期输入、有效完成率和控制任务边界。
E7:故障与规则兜底
注入模型超时、错误输出、任务崩溃和驱动不可用,测量切换时间、控制保持率和恢复时间。
E8:启动、功耗和长稳
分别测量启动到安全控制、启动到AI就绪、平均功耗、单次推理能耗和24小时运行状态。
6. 指标
6.1 控制层
- deadline miss ratio;
- P50/P95/P99/P99.9 jitter;
- 观测最大响应时间;
- GPIO/CAN端到端响应;
- 降级期间控制任务保持率。
6.2 AI层
- 单次推理时延及分布;
- 完成率、拒绝率和过期率;
- 任务准确率、F1或业务指标;
- 权重、Arena、工作区和峰值内存。
6.3 系统层
- CPU占用和抢占次数;
- 队列长度;
- 内存安全余量;
E/inference;- 温度、频率和降频;
- 启动与恢复时间。
7. 统计与报告原则
- 普通单元至少独立运行5次;
- 控制任务报告样本数、分位数、最大值和违约分子/分母;
- 零违约只表述为“在指定工况和样本数下未观测到违约”;
- 不用P99.9或观测最大值冒充理论WCET;
- 保存超时、拒绝、OOM和任务崩溃,不静默删除失败数据;
- 预测与实测必须使用相同配置和版本;
- 功耗报告说明测量边界、采样率和空载功率。
8. 数据产物
每次运行至少保存:
manifest.json:硬件、SylixOS/BSP、模型、任务和编译配置;control.csv:释放、开始、完成、CPU、截止期状态;inference.csv:输入、开始、结束、结果、超时与拒绝原因;memory.csv:静态区、Arena、栈和峰值;power.csv:功率、温度和频率;events.log:看门狗、降级、重启和恢复;summary.json:指标、样本量和准入结论。
9. 阶段完成条件
- P0:RK3588 CPU路径完成E0~E7;
- P1:NPU或加速路径在准入后完成E2、E5、E7;
- P2:RK3568/RK3576复现实验并量化迁移成本;
- P3:真正MCU完成E0~E8,形成严格MCU论文证据。
若BSP、驱动或推理运行时不可用,停止对应路径,输出适配缺口,不把计划写成实测结果。