Skip to main content

title: DSec 弹性计算:一页读懂

  1. title: DSec 弹性计算:一页读懂
    subtitle: 面向大规模 Agent 训练的沙盒基础设施
    source: DeepSeek DSec 技术报告 · 知乎解读
    TEMPLATE: SHEET
    DSec 支撑 DeepSeek-V3.2 到 V4.1 的全部 Agent 沙盒负载。单分片约 160 台服务器、3 万 CPU 核心、250 TB 内存。每天服务约 300 万个沙盒,峰值并发超过 38 万,每秒创建超过 5000 个。核心思路有四条:环境分层组合、数据按需加载、资源极限超卖、轨迹执行与 GPU 训练解耦。
    负载画像:四条特征决定设计
    DSec 的每个设计,都能从负载特征反推。
    负载特征
    关键数据
    设计对策
    创建请求脉冲式爆发
    每秒超过 5000 个沙盒
    预建容器、EROFS 层快速组合
    CPU 长期空闲、内存必须常驻
    九成沙盒平均 CPU 不超过申请量 5%
    超卖超过 50 倍、内存共享与回收
    环境种类多、基础镜像复用低
    一周用 11266 个基础镜像、102171 个工作区
    环境拆成三层、独立版本、按需组合
    任务执行久、训练可能被抢占
    多轮交互、状态不能丢
    执行逻辑移出可抢占 GPU 池
    统一接入:四种执行后端
    四种后端由同一个 Python SDK(libdsec)接入,按任务类型选择。
    后端
    隔离强度
    启动与密度
    典型任务
    FnCall
    最弱
    复用预建容器,启动最快
    在线评测等短任务
    Container
    较弱
    启动快、部署密度高
    软件工程、工具调用
    MicroVM
    强
    独立隔离边界
    安全类任务
    Full VM
    最强
    完整系统、开销大
    图形界面、渲染、Android
    环境分层:拆掉重建放大
    基础镜像、工作区、工具包更新节奏不同,版本各自管理。
    group 三个独立版本轴: 基础镜像, 工作区, 工具包
    基础镜像 -> EROFS 镜像
    工作区 -> EROFS 镜像
    工具包 -> EROFS 镜像
    EROFS 镜像 -> OverlayFS 组合: 运行时按需挂载
    OverlayFS 组合 -> (沙盒)
    
    
     • 单体镜像改一个工具包,全部内嵌镜像都要重建。
     • 分层后只重建变化的 EROFS 层,其余复用。
     • EROFS 支持元数据与数据分离,还支持跨镜像去重。
     • 工具包例如 DeepSeek Harness。
    
    
    按需加载:不拉全量镜像
    生产分析显示,运行中真正访问的数据只占镜像总量的 4.2% 到 13.3%。
    [(3FS 存全量数据)] -> 只拉元数据: 创建时
    只拉元数据 -> (沙盒快速启动)
    (沙盒快速启动) -> 访问时按需读取: I/O 随用量缩减
    
    
    实验
    结果
    8192 容器并发创建
    从超过 60 分钟降到约 35 分钟,加速 1.71 倍
    同上写盘量
    减少约 57%
    工作区从解压 tar.gz 改为挂载 EROFS
    从 79 分钟降到 45 分钟
    同上写盘量
    降到约 1/5.5
    高密度:超卖、共享、回收
    沙盒大部分时间在等模型出下一步动作,CPU 大量闲置。
    机制
    原理
    效果
    virtio-pmem + DAX
    同宿主机 MicroVM 共享一份宿主页缓存
    峰值宿主内存下降 40.2%
    DAMON + balloon 空闲页报告
    闲置内存交还宿主机
    累计内存消耗下降 21.2%
    CPU 调度 + 核心调度
    时延敏感任务优先,减少超线程干扰
    同机负载 50% 时,时延增幅从 45.2% 降到 17.3%
    两种内存机制叠加时,总内存消耗最低。
    ROLLOUT 解耦:训练被抢占也不丢进度
    
    
    
    
    
     • Agent 沙盒跑 Agent 框架与工具包。
     • 工作容器管理沙盒与交互流程。
     • 两者共同保存执行进度与环境状态。
    
    
    用 AGENT 造 AGENT 环境
    (环境构建 Agent) -> (沙盒): 在 DSec 内构建环境
    (沙盒) -> pack_diff 增量快照: 保存沙盒状态
    pack_diff 增量快照 -> (可复用环境)
    pack_diff 增量快照 -> (轨迹分叉)
    (轨迹分叉) -> (分支 1) & (分支 2)
    
    
     • 造环境的平台与跑 Agent 的平台合一,构建环境与运行环境一致。
     • 每轮交互都能转成可复用的沙盒环境。
     • 第 k 步快照可分叉多条轨迹,分支共享只读层,只记录各自变更。
     • MicroVM 快照保存内存与进程状态;容器目前主要是磁盘级快照。
    
    
    安全边界:假设 AGENT 是对手
    环境里存在拿奖励的捷径,模型就可能利用它。攻防会长期持续,安全机制只能不断迭代。
    
    
    观察到的行为
    防御
    边界
    读取残留答案
    细粒度访问控制
    缓解
    伪造 RPC 请求、覆盖 /bin/bash
    AppArmor 约束文件与套接字
    管理员身份也生效
    尝试 XFS_IOC_SWAPEXT 绕过控制
    访问控制与监控
    内核缺陷缺乏通用防御
    访问外部网络
    eBPF 白名单
    限制地址、端口、协议