# Conflicts: # 10-研究框架/README.md # 项目框架1-基于RTOS的五类场景AI实时性研究/20-实验与规划/03-实验设计.md # 项目框架1-基于RTOS的五类场景AI实时性研究/20-实验与规划/metric.md
55 lines
3.5 KiB
Markdown
55 lines
3.5 KiB
Markdown
# 加速器协同调度参考
|
||
|
||
## 1. 与本项目的关系
|
||
|
||
本方向研究 CPU 调度、驱动提交、DMA、GPU/NPU 执行和完成中断组成的完整链路。核心是识别哪些环节受 RTOS 控制,哪些环节只受厂商运行时或固件控制,并通过端到端时间戳验证协同效果。
|
||
|
||
## 2. 核心资料
|
||
|
||
| 资料 | 等级 | 可支撑内容 | 本项目使用方式 |
|
||
|---|---|---|---|
|
||
| NVIDIA, “CUDA Programming Guide: Asynchronous Execution, Streams and Events.” [官方文档](https://docs.nvidia.com/cuda/cuda-programming-guide/02-basics/asynchronous-execution.html) | A | 流、事件、同步、并发和优先级语义 | 定义 CUDA 路线中的提交和同步边界 |
|
||
| NVIDIA, “CUDA Programming Guide: Unified Memory.” [官方文档](https://docs.nvidia.com/cuda/cuda-programming-guide/04-special-topics/unified-memory.html) | A | CPU/GPU 统一内存、迁移及流关联 | 解释缺页/迁移引入的不确定性,不能替代实测 |
|
||
| Z. Bai et al., “PipeSwitch: Fast Pipelined Context Switching for Deep Learning Applications,” OSDI 2020. [USENIX](https://www.usenix.org/conference/osdi20/presentation/bai) | A | GPU 应用切换、模型传输与执行流水化 | 支撑多模型共享和切换开销研究 |
|
||
| A. Gujarati et al., “Serving DNNs like Clockwork,” OSDI 2020. [USENIX](https://www.usenix.org/conference/osdi20/presentation/gujarati) | A | 可预测 GPU 推理、执行时间建模和准入 | 作为加速器可预测性相邻工作 |
|
||
| Y. Choi, M. Rhu, “PREMA: A Predictive Multi-task Scheduling Algorithm for Preemptible Neural Processing Units,” HPCA 2020. [DOI](https://doi.org/10.1109/HPCA47549.2020.00030) | A | 可抢占 NPU 多任务预测调度 | 支撑 NPU 细粒度抢占的研究假设,需检查实际硬件支持 |
|
||
| MLCommons, “MLPerf Inference.” [官方文档](https://docs.mlcommons.org/inference/index_gh/) | A | Edge/Datacenter 场景、负载发生和准确率约束 | 用于外部性能方法对齐,不替代双目标测试 |
|
||
|
||
## 3. 硬件路线需单独核对的官方资料
|
||
|
||
- NVIDIA:CUDA Toolkit、驱动、MPS/MIG、DCGM 与 NCCL 对应版本文档;
|
||
- Rockchip:RKNN Toolkit2、RKLLM、RKNPU2 Runtime 与对应芯片技术参考;
|
||
- 其他 NPU/GPU:运行时队列、优先级、超时、复位、DMA 和性能计数器文档;
|
||
- SylixOS:BSP、中断、DMA、一致性、IOMMU 和驱动接口资料。
|
||
|
||
闭源资料若不能公开引用,应在论文中描述可复现的外部行为,不披露受限内容。
|
||
|
||
## 4. 建议链路分解
|
||
|
||
```text
|
||
请求到达
|
||
→ CPU 预处理
|
||
→ 驱动/运行时提交
|
||
→ DMA/内存迁移
|
||
→ 加速器排队
|
||
→ kernel/NPU task 执行
|
||
→ 完成中断
|
||
→ CPU 后处理
|
||
→ 外部输出
|
||
```
|
||
|
||
每段都应有时间戳或外部观测点。设备事件只能衡量设备域执行,不能替代 CPU 到结果可用的端到端时延。
|
||
|
||
## 5. 可形成的论文论点
|
||
|
||
1. RTOS 可通过 CPU/IRQ 亲和性、队列限长、预分配和准入减少主机侧不确定性。
|
||
2. 加速器运行时不提供硬优先级保证时,RTOS 的收益会受设备不可抢占区间限制。
|
||
3. 异步流水可能提高吞吐,但需要同时检查关键任务尾延迟、内存带宽和中断干扰。
|
||
4. 多加速器扩展需分开报告单请求并行、多实例吞吐与通信开销。
|
||
|
||
## 6. 不应直接推出的结论
|
||
|
||
- CUDA stream priority 是调度提示,不是硬实时保证。
|
||
- GPU 支持并发 kernel 不代表特定工作负载必然并发执行。
|
||
- 加速器利用率高不等于有效吞吐高,也不等于关键任务 deadline 达标。
|