随着大语言模型在线推理服务规模持续扩大,Prefill-Decode(PD)分离已成为提升资源利用率、降低首Token时延的重要架构方向。相比单体式推理服务,PD分离能够将计算密集的Prefill阶段与时延敏感的Decode阶段解耦,从而支持独立扩缩容、异构部署与更精细的资源调度。然而,在Linux容器化环境下,PD分离架构仍面临若干关键系统挑战。首先,任务被抢占、容器异常退出、节点抖动或服务升级时,请求上下文、通信状态与运行时资源难以及时恢复,容易导致服务中断时间过长。其次,PD分离任务在异常中断后,基于NCCL等通信库的多进程协同可能残留僵尸进程、悬挂通信组、显存与句柄泄漏,进一步影响后续任务调度与系统稳定性。最后,容器 PD分离架构下链路更长、组件更多,路由、排队、跨实例通信和资源竞争会显著放大端到端SLO保证的难度,导致TTFT、TPOT、P99时延和请求成功率难以稳定优化。
本赛题要求参赛者基于 Linux 系统与开源推理框架,设计并实现面向大语言模型在线服务的PD分离容器化原型系统,围绕中断快速恢复、异常通信资源治理、容器化场景下端到端SLO优化开展系统级创新,并通过可复现的Benchmark与故障注入实验验证效果。
Zhong Y, Liu S, Chen J, et al. {DistServe}: Disaggregating prefill and decoding for goodput-optimized large language model serving[C]//18th USENIX Symposium on Operating Systems Design and Implementation (OSDI 24). 2024: 193-210. https://www.usenix.org/conference/osdi24/presentation/zhong-yinmin
Wu B, Liu S, Zhong Y, et al. Loongserve: Efficiently serving long-context large language models with elastic sequence parallelism[C]//Proceedings of the ACM SIGOPS 30th Symposium on Operating Systems Principles. 2024: 640-654. https://dl.acm.org/doi/abs/10.1145/3694715.3695948
赛题题目:面向开源操作系统的的大语言模型PD分离容器化推理系统设计与优化(高校赛题)
赛题说明:
随着大语言模型在线推理服务规模持续扩大,Prefill-Decode(PD)分离已成为提升资源利用率、降低首Token时延的重要架构方向。相比单体式推理服务,PD分离能够将计算密集的Prefill阶段与时延敏感的Decode阶段解耦,从而支持独立扩缩容、异构部署与更精细的资源调度。然而,在Linux容器化环境下,PD分离架构仍面临若干关键系统挑战。首先,任务被抢占、容器异常退出、节点抖动或服务升级时,请求上下文、通信状态与运行时资源难以及时恢复,容易导致服务中断时间过长。其次,PD分离任务在异常中断后,基于NCCL等通信库的多进程协同可能残留僵尸进程、悬挂通信组、显存与句柄泄漏,进一步影响后续任务调度与系统稳定性。最后,容器 PD分离架构下链路更长、组件更多,路由、排队、跨实例通信和资源竞争会显著放大端到端SLO保证的难度,导致TTFT、TPOT、P99时延和请求成功率难以稳定优化。 本赛题要求参赛者基于 Linux 系统与开源推理框架,设计并实现面向大语言模型在线服务的PD分离容器化原型系统,围绕中断快速恢复、异常通信资源治理、容器化场景下端到端SLO优化开展系统级创新,并通过可复现的Benchmark与故障注入实验验证效果。
赛题要求:
评分细则(明确评审角度、标准和分值范围):
赛题联系人:
杨老师 pfyang@xidian.edu.cn参考资料:
项目实现与复现说明
1. 项目简介
RawPD-System 是面向大语言模型在线服务的 Prefill-Decode(PD)分离推理系统,包含服务器版和 RK3588 边缘平台版。项目在 SGLang 推理框架基础上,将 Router、Prefill、Decode、资源规划、弹性控制、KVCache 管理、故障恢复和资源清理等能力组织为统一的运行与治理体系。
服务器版面向 openEuler 和 NVIDIA GPU 服务器,重点验证容器化 PD 分离、独立扩缩容、KVCache 管理、请求恢复和异常资源治理。RK3588 版面向 ARM64 单板环境,在保留上层 PD 控制逻辑的基础上,适配共享系统内存、Mali-G610/Vulkan 执行环境以及板端本地数据交接路径。
2. 应用场景
项目适用于需要将 Prefill 和 Decode 分开部署的大语言模型在线推理场景,包括多 GPU 服务器上的容器化推理服务、资源受限的 ARM64 边缘设备、模型服务的故障恢复与滚动维护,以及需要对请求、KVCache、GPU/设备资源和运行状态进行统一管理的推理平台。
3. 主要功能
服务器版和 RK3588 版的详细架构、模块设计和技术实现分别见:
docs/RawPD-System-Server项目汇总文档.mddocs/RawPD-System-RK3588项目汇总文档.mddocs/项目创新说明.pdf4. 系统环境与依赖要求
服务器版的主要验证环境为:
RK3588 版的主要运行环境为:
服务器版的依赖版本、离线 Python 环境和镜像准备方式见
demo/server/deploy/;RK3588 版的板端环境、模型和运行库准备方式见demo/rk3588/RK3588运行说明.md、demo/rk3588/RK3588 Lite移植说明.md及demo/rk3588/deploy/README.md。模型权重、服务器版虚拟环境压缩包以及 RK3588 底层运行库不全部随仓库提交。5. 构建与安装
服务器版在 Linux/openEuler 环境中准备项目目录、Python 环境、模型和 Podman 镜像。典型步骤如下:
模型准备可使用:
如果使用已有离线环境,可按照
demo/server/RawPD-System-Server软硬件部署手册.md和demo/server/deploy/README.md完成安装。RK3588 版需要先按照移植说明准备板端内核、RootFS、Vulkan/PanVK、模型和动态库,再使用src/RawPD-System-RK3588/中的源码及demo/rk3588/deploy/中的交付脚本,不提供面向 x86_64 主机的直接交叉构建入口。6. 运行方法
项目根目录提供服务器版和 RK3588 版的演示入口:
RK3588 版也可以按场景执行:
服务器版的启动、停止、模型路径和常用故障处理命令见
demo/server/RawPD-System-Server基础指令速查表.md;RK3588 版的服务启动、停止、Smoke 检查和 systemd 服务配置见demo/rk3588/deploy/。7. 测试方法
测试证据和使用说明位于
tests/,其中:tests/evidence/保存已生成的服务器版测试证据包及 SHA256 校验文件;tests/README.md给出证据包清单、完整性校验方式和全部测试命令;src/RawPD-System-Server/scripts/。校验证据包:
在具备 openEuler、Podman、Python 3.9、CUDA/NCCL、双 NVIDIA GPU、模型文件和已恢复运行环境的服务器上,可按
tests/README.md进入src/RawPD-System-Server/执行对应的基线、Smoke、扩缩容、故障恢复、KVCache 和资源清理测试。已有证据包反映的是既定实验环境中的结果,不替代在其他硬件上的重新测试。8. 已知限制
9. 文档索引
docs/RawPD-System-Server项目汇总文档.mddocs/RawPD-System-RK3588项目汇总文档.mddocs/项目创新说明.pdfdemo/tests/