# 实验设计与验证方法 ## 1. 实验目标 验证静态联合编排是否能够在AI进入控制系统后,同时保证: 1. 控制任务时间边界; 2. AI任务质量与时效性; 3. 内存、功耗和启动预算; 4. 超时、过载和异常时的安全降级。 ## 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. 统计与报告原则 1. 普通单元至少独立运行5次; 2. 控制任务报告样本数、分位数、最大值和违约分子/分母; 3. 零违约只表述为“在指定工况和样本数下未观测到违约”; 4. 不用P99.9或观测最大值冒充理论WCET; 5. 保存超时、拒绝、OOM和任务崩溃,不静默删除失败数据; 6. 预测与实测必须使用相同配置和版本; 7. 功耗报告说明测量边界、采样率和空载功率。 ## 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、驱动或推理运行时不可用,停止对应路径,输出适配缺口,不把计划写成实测结果。