forked from eaiadmin/rtos_llm_opt
5.8 KiB
5.8 KiB
技术路线:静态编排、工具链与芯片协同
1. 总体架构
本子课题采用“离线联合编排 + SylixOS有界运行时 + 规则兜底”的结构。
模型与数据集 控制任务与安全规则
│ │
├──模型解析/量化 ├──周期/截止期/WCET
├──算子图/张量生命周期 ├──中断/DMA/通信开销
└──质量阈值 └──降级与恢复条件
│ │
└────┬─────┘
▼
离线联合编排器
内存规划/时间编排/准入判定
│
┌───────────┴───────────┐
▼ ▼
拒绝或降级建议 SylixOS工程产物
│
▼
固定任务、静态内存、有界队列
│
▼
超时检测、规则兜底、恢复
2. 四层技术结构
2.1 模型与算子层
- 固定模型版本、输入尺寸和任务质量标准;
- INT8等目标量化;
- 有限算子集合;
- 统计权重、Tensor Arena和工作区;
- 建立目标板算子执行时间和能耗数据库。
2.2 离线编排层
- 分析控制任务周期、截止期、执行时间与干扰;
- 规划静态内存和张量复用;
- 选择完整推理窗口或算子分段窗口;
- 计算响应时间和安全余量;
- 输出
PASS / PASS WITH LIMITS / REJECT。
2.3 SylixOS执行层
- 固定优先级与周期释放;
- 控制任务、AI任务和安全任务分级;
- 任务核绑定与中断治理;
- 静态区、固定Arena和DMA缓冲;
- 高精度时间戳、看门狗和异常恢复。
2.4 规则与闭环层
- AI输出范围、状态机和置信度检查;
- 超时或过载时丢弃过期结果;
- 默认动作或规则控制接管;
- 恢复前连续自检;
- 保证控制内环不等待AI。
3. 核心机制
3.1 静态内存
部署前计算:
[ M_{AI}=M_{weights}+M_{arena}+M_{workspace}+M_{IO}+M_{stack} ]
并保证:
[ M_{AI}\leq M_{total}-M_{OS}-M_{control}-M_{comm}-M_{safety} ]
运行阶段避免模型路径使用无界动态分配;权重、张量、DMA和控制缓冲分区管理。
3.2 静态时间
控制任务始终高于AI任务。AI采用以下两种方式之一:
- 固定周期内完成一次完整推理;
- 把算子图切分成若干有界片段,分布在多个控制周期的空闲窗口执行。
必须分析AI不可抢占片段、中断和DMA对关键任务造成的最大阻塞。
3.3 有界通信
- 固定长度队列或环形缓冲;
- 最新值优先,过期输入可丢弃;
- 控制任务不得因等待AI队列而阻塞;
- 结果携带时间戳和有效期;
- 超时结果不得晚到生效。
3.4 部署准入
在编译和烧录前检查:
- Flash/RAM是否超限;
- 算子是否受支持;
- 模型质量是否达标;
- 推理窗口是否满足;
- 控制任务是否仍可调度;
- 是否存在规则兜底和故障恢复路径。
4. 工具链路线
ONNX/TFLite/其他固定模型
→ 解析与校验
→ 量化和算子合法化
→ 目标芯片算子映射
→ 张量生命周期与静态内存规划
→ 控制任务联合调度分析
→ SylixOS C/C++、链接段和任务配置生成
→ RealEvo编译、部署、调试
→ 板端数据回灌
建议研究团队开发独立的编排器,不重复实现IDE。编排器负责模型、资源和任务分析;RealEvo继续负责BSP/App工程、交叉编译、部署和调试。
5. 结合现有设备的实现
5.1 4×V100服务器
负责训练、剪枝、量化校准、参考精度、模型转换和编排工具运行。服务器结果只提供模型侧基线,不作为控制端实时性证据。
5.2 RK3588工业盒
首期以CPU路径打通端到端流程,再把NPU作为条件扩展:
- SylixOS BSP和控制任务准入;
- CPU小模型运行;
- 静态Arena和任务生成;
- 固定核、共享核与干扰对照;
- 超时、过载和规则兜底;
- NPU运行时可用后增加DMA、统一内存和中断实验。
5.3 RK3568/RK3576
用于验证生成代码和资源描述能否跨BSP迁移,并逐步缩小内存、算力和功耗预算。两者仍归类为控制端SoC。
5.4 真正MCU
必须在BSP、最小系统、模型运行时和测量链路确认后选型。真正MCU阶段应把模型收敛到1D CNN、DS-CNN、MLP、决策树等有限任务,不延续大模型口径。
6. SylixOS技术映射
| 研究机制 | SylixOS/RealEvo落点 | 待确认项 |
|---|---|---|
| 周期任务与优先级 | 线程、定时器、RMS/固定优先级 | API和实际调度配置 |
| 核绑定 | SMP与大小核调度 | RK3588具体亲和性接口 |
| 静态内存 | BSP内存映射、链接脚本、静态区 | 内存域和限额能力 |
| DMA/Cache | BSP与驱动接口 | NPU、摄像头等设备一致性路径 |
| 异常恢复 | 看门狗、任务/进程恢复 | 推荐的局部重启方式 |
| 代码部署 | RealEvo BSP/App构建、上传和调试 | 外部生成工程接口 |
| MCU落地 | lite/tiny与目标BSP | 芯片清单和最小资源占用 |
7. 技术边界
- 不把GPU/NPU内部执行时间直接归因于RTOS;
- 不把不同推理后端的整栈差异写成操作系统差异;
- 不用观测最大值替代理论WCET;
- 不在驱动未准入时承诺NPU路径;
- 不用SoC受限配置替代真正MCU功耗和存储结论。
六步编排、配置产物和准入门槛详见 01-离线联合编排研究框架.md。