Files

148 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 首个实验冻结说明
> 实验名称:RK3588 + SylixOS上1 ms控制任务与INT8 1D CNN共存实验
>
> 状态:草案,待BSP与场景数据确认后冻结
> 原则:冻结后,正式实验期间不得静默改变模型、输入、任务、频率和测量口径。
## 1. 实验目标
回答以下问题:
1. AI作为普通后台任务运行时,会对1 ms控制任务造成多大干扰;
2. 静态Arena、固定优先级和固定推理窗口能否降低干扰;
3. 有界队列、超时和规则兜底能否限制AI过载与故障传播;
4. 离线预测的内存和执行时间与板端实测相差多少。
## 2. 平台冻结
| 项目 | 冻结值 | 状态 |
|---|---|---|
| 设备型号/编号 | RK3588工业盒,待填写 | 待确认 |
| CPU | 4×A76 + 4×A55 | 已知 |
| 内存 | 16 GB;增加8 GB限额组 | 计划 |
| 存储 | eMMC/NVMe,待填写 | 待确认 |
| SylixOS版本 | | 待翼辉确认 |
| BSP版本 | | 待翼辉确认 |
| RealEvo版本 | | 待翼辉确认 |
| 编译器与优化级别 | | 待确认 |
| CPU频率策略 | 固定频率优先 | 待确认 |
| 散热与环境温度 | | 待填写 |
## 3. 控制任务冻结
| 参数 | 初始建议 | 最终冻结值 |
|---|---:|---:|
| 周期 `T` | 1 ms | |
| 截止期 `D` | 1 ms | |
| 任务体 | 确定性计算 + GPIO/CAN回环 | |
| 参考执行时间 | 约100~200 μs | |
| 释放方式 | 绝对周期释放 | |
| 优先级 | 最高业务优先级 | |
| CPU绑定 | 独占核与共享核各一组 | |
| 日志 | 预分配内存缓冲 | |
控制任务必须在无AI条件下先通过基线准入。
## 4. AI任务冻结
| 参数 | 初始建议 | 最终冻结值 |
|---|---|---|
| 任务 | 振动/电流窗口状态分类 | |
| 模型 | 小型INT8 1D CNN | |
| 输入长度 | 固定,待数据集确认 | |
| 输出类别 | 正常/轻微异常/严重异常 | |
| 推理周期 | 50或100 ms | |
| 推理后端 | 第一阶段CPU | |
| Tensor Arena | 静态生成 | |
| 最大允许执行时间 | 由基线试运行后冻结 | |
| 质量阈值 | Accuracy/F1,待冻结 | |
| 超时行为 | 丢弃结果并触发规则路径 | |
## 5. 对照组
| 编号 | 配置 |
|---|---|
| O0 | 仅控制任务 |
| O1 | 控制 + AI普通后台任务、动态内存 |
| O2 | 控制 + AI静态Arena、固定优先级 |
| O3 | O2 + 固定推理窗口或算子分段 |
| O4 | O3 + 有界队列、超时、规则兜底和恢复 |
## 6. 负载组
- L0:无干扰;
- L1:CPU竞争25/50/75%;
- L2:内存流式读写;
- L3:GPIO/CAN/网络I/O;
- L4:AI输入突发;
- L5:模型超时;
- L6:AI任务异常退出;
- L7:连续运行与热状态。
## 7. 规则兜底
AI结果仅用于状态分类、告警或参数建议,不直接覆盖硬安全约束。
触发兜底的条件:
- 推理超过冻结截止期;
- 输出类别或数值越界;
- 输入时间戳过期;
- 队列溢出;
- AI任务或运行时异常;
- 连续若干次结果不可信。
兜底动作:
1. 丢弃当前AI结果;
2. 保持或恢复规则控制;
3. 记录事件;
4. 必要时重启AI任务;
5. 连续自检通过后恢复AI路径。
## 8. 指标
### 控制任务
- deadline miss ratio;
- P50/P95/P99/P99.9响应时间与抖动;
- 观测最大值;
- GPIO/CAN端到端响应。
### AI任务
- 单次推理时延;
- 完成、拒绝、超时和过期率;
- 任务质量;
- 权重、Arena、工作区和峰值内存。
### 系统
- CPU占用、抢占和上下文切换;
- 内存余量;
- 功率、温度和频率;
- 降级切换和恢复时间。
## 9. 运行方法
1. 保存硬件和软件配置快照;
2. 重启进入指定配置;
3. 先运行O0基线;
4. 模型预热与冷启动分开测量;
5. 各组随机或平衡顺序运行;
6. 普通单元至少独立运行5次;
7. 保存所有失败、拒绝和超时;
8. 正式结果使用冻结后的新运行批次。
## 10. 首轮完成判据
- [ ] BSP、时钟和测量链路通过;
- [ ] O0控制基线无未解释异常;
- [ ] CPU模型正确运行;
- [ ] O0~O4全部有数据;
- [ ] 至少完成CPU、内存和突发干扰;
- [ ] 至少完成一次超时和任务异常注入;
- [ ] 预测内存与实测内存完成比较;
- [ ] 得出静态联合编排是否改善控制边界的结论。