Files

5.8 KiB
Raw Blame History

技术路线:静态编排、工具链与芯片协同

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作为条件扩展:

  1. SylixOS BSP和控制任务准入;
  2. CPU小模型运行;
  3. 静态Arena和任务生成;
  4. 固定核、共享核与干扰对照;
  5. 超时、过载和规则兜底;
  6. 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。