Files
rtos_llm_opt/实验设计.md
T
2026-09-20 05:46:36 +00:00

24 KiB
Raw Blame History

SylixOS 混合实时任务与 AI 推理实验设计

更新日期:2026-09-20。依据:基础设备配置 v2.0,扩展自原实验设计。 本文给出待执行方案,不代表已有测试结果。设备标称参数、模型容量估计和性能目标均须通过实机准入验证。

1. 研究目标与实验范围

研究问题是:在端、边、桌面、集群不同资源条件下,SylixOS 的调度与资源隔离能否在保持实时任务截止期的同时,提高 AI 推理服务的有效吞吐和能效?

研究问题 自变量 主要观测量 支持结论所需证据
RQ1:混合负载下的实时性 OS、调度策略、干扰强度 唤醒延迟、响应时间、截止期违约率 同硬件同负载的配对对照
RQ2:隔离机制的代价与收益 CPU/IRQ 亲和性、内存限额、推理准入 P99.9 延迟、有效吞吐、拒绝率 默认、完整方案与逐项消融
RQ3:功耗预算下的运行能力 频率、空闲策略、推理并发 J/token、温度、违约率 满足同一服务质量约束的配置比较
RQ4:规模扩展后的瓶颈 GPU 数、节点数、模型规模 扩展效率、通信尾延迟、公平性 同模型强扩展与固定单节点负载弱扩展

执行分为两层:核心实验使用现有 T2-L、T3-L 和 T4-H 内存受限配置;其他八档属于条件扩展。核心结论不依赖新增集群、Jetson 或 H100 到位。LLM 是主负载,YOLO 检测和语音识别是可选混合负载;训练不纳入主实验。

2. 设备分层与实验平台

2.1 四层级、十一档实验映射

沿用设备文档的档位标签,实际容量单列。设备文档中“512 GB 边界归桌面高档”与“512 GB 集群标为 T1-L”存在口径差异;本文按多节点架构将该集群记为 T1-L,不据容量边界推导性能。

层级与档位 拟用设备 / 容量 状态 对应实验重点
T4-L 端低 RK3568,1~2 GB 待获取、待适配 极小内存、轻量模型、实时任务保留资源
T4-M 端中 RK3576,4 GB 待获取、待适配 小模型能效、频率与实时性关系
T4-H 端高 现有 RK3588 16 GB 板限额至 8 GB 可开展限额配置验证 内存压力、GPIO/CAN/RS485 混合负载
T3-L 边低 现有 RK3588,16 GB 统一内存 核心平台 B NPU/CPU 共享资源干扰、多模型并发
T3-M 边中 Jetson AGX Orin 32 GB BSP 与驱动准入后开展 GPU 共享内存、可用时加入 DLA
T3-H 边高 AGX Orin 64 GB 或 x86 + RTX 6000 Ada 48 GB 二选一,分别标识架构 大模型并发与容量上限
T2-L 桌面低 现有 4×V100 SXM 32 GB,总显存 128 GB 核心平台 A 多卡推理、NVLink 通信与实时隔离
T2-M 桌面中 8×V100 32 GB,总显存 256 GB 待扩容 同代 GPU 数量扩展
T2-H 桌面高 4×H100 80 GB,总显存 320 GB 待获取或租用 高算力密度、跨代对照
T1-L 集群低 4 节点×4×V100,总显存 512 GB 待扩展 跨节点通信与分布式推理
T1-H 集群高 4 节点×4×H100,总显存 1.28 TB 远期扩展 大模型分布式服务与能效

GPU 显存、主机内存和 SoC 统一内存分别记录,不加总为单一可分配空间。多卡总容量不能代替每卡分片可行性验证;FP16 TFLOPS 与 INT8 TOPS 不直接换算,也不作为实测吞吐。

2.2 平台 A:现有 V100 服务器

依设备清单配置 H12D-8D 主板、单颗 EPYC 7402(24 核/48 线程)、128 GB DDR4、1 TB NVMe、4×V100 SXM 32 GB、NVLink 底板、双电源及液冷。完整 BOM 见设备文档 T2.2.1。

实验前采集 CPU/NUMA 拓扑、实际内存通道、PCIe 链路、逐对 GPU 互联与带宽、各卡温度和功率上限。4 卡互联形态以枚举和通信测试为准。双电源输入均纳入整机能耗,不把额定电源瓦数当作运行功耗。

分别测试 1、2、4 卡;单卡先完成模型与采样链路验证,再加入多卡并行。CPU 实时任务使用固定物理核,记录其 SMT 同胞核的使用方式,避免不同组的物理资源分配不一致。

2.3 平台 B:现有 RK3588 工业盒

依设备清单采用 4×A76 + 4×A55、16 GB 统一内存、64 GB eMMC,以及实际引出的 GPIO、CAN、RS485 和网络接口。原生 NPU 与外接加速器分开登记。

  • B16:全量 16 GB,记为 T3-L。
  • B8:同板施加 8 GB 限额,记为 T4-H 受限配置;两种配置顺序运行。
  • 原生 NPU 是首轮路径;所谓“6+26 TOPS”仅为设备文档中的组合标称。扩展芯片型号、连接方式、模型格式和任务拆分能力通过后,才增加独立对照,不假定两者能共同加速同一 LLM。
  • 可选 M0、CAN 和 RS485 必须先核对实物与 BSP;缺失的接口实验登记为未开展。

内存限额口径:优先采用能覆盖 OS 可见内存及加速器保留区的启动配置,并记录实际可用容量。若只能限制应用进程,则标为“8 GB 应用预算”,不能称为整机 8 GB。核对驱动缓冲区、DMA/CMA、页缓存、共享内存与交换空间是否受限;禁止将限额实验解释为真实 8 GB 板卡的功耗或带宽结论。

2.4 测量设备

测量对象 工具与接线 要求
RK3588 整机功耗 DC 输入端功率计;INA226 仅在量程和接线适配时使用 包含加速器和约定外设;保存电压、电流与采样率
V100 整机功耗 覆盖两路电源的交流功率计 / PDU 单卡遥测仅作归因,不能替代整机读数
物理实时响应 示波器或逻辑分析仪,GPIO 输入到输出环回 记录探头、触发方式、分辨率及环回空载值
工业接口 CAN 分析仪、RS485 对端或回环装置 固定波特率、帧长、总线负载和时间戳位置
热状态 可用片上传感器,辅以外部温度测量 分别记录环境温度、芯片温度、频率和降频事件

传感器不能读取的指标记为 N/A,不以零代替;不得预设所有平台都有 npu-smi、DCGM 或相同性能接口。

3. 软件与模型准入

3.1 分阶段准入门槛

门槛 验证内容 通过证据 失败后的处理
G0 设备识别 启动、SMP、容量、接口、时钟 硬件清单和启动日志 修复平台配置,暂停性能比较
G1 实时与采样 周期任务、单调时钟、优先级、日志缓冲 空载时间序列、计时校验 仅记录功能适配结果
G2 加速器 驱动加载、内存分配、最小算子、结果回读 运行日志、正确性结果 保留 CPU 路径,单独标识后端
G3 完整模型 转换、加载、推理、释放、重复运行 模型校验值、输出、峰值内存 缩小模型或更换已验证后端
G4 混合负载 RT + 推理稳定运行至少 30 分钟 无崩溃、采样完整、失败可追踪 排查后再进入正式批次

SylixOS 能启动不等于 CUDA、RKLLM、RKNN、NCCL、Ray 或 RDMA 已可用。设备文档列出的软件栈均按候选路线处理,冻结实际 OS/BSP、驱动、SDK、编译器和框架版本后再比较。

若仅能采用“SylixOS 实时域 + Linux 推理域”,应作为单独的异构系统架构组,注明核分配、通信和内存共享方式。该结果不能写成 SylixOS 原生 GPU/NPU 推理结论。

3.2 模型梯度与用途

平台 首轮候选 扩展候选 后端准入检查
T4-L/M Qwen2.5-0.5B / 1.5B,候选 INT4 轻量视觉或语音模型 对应芯片实际支持的模型、算子及量化格式
B8 / B16 Qwen2.5-0.5B / 1.5B / 3B,候选 INT4 7B;YOLOv8-n/s INT8 RKLLM 与 RKNN 分别验证;不可混用兼容性结论
T2-L Qwen2.5-7B FP16,先单卡 14B FP16;72B 量化多卡 V100 的驱动、内核、量化算子和并行支持
T3-M/H 7B / 14B,容量适配后运行 32B / 72B 量化 精确到所选设备和软件版本
T2-M/H、T1-L 同一 7B/14B 基准;72B FP16 作为容量实验 多实例与更长上下文 每卡显存、通信路径和框架支持
T1-H 72B 作为跨规模桥接模型 671B 量化模型 完整权重、运行时、KV cache 和分片均可容纳

模型占用按“权重 + KV cache + 激活/工作区 + 运行时 + 保留余量”评估;不按权重大小直接计算并发实例数。每个候选先完成并发 1 的峰值测量,再逐级增加上下文和并发。原稿中的 tokens/s、FPS、内存估计作为待验证参考,不作为已知性能。

3.3 输入与正确性控制

LLM 固定模型修订、tokenizer、量化文件校验值、随机种子、解码参数和输入 token 序列。首轮使用输入长度 128/512/2048、目标输出 128 token;受限平台不能完成的单元记录容量失败。性能用固定长度合成输入,任务质量用独立固定题集;提前结束的请求记录实际输出长度,不补造 token。

YOLO 可选使用固定 640×640 输入、同一验证集和相同预处理,报告 mAP、帧处理延迟和丢帧率。量化实验同时比较任务质量与速度;不同后端若算子或数值格式不同,只能归为整套软件栈比较。

4. 指标定义与采集口径

4.1 实时性与系统开销

对第 i 次周期任务记录计划释放时刻 r_i、就绪时刻 q_i、实际开始时刻 s_i 和完成时刻 f_i,周期为 T,相对截止期为 D。

指标 定义 汇总
唤醒延迟 s_i − r_i,包含定时释放与调度影响 P50/P95/P99/P99.9、观测最大值
就绪后调度延迟 s_i − q_i,仅在两系统均可取得等价就绪事件时使用 同上,独立于唤醒延迟
响应时间 f_i − r_i 分位数、观测最大值
截止期违约率 count(f_i > r_i + D) / 计划释放次数 分子、分母、丢失/跳过次数
完成抖动 相邻完成间隔减去 T 分布与时间序列
上下文切换 / IPC 固定线程数和消息大小的往返测量 µs;说明是否含系统调用和拷贝
外部响应 外部触发到 GPIO 翻转或回包的时间 µs/ms,说明物理链路边界

缺失的周期不能直接从分母移除;需追踪其完成状态,否则该批实时性数据判为不完整。Linux 可使用 cyclictest 等作为辅助,跨 OS 主比较使用相同任务语义的测试程序,不假定 Linux 工具可直接运行于 SylixOS。

4.2 推理服务

在负载发生器的单调时钟上记录计划到达、实际发送、首 token 和最后 token 到达时间。

  • TTFT:首 token 到达 − 实际发送,包含排队、传输与 prefill;同时记录发送滞后,防止负载发生器饱和掩盖排队。
  • TPOT:对输出 token 数 n > 1,使用(末 token 到达 − 首 token 到达)/(n−1);逐 token 间隔另行汇总。
  • 总输出吞吐:测量窗口内收到的输出 token 数 / 窗口时长;另报成功完成请求吞吐和请求成功率。
  • 有效吞吐:仅统计满足预先冻结的 TTFT、完成期限及质量要求的成功请求,其输出 token 数 / 窗口时长;同时报告拒绝、超时和错误,避免只靠丢弃请求改善尾延迟。
  • CPU→加速器端到端延迟:主机提交到结果可用;设备事件计时只作执行阶段分解,不代替完整链路。

4.3 能耗与热状态

在与负载一致的窗口 [t0,t1] 内积分:E_total = ∫P(t)dt;E_token = E_total / N_output,单位 J/token;tokens/J = N_output / E_total。固定窗口包含排队及已执行失败请求消耗的电能,并另外报告完成率。

同时可报告 E_dynamic = E_total − P_idle×(t1−t0),但不得与整机总能耗混用。N_output=0 时能效记为不可计算。混合视觉与 LLM 负载的总能耗不能全部归因于 LLM;应单列场景或增加独立负载对照。

报告平均功率、仪器采样峰值、空载功率、温度、实际频率和降频时间比例。21 W 等设备标称值不直接定义实测整机峰值上限;工程功耗预算由测量边界、具体硬件及项目需求在试运行后冻结。

5. 对照组与变量控制

5.1 OS 与部署组

编号 配置 作用
O0 板卡支持的普通 Linux,固定发行版与内核 通用系统基线
O1 同硬件可用的 Linux PREEMPT_RT,记录补丁与驱动兼容性 主要实时对照
O2 SylixOS 默认配置 原生系统基线
O3 SylixOS 调度、隔离与推理准入优化 主实验组
O4 Linux RT 等预算调优 避免仅一侧调优造成偏差
O5(可选) KVM 实时虚拟机 / 容器部署,分别记录 部署开销;不能视为独立内核类型

平台 B 原稿列出的出厂 Ubuntu 22.04 先核对镜像;扩展平台选择实际受支持的 OS 镜像。无法提供同一推理后端时,明确区分“OS 调度效应”与“系统方案效应”。

5.2 配置控制与消融

所有对照固定核心数量、RT 优先级、内存预算、模型输入、加速器数量、功率策略、后台服务和日志方式。B8/B16 对照只改变内存预算;频率策略作为独立实验变量,记录各 OS 的实际频率,不仅记录策略名称。

完整方案逐项去除:①CPU 核隔离;②IRQ 亲和性;③预分配/内存限额;④推理队列限长与准入;⑤功耗感知策略。每次只去除一个机制,并保留默认配置;不支持的机制注明不可用,不伪造等效实现。

6. 负载设计

6.1 实时任务

主任务周期 T=1 ms,D=1 ms;扩展周期 0.5/5/10 ms。任务体采用确定性计算或内存访问,在每台机器固定参考频率下校准至约 100 µs,再冻结迭代次数;后续频率实验不重新校准工作量。另测试 20%/40% 参考 CPU 占用预算,记录实测执行时间。

任务使用绝对时间周期释放,预分配日志缓冲,测试窗口内避免同步磁盘写入。GPIO/总线回环作为独立端到端任务。LLM 负责命令解析时与周期控制解耦,推理超时走模拟默认动作,先在回环或仿真环境验证。

6.2 背景干扰与推理到达

场景 内容 目的
L0 仅 RT 实时性下界与测量开销
L1 仅推理 最大可持续服务能力与独立能耗
L2 RT + LLM 核心混合场景
L3 L2 + CPU 干扰 参考占用 25/50/75/100%,注明施加核心
L4 L2 + 内存流式读写 实测带宽压力与容量压力分别扫描
L5 L2 + 网络/存储 I/O IRQ、DMA 与系统服务干扰
L6 RT + LLM + YOLO(可选) 多模型竞争与优先级影响
L7 L2 + 突发/过载 队列、拒绝与恢复行为

推理先以并发 1/2/4 做容量筛选,再以开放到达过程测试。每种硬件与模型固定一个参考基线的可持续请求率 λ_ref,所有 OS 使用同一绝对到达序列,测试 0.25/0.5/0.75/1.0/1.25×λ_ref。不得各组按自身吞吐重新归一化后声称承受相同负载。

突发模式使用相同种子:稳态运行后每 60 秒施加持续 10 秒的 2×基础到达率,记录队列峰值和恢复时间。负载发生器尽量位于独立机器;共机时记录其 CPU 开销。

7. 实验矩阵与具体步骤

7.1 核心实验

实验 平台 / 变量 操作与输出 关联问题
E0 准入与空载 A、B16、B8;G0~G4 固定版本、拓扑和功耗边界;输出准入表 全部
E1 微基准 O0~O4;L0、CPU/内存/I/O 干扰 测周期任务、IPC、物理环回;输出 CDF 与最大值 RQ1
E2 推理基线 A 单卡 7B;B 从 0.5B 起;L1 扫输入长度、并发,测正确性、容量、吞吐、能耗 RQ2/3
E3 混合负载 各平台准入模型;L2~L5、L7 固定到达流比较 OS;绘制违约率与有效吞吐曲线 RQ1/2
E4 内存限额 B16 与 B8;固定模型和频率 分别增加上下文、并发和内存干扰,测失败点及 RT 影响 RQ2
E5 多卡竞争 A 的 1/2/4 卡 同模型并行扩展和多实例分别测试;采通信时间与公平性 RQ4
E6 能耗与热 A、B;已验证频率/空闲模式 固定服务负载与环境,测能效、降频和违约率 RQ3
E7 消融 O3 完整方案及逐项去除 使用 E3 中固定中载与过载单元重复测试 RQ2
E8 长稳与恢复 A、B 的最终候选配置 连续 24 小时混合负载,注入推理进程重启、队列过载 RQ1/3

E5 中,同一 7B 模型只有在所有 GPU 数配置均支持相同后端及并行机制时才计算强扩展;多实例吞吐增长单列,不冒充单请求加速。多租户公平性可使用各租户相对独占吞吐 x_i,计算 Jain 指数 (Σx_i)²/(kΣx_i²),同时报告每租户 TTFT 和服务等级。

E8 记录重启时间、请求丢失、RT 违约、内存增长及恢复到稳定吞吐的时间。驱动重置和热环境测试仅在存在可恢复测试路径和相应设备时增加;没有温箱数据不能宣称覆盖 −40~60℃ 全温域。

7.2 条件扩展

扩展 前提 实验内容 结论边界
X1 T4-L/M 板卡、BSP、模型准入 复用 E1~E4、E6,小模型与容量下限 不能用 RK3588 限额替代新 SoC 的功耗结果
X2 T3-M/H GPU/DLA 与 OS 路径明确 共享内存、多模型干扰、功率模式 ARM 与 x86 路线分组,不只按容量归因
X3 T2-M/H 拓扑、供电和散热可用 4→8 卡、V100→H100 数量扩展与架构更换分开比较
X4 T1-L 至少 2 节点,网络和集合通信准入 1/2/4 节点,通信微基准与 RT + 分布式推理 单节点不可容纳模型时,以最小可运行节点数作参考
X5 T1-H 大模型分片、网络和测量资源齐备 固定 72B 对照后增加超大模型 云租环境若无物理功耗或 OS 控制,则相应指标不报告

T1 强扩展固定总模型及工作量,速度提升以参考节点数 n0 的完成时间为基准,效率 = 加速比/(n/n0);弱扩展固定每节点请求负载,报告总有效吞吐和尾延迟。网络协议、交换机、MTU、拥塞配置和进程布局冻结。RDMA/NCCL 不可用时,TCP 回退单独成组。

跨节点单向延迟需记录时钟同步方法与误差;误差不能满足精度要求时改测往返时间,不将其一半无条件当作单向延迟。

7.3 控制实验数量

不一次展开全部档位、OS、模型、长度、干扰和功率的笛卡尔积。首轮使用 A 单卡 7B、B 的已准入小模型、512 输入/128 输出、并发 1 和固定频率,完成 E0~E3;随后围绕出现干扰或资源瓶颈的单元展开 E4~E7。最终确认实验使用提前冻结的配置与新运行批次,避免只报告探索阶段的最佳结果。

8. 运行流程与统计方法

  1. 保存硬件清单和配置快照;核对时钟、仪器连接、数据目录及剩余空间。
  2. 重启进入指定配置,先测空载;模型预热至少 5 分钟,并记录温度是否稳定。冷启动时间单独测量。
  3. 按随机顺序执行对照;同一设备采用配对批次,保持相同输入、种子及环境条件。
  4. 普通性能单元至少独立运行 5 次、每次稳态窗口 10 分钟;RT 以 1 ms 周期可每次得到约 60 万次计划释放。长稳实验独立运行 24 小时。
  5. 尾延迟按指标各自样本量判断。请求级 P99.9 以每单元至少 10 万个有效请求为采样目标,数量不足时标为探索性估计,报告样本数并延长采集或改报 P99;不能用 RT 周期样本数充当请求数。
  6. 保存原始失败、超时和 OOM;测试程序、仪器或配置失效的批次标记无效并说明原因,保留原文件后重跑。
  7. 输出每次运行的分位数、最大值和违约率;跨运行报告中位数与区间,使用按运行/时间块重采样的 bootstrap,保留随机种子。不给时间相关的百万周期样本套用独立样本假设。

观测最大值是本次时长与负载下的最大值,不是理论最坏执行时间。零违约只表述为“在 N 次计划释放和指定工况下未观测到违约”,不能证明硬实时安全上界。能耗差异还需考虑仪器精度、采样频率与环境漂移。

9. 验收与结果判断

验收分为“数据可用”“系统约束满足”和“研究假设得到支持”,避免将目标写成已取得结果。

类型 判据 说明
数据可用 G0~G4 通过,原始数据与配置完整,重复运行可复现 必须项
实时约束 核心 1 ms 任务在预定负载范围内,观测违约数为 0 同时报告样本量、最大响应时间和过载结果
推理服务 达到预先冻结的 TTFT、质量、吞吐和完成率要求 按模型与输入长度分别制定
调度收益 对 O1/O4 的配对比较改善尾延迟或扩大无违约负载范围 同时报有效吞吐代价和置信区间
能耗收益 满足相同实时和推理约束时降低 J/token 不以降低完成率换取能效结论
长稳 完成 24 小时,无不可恢复故障、日志失效或持续内存增长 任何故障均保留并分析

原稿的“0.5B ≥25 token/s、1.5B ≥12 token/s、7B ≥20 token/s、TTFT P99.9 ≤500 ms、吞吐偏差 ≤15%”仅保留为历史候选目标。E2 试运行后依据指定模型、长度、并发及任务需求决定采用与否,正式实验前冻结,不能看完正式结果再下调阈值。原有 8/15/21 W 数值同样不直接作为跨配置统一验收值。

10. 数据产物与论文图表

建议按 results/<experiment>/<platform>/<os>/<config>/<run_id>/ 保存数据,每次运行至少包含:

文件 内容
manifest.json 档位、实物编号、容量口径、OS/BSP/驱动、模型校验值、核心/IRQ/频率配置、输入与种子、测试程序版本
rt.csv 计划释放、就绪(如可用)、开始、完成、CPU ID、违约与丢样状态
requests.csv 请求 ID、计划到达、发送、首/末 token、输出数、质量/成功状态、超时和拒绝原因
power.csv / thermal.csv 时间戳、功率、电压电流(如可用)、温度、实际频率、传感器来源
events.log OOM、驱动错误、降频、重启、网络异常和测量故障
summary.json 样本量、分位数、最大值、吞吐、能耗、配置有效性及异常说明

不同机器的时钟域及对齐方式写入 manifest;保留原始时间戳,汇总脚本不得静默删除异常值。

最终图表包括:①平台与准入状态表;②各负载下 RT 延迟 CDF/尾部放大图;③到达率—违约率—有效吞吐曲线;④B8/B16 内存占用与失败边界;⑤多卡/多节点扩展效率;⑥实时约束内的能耗—吞吐散点图;⑦消融效应及区间;⑧24 小时温度、频率、内存和违约时间序列。未执行的扩展档明确标为计划,不混入实测图。

11. 实施顺序与停止条件

阶段 工作 完成标志
P0-1 清点 A/B,仪器校准,OS 与加速器准入 准入表明确通过项与阻塞项
P0-2 完成 E1/E2,冻结正式配置和阈值 微基准、模型容量、基线数据齐全
P0-3 完成 E3~E7 核心对照 能回答 RQ1~RQ3 及单机 RQ4
P0-4 E8 长稳、复核与图表 可复现数据包与结论边界完整
P1/P2 小内存板卡、边级扩展与必要仪器 在准入后复用核心实验流程
P3/P4 多卡升级与集群扩展 硬件、通信、OS 和功耗采集均满足对应实验条件

设备文档的采购优先级用于安排依赖,本实验设计不要求先采购全谱系设备。扩展驱动无可用实现时停止该路线的原生性能测试,输出适配缺口;内存不足时记录最大可运行配置;仪器缺失时保留性能实验并将能耗记为未测。最终报告分别陈述已实测结论、适配结果和后续计划。