forked from eaiadmin/rtos_llm_opt
docs: add alternative real-time research frameworks
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# 研究问题、定位与边界
|
||||
|
||||
## 1. 问题背景
|
||||
|
||||
MCU 和资源受限 SoC 原本承担周期控制、采集、通信和保护任务。引入 AI 后,模型执行会持续占用 CPU/NPU、内存、缓存、总线、DMA 和功耗预算,导致控制抖动、关键中断延迟、内存不足或热降频。
|
||||
|
||||
该问题具有明确的工业实时属性:AI 可以降质、跳帧或暂停,但关键控制任务和安全保护不能因为 AI 负载而失去截止期。
|
||||
|
||||
## 2. 核心研究问题
|
||||
|
||||
1. 轻量 AI 通过哪些资源路径影响控制任务?
|
||||
2. 如何为 AI 分配可执行时间、内存、带宽和功耗预算?
|
||||
3. AI 负载超过容量时,如何限流、跳帧、切换模型或暂停执行?
|
||||
4. 模型精度、结果期限、控制实时性和能耗之间如何联合优化?
|
||||
5. 不同 MCU/SoC 上哪些机制可迁移,哪些依赖具体硬件?
|
||||
|
||||
## 3. 研究范围
|
||||
|
||||
### 纳入范围
|
||||
|
||||
- MCU、带 NPU 的工业 SoC 和控制器;
|
||||
- AI 与控制任务同 OS 或同芯片共存;
|
||||
- 固定优先级、预算服务器、准入和过载降级;
|
||||
- 静态内存、DMA、缓存、总线、功耗和热管理;
|
||||
- GPIO、CAN、RS485、工业以太网等物理响应。
|
||||
|
||||
### 不纳入主线
|
||||
|
||||
- 大模型训练和多节点集群;
|
||||
- 为补齐 T1~T5 而采购全谱系设备;
|
||||
- 只测 tokens/s 或平均推理速度;
|
||||
- 在设备无法真实运行时估算模型性能;
|
||||
- 把零违约实测表述为理论硬实时证明。
|
||||
|
||||
## 4. 基本假设
|
||||
|
||||
- H1:AI 对控制的主要影响不仅来自 CPU,还来自内存、DMA、中断和热耦合。
|
||||
- H2:预算、预分配和准入可以扩大控制无违约的 AI 运行范围。
|
||||
- H3:过载时主动降低 AI 服务质量,比继续排队更有利于维持系统可预测性。
|
||||
- H4:满足相同控制和 AI 约束时,可以找到能耗更低的模型、频率与执行策略。
|
||||
|
||||
## 5. 成果边界
|
||||
|
||||
本研究证明的是指定设备、任务和环境下的容量边界与机制收益。不同芯片的 NPU 固件、内存控制器和功耗策略不同,不能仅按内存容量把结果直接外推。
|
||||
@@ -0,0 +1,59 @@
|
||||
# 整体研究框架
|
||||
|
||||
## 1. 系统模型
|
||||
|
||||
```text
|
||||
┌─────────────────────────────────────────────┐
|
||||
│ 安全与关键控制任务 │
|
||||
│ 周期控制、联锁、关键采集、现场总线 │
|
||||
├─────────────────────────────────────────────┤
|
||||
│ AI 目标任务 │
|
||||
│ 检测、估计、识别、诊断、轻量智能决策 │
|
||||
├─────────────────────────────────────────────┤
|
||||
│ 伴生任务 │
|
||||
│ 日志、通信、更新、存储和非关键后台服务 │
|
||||
├─────────────────────────────────────────────┤
|
||||
│ RTOS/嵌入式系统治理 │
|
||||
│ 优先级、预算、准入、预分配、中断与降级 │
|
||||
├─────────────────────────────────────────────┤
|
||||
│ MCU/SoC:CPU、NPU、RAM、缓存、总线、DMA、热 │
|
||||
└─────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
## 2. 优先级原则
|
||||
|
||||
1. 安全与关键控制任务优先满足 deadline;
|
||||
2. AI 任务在剩余时间和资源预算内执行;
|
||||
3. AI 结果超过有效期后不再进入控制路径;
|
||||
4. 伴生任务不得挤占控制和已准入 AI 的预算;
|
||||
5. 过载时优先降低 AI 频率、模型复杂度或输入质量。
|
||||
|
||||
## 3. 四维预算
|
||||
|
||||
| 预算 | 控制手段 | 典型风险 |
|
||||
|---|---|---|
|
||||
| 时间预算 | 固定优先级、时间服务器、分块执行 | 长算子和不可抢占段 |
|
||||
| 内存预算 | 静态分配、内存池、峰值准入 | OOM、碎片、共享缓冲区 |
|
||||
| 带宽预算 | DMA 编排、访问节流、采样降频 | 控制数据被 AI 挤占 |
|
||||
| 功耗预算 | DVFS、模型切换、占空比控制 | 热降频反向破坏实时性 |
|
||||
|
||||
## 4. 运行状态
|
||||
|
||||
```text
|
||||
S0 控制优先、AI 正常运行
|
||||
S1 AI 降频或跳帧
|
||||
S2 切换轻量模型或低精度模式
|
||||
S3 暂停 AI,保留传统控制
|
||||
S4 故障安全状态
|
||||
```
|
||||
|
||||
状态切换依据控制裕量、队列长度、内存水位、温度、功耗和 AI 结果质量。切换过程本身必须有界,并避免关键路径动态加载大型模型。
|
||||
|
||||
## 5. 研究主线
|
||||
|
||||
- AI WCET/执行时间分布与可抢占结构分析;
|
||||
- 控制任务响应时间和共享资源干扰分析;
|
||||
- AI 多维预算与准入控制;
|
||||
- 精度、执行频率和功耗联合降级;
|
||||
- 长时间热稳态和异常恢复;
|
||||
- 跨设备可迁移机制与芯片特定机制区分。
|
||||
@@ -0,0 +1,54 @@
|
||||
# AI 预算调度与控制保护
|
||||
|
||||
## 1. 任务模型
|
||||
|
||||
控制任务表示为:
|
||||
|
||||
```text
|
||||
τc = (Tc, Dc, Cc, Pc)
|
||||
```
|
||||
|
||||
其中 `T` 为周期、`D` 为截止期、`C` 为执行需求、`P` 为优先级。
|
||||
|
||||
AI 任务表示为:
|
||||
|
||||
```text
|
||||
τai = (arrival, deadline, budget_cpu, budget_mem,
|
||||
budget_power, quality_level, droppable)
|
||||
```
|
||||
|
||||
AI 任务必须声明是否可丢弃、是否允许跳帧以及可接受的最低质量等级。
|
||||
|
||||
## 2. 调度原则
|
||||
|
||||
- 控制任务使用固定优先级或已验证的实时调度策略;
|
||||
- AI 使用低优先级后台、预算服务器或可中止任务;
|
||||
- 将长推理拆分为可抢占或可中断阶段;
|
||||
- 不可抢占 NPU/GPU 执行段必须测量并纳入控制响应时间;
|
||||
- AI 请求只有在时间、内存和功耗预算同时满足时才准入。
|
||||
|
||||
## 3. 准入条件
|
||||
|
||||
```text
|
||||
schedulable(control | ai_load)
|
||||
AND peak_memory <= M_budget
|
||||
AND predicted_power <= P_budget
|
||||
AND result_deadline_feasible
|
||||
AND quality >= Q_min
|
||||
```
|
||||
|
||||
准入失败时,系统可以拒绝请求、推迟非关键输入、跳帧或选择更小模型,不能无限排队。
|
||||
|
||||
## 4. 控制保护机制
|
||||
|
||||
- 控制代码、数据和栈静态分配;
|
||||
- AI 与控制使用独立内存池;
|
||||
- 关键中断优先于 NPU、摄像头和通信完成中断;
|
||||
- 日志采用预分配缓冲并异步输出;
|
||||
- AI 执行前检查控制裕量;
|
||||
- AI 超时后结果直接失效;
|
||||
- 看门狗覆盖 AI 运行时和设备驱动卡死。
|
||||
|
||||
## 5. 消融验证
|
||||
|
||||
逐项移除预算服务器、内存池、中断隔离、准入和降级机制,比较控制尾延迟、AI 按期率和能耗,识别收益来源。
|
||||
@@ -0,0 +1,55 @@
|
||||
# 内存、功耗、热与降级
|
||||
|
||||
## 1. 内存治理
|
||||
|
||||
模型准入按完整峰值计算:
|
||||
|
||||
```text
|
||||
M_total = M_weight + M_activation + M_workspace
|
||||
+ M_io + M_runtime + M_control_reserved
|
||||
```
|
||||
|
||||
必须为控制任务、关键通信和故障日志保留不可侵占空间。权重大小不能代替峰值内存测量。
|
||||
|
||||
推荐机制:
|
||||
|
||||
- 模型和工作区静态加载;
|
||||
- 固定大小内存池;
|
||||
- 禁止关键窗口模型切换;
|
||||
- DMA 缓冲区白名单和容量上限;
|
||||
- OOM 前主动降低 AI 并发或切换模型。
|
||||
|
||||
## 2. 功耗与热耦合
|
||||
|
||||
AI 满载可能触发整芯片功耗限制或热降频,进而增加控制任务执行时间。实验必须同步记录:
|
||||
|
||||
- 整机功率;
|
||||
- 芯片温度;
|
||||
- CPU/NPU 实际频率;
|
||||
- AI 执行阶段;
|
||||
- 控制响应时间和违约;
|
||||
- 降频事件。
|
||||
|
||||
## 3. 降级策略
|
||||
|
||||
| 触发条件 | 优先动作 |
|
||||
|---|---|
|
||||
| 控制裕量下降 | 降低 AI 请求率或跳帧 |
|
||||
| AI 队列增长 | 拒绝低优先级请求 |
|
||||
| 内存水位过高 | 减少并发或切换小模型 |
|
||||
| 温度接近阈值 | 降低 AI 占空比或精度 |
|
||||
| 连续 AI 超时 | 暂停 AI,保留传统控制 |
|
||||
| 驱动或设备故障 | 复位 AI 子系统并进入安全模式 |
|
||||
|
||||
## 4. 能效口径
|
||||
|
||||
不能仅比较最低功率,应在相同控制实时约束和 AI 质量约束下比较:
|
||||
|
||||
- 单次有效推理能耗;
|
||||
- 有效结果/焦耳;
|
||||
- 控制无违约条件下的持续 AI 吞吐;
|
||||
- 热稳态而非冷机短时能效。
|
||||
|
||||
## 5. 结论边界
|
||||
|
||||
动态量化、模型切换和 DVFS 只有在切换开销已测量且不破坏控制 deadline 时,才能称为实时感知的低功耗策略。
|
||||
@@ -0,0 +1,64 @@
|
||||
# 实验设计
|
||||
|
||||
## 1. 平台选择
|
||||
|
||||
建议最少包含:
|
||||
|
||||
- 一个 MCU 或低资源控制器,用于 TinyML/轻量 AI 与周期控制共存;
|
||||
- 一个带 NPU 的资源受限 SoC,用于统一内存、DMA 和热干扰;
|
||||
- 必要的功率计、逻辑分析仪或示波器以及 CAN/RS485 对端。
|
||||
|
||||
设备按真实 AI 运行能力选择,不以补齐 T1~T5 为目标。
|
||||
|
||||
## 2. 对照组
|
||||
|
||||
| 编号 | 配置 |
|
||||
|---|---|
|
||||
| C0 | 仅控制任务 |
|
||||
| C1 | 控制 + AI 默认配置 |
|
||||
| C2 | C1 + 优先级和中断隔离 |
|
||||
| C3 | C2 + 时间/内存/功耗预算与准入 |
|
||||
| C4 | C3 + 模型降级和故障恢复 |
|
||||
|
||||
## 3. 压力场景
|
||||
|
||||
| 场景 | 内容 |
|
||||
|---|---|
|
||||
| M0 | 控制空载基线 |
|
||||
| M1 | AI 独立运行 |
|
||||
| M2 | 控制 + AI |
|
||||
| M3 | M2 + CPU/缓存压力 |
|
||||
| M4 | M2 + 内存/DMA 压力 |
|
||||
| M5 | M2 + I/O/中断压力 |
|
||||
| M6 | AI 突发和过载 |
|
||||
| M7 | 热稳态和降频 |
|
||||
| M8 | OOM、超时、运行时或设备故障 |
|
||||
|
||||
## 4. 变量扫描
|
||||
|
||||
- 控制周期、执行预算和关键 I/O 频率;
|
||||
- AI 模型、精度、输入尺寸和执行频率;
|
||||
- CPU/NPU 频率与功率模式;
|
||||
- 内存预算和 DMA 缓冲区大小;
|
||||
- AI 队列深度、跳帧率和超时期限;
|
||||
- 环境温度和持续运行时间。
|
||||
|
||||
## 5. 实施顺序
|
||||
|
||||
1. 验证控制任务和物理计时链路。
|
||||
2. 完成模型正确性、峰值内存和独立能耗准入。
|
||||
3. 运行 C0/C1,确认 AI 实际产生的干扰。
|
||||
4. 依次加入 C2~C4 并做逐项消融。
|
||||
5. 扫描负载直到出现控制违约或 AI 服务失效。
|
||||
6. 在选定边界附近进行热稳态与长时间实验。
|
||||
7. 使用冻结配置进行独立确认批次。
|
||||
|
||||
## 6. 停止条件
|
||||
|
||||
- 控制任务出现不可接受违约;
|
||||
- 温度、电压或电流超过设备安全范围;
|
||||
- 测量链路丢样或时钟失效;
|
||||
- 内存不足导致无法保持关键任务;
|
||||
- AI 后端不支持目标模型或精度。
|
||||
|
||||
停止不代表实验失败,应记录为容量或适配边界。
|
||||
@@ -0,0 +1,58 @@
|
||||
# 指标与证据
|
||||
|
||||
## 1. 控制实时性
|
||||
|
||||
- 任务响应时间、完成抖动和观测最大值;
|
||||
- deadline miss ratio;
|
||||
- 中断响应和关键 I/O 端到端时延;
|
||||
- AI 启停、模型切换和降频瞬间的时间序列;
|
||||
- 故障与恢复窗口内的控制表现。
|
||||
|
||||
## 2. AI 服务有效性
|
||||
|
||||
- 推理端到端时延和按期率;
|
||||
- 有效结果率、任务质量和超时率;
|
||||
- 跳帧、拒绝和降级比例;
|
||||
- 模型切换时间;
|
||||
- 控制无违约条件下的最大持续 AI 负载。
|
||||
|
||||
## 3. 资源与能耗
|
||||
|
||||
- 峰值和稳态内存;
|
||||
- CPU/NPU 利用率与执行占空比;
|
||||
- 内存带宽或可取得的代理指标;
|
||||
- 整机平均功率、峰值功率和能量;
|
||||
- 温度、实际频率和降频时间比例;
|
||||
- 单次有效结果能耗和有效结果/焦耳。
|
||||
|
||||
## 4. 核心结果表达
|
||||
|
||||
推荐把结果组织为“安全运行区”:
|
||||
|
||||
```text
|
||||
控制 deadline 满足
|
||||
AND AI 质量 >= Q_min
|
||||
AND AI 按期率 >= H_min
|
||||
AND 功耗 <= P_max
|
||||
AND 温度 <= Temp_max
|
||||
```
|
||||
|
||||
扫描 AI 频率、模型复杂度和功耗模式,绘制满足全部条件的可行区域及其边界。
|
||||
|
||||
## 5. 不应使用的证据替代
|
||||
|
||||
- 平均延迟不能替代 deadline miss ratio;
|
||||
- 短时冷机性能不能替代热稳态;
|
||||
- 模型权重大小不能替代峰值内存;
|
||||
- 芯片标称 TOPS 不能替代实测完成时间;
|
||||
- 零违约不能直接表述为理论硬实时保证;
|
||||
- 降低 AI 完成率获得的低功耗不能单独称为能效提升。
|
||||
|
||||
## 6. 推荐图表
|
||||
|
||||
1. AI 负载—控制尾延迟与违约率曲线;
|
||||
2. 时间、内存、功耗预算消融图;
|
||||
3. 模型质量—按期率—能耗 Pareto 图;
|
||||
4. 热稳态下温度、频率、控制延迟时间序列;
|
||||
5. 过载状态下跳帧、降级和恢复过程;
|
||||
6. 不同 MCU/SoC 的机制可迁移性对比表。
|
||||
@@ -0,0 +1,32 @@
|
||||
# 项目框架3:MCU 与资源受限 SoC 的 AI 实时性与低功耗研究
|
||||
|
||||
## 一句话定位
|
||||
|
||||
本项目研究 MCU 和资源受限 SoC 引入轻量 AI 后的实时干扰、资源预算、低功耗运行与安全降级问题,形成“控制期限优先、AI 预算执行、过载主动降级”的端侧智能方法。
|
||||
|
||||
## 核心问题
|
||||
|
||||
> 在 CPU、内存、带宽、功耗和散热均受限的控制节点中,允许多大的 AI 负载,才能在不破坏周期控制和关键 I/O 截止期的前提下获得有效智能功能?
|
||||
|
||||
## 研究对象说明
|
||||
|
||||
这里的 AI 不默认等于大语言模型。根据硬件能力,可以是:
|
||||
|
||||
- TinyML 和小型神经网络;
|
||||
- 异常检测与预测维护模型;
|
||||
- 轻量视觉、语音和状态识别;
|
||||
- 学习型状态估计或控制补偿;
|
||||
- 能在目标设备真实运行的小型语言模型。
|
||||
|
||||
## 目录结构
|
||||
|
||||
- `00-项目总览/01-研究问题、定位与边界.md`
|
||||
- `10-研究框架/00-整体研究框架.md`
|
||||
- `10-研究框架/01-AI预算调度与控制保护.md`
|
||||
- `10-研究框架/02-内存、功耗、热与降级.md`
|
||||
- `20-实验与规划/01-实验设计.md`
|
||||
- `20-实验与规划/02-指标与证据.md`
|
||||
|
||||
## 推荐课题名称
|
||||
|
||||
> **资源受限嵌入式控制系统中 AI 负载的实时预算与低功耗协同机制研究**
|
||||
Reference in New Issue
Block a user