SGLang 亚秒级引擎恢复:权重缓存守护进程实现快速重启

SGLang 亚秒级引擎恢复:权重缓存守护进程实现快速重启

TL;DR

随着SOTA模型规模持续扩大,服务崩溃后重新加载模型的成本极高。为此,我们推出Weight Cache Daemon,一个持久化GPU进程,通过CUDA IPC零拷贝映射将后量化模型权重保留在GPU内存中,并提供给新的SGLang引擎实例。这将权重加载时间从数分钟缩短至秒级。

Weight Cache Daemon是Fast Engine Recovery Framework的第一阶段,目标是实现生产级LLM服务的冷重启小于10秒、热备用切换小于1秒。

关键成果

  • 权重加载:~495s → ~0.63s,加速约785倍(基于Ling-2.6-1T FP8模型)
  • 总启动时间:8.8min → 0.528min,端到端引擎启动时间减少93.9%
  • 多实例权重共享:同一GPU上的多个引擎实例共享IPC句柄,消除重复磁盘I/O和后量化转换
  • 主动-备用故障转移<1秒:通过零拷贝共享权重,实现近零停机时间切换,无需为备用副本预留完整GPU
  • 多节点实例权重共享:支持大型模型的多节点模式

背景

随着LLM模型规模增长(如Qwen3-235B、Ling-2.6-1T及新发布的2.8T Kimi K3),服务引擎的冷启动时间已成为生产效率的关键瓶颈。Ling-2.6-1T FP8实例在8×H20-3e GPU上仅就绪就需约8.52分钟,权重存储在3.5T NVME SSD中。

图1

分析显示,权重从磁盘加载占启动时间的93.9%。每次重启都重复执行相同的磁盘读取、反序列化、TP分片和后量化操作,尽管结果张量是确定性的。

设计

核心思路:通过CUDA IPC实现持久化权重缓存

Weight Cache Daemon是一个持久化GPU进程,保存后量化、TP分片的权重。引擎重启时通过CUDA IPC零拷贝映射权重,无需磁盘I/O、无需反序列化、无需重新量化。

图2

基于Meta Device的零拷贝加载

引擎在meta device上初始化模型,然后直接将参数数据指针替换为IPC映射的张量,实现零拷贝。

配置验证与安全机制

任何配置不匹配都会触发完整磁盘重新加载,确保正确性。量化方法受IPC白名单限制。

图3

生产场景应用

该方案支持多实例权重共享、优先级共服务以及主动-备用故障转移等生产模式。

图4
本文来自 LMSYS 博客,赢政天下(winzheng.com)进行了全文翻译。 点击这里查看原文 如果转载中文,请注明出处,谢谢支持!