Aster文档
搜索 Aster 文档
ESC
产品
版本

输入关键词开始搜索。

    文档目录

    ASTER POWER / 03

    Power 分布式推理与缓存

    worker 观测、Prefill/Decode 分离、opaque 状态传输和前缀缓存边界。

    Power 执行模型并报告本地能力。Gateway 选择 worker 并编排请求。Cloud 负责部署代际、放置和快照。

    Worker 观测

    GET /health 中的 worker 对象使用 aster.power.worker-observation.v1。观测包含进程 epoch、观测代际、有效期、阶段就绪、准入计数、缓存压力和状态传输健康。

    观测不包含租户、凭据、提示词、缓存键或 KV 字节。Cloud 负责把观测绑定到部署单元。Gateway 只接受完整且未过期的关联快照。

    worker_observation_ttl_seconds 默认是 120 秒,可接受范围为 1 至 300 秒。该值是新鲜度边界,不是消费者可以延长的租约。

    P/D 分离

    默认服务只宣告 aggregated。P/D 组合必须同时提供 StateTransferService 和 ServingPhaseExecutor,并绑定相同的执行配置摘要与本地角色。

    只有两个适配器均为 Injected,且满足 ProductionAdapterContract::REQUIRED 和 Ready 时,worker 才可宣告对应阶段。Empty 占位实现和缺少任一适配器的组合会失败闭合。

    Gateway 调用顺序固定为 decode/prepare、prefill/execute、decode/execute。传输完成只证明状态移动。decode 适配器返回响应流后,本次 decode 才成功。

    P/D 适配器的职责
    职责所有者Power 保存的内容
    内存注册与释放具体传输适配器opaque 本地句柄和声明字节数
    传输认证、加密和驱动具体传输适配器不保存 KV 载荷
    阶段执行与模型状态语义具体阶段执行适配器模型中立的执行生命周期
    准入、期限、取消和清理核对Power有界计数和租约状态

    BufferedHostLoopback 提供跨进程协议和认证 loopback 证据。该证据不等于高速网络证据,也不证明任意模型的语义等价。

    DirectDeviceMemoryPull 是高速传输的产品端口。当前健康状态保持 Unavailable,数据路径拒绝工作,也不会宣告 P/D 就绪。

    部署具体模型前,必须验证状态布局、执行配置、目标拓扑和清理行为。生产快照与跨产品验收仍需完成。

    KV Cache 亲和与前缀复用

    Gateway 的缓存亲和用于选择 worker。Power 的前缀缓存用于在实际后端复用模型状态。路由提示不证明 KV 已驻留。

    调用方使用 prompt_cache_key 显式启用前缀复用。键长度为 1 至 256 个 UTF-8 字节,且不能包含控制字符或首尾空白。

    前缀缓存的后端支持
    后端文本路径请求缓存键时的行为
    llamacpp / llamacpp-cudachat 和 completion复用可精确回滚的最长相同前缀
    mistralrs未实现返回 prompt_cache_unsupported
    picolm未实现返回 prompt_cache_unsupported
    proxy不保证不支持时返回 prompt_cache_unsupported

    Power 按认证身份、端点、模型和调用方键分域。原始键不会直接成为后端 map key,也不会进入执行回执。

    缓存命中表示至少复用一个 token。命中本身不证明延迟下降。混合 recurrent 模型的回滚窗口也可能使较早的分叉后缀成为 miss。

    与推测解码的边界

    当前 llama.cpp 适配器不能组合缓存会话和原生 MTP。显式 spec_mode = "mtp" 与缓存键同时出现时,请求失败闭合。

    spec_mode = "auto" 遇到缓存键时选择 target-only。前缀缓存减少重复 prefill,推测解码改变生成路径,两者的指标不能混用。

    Gateway 的详细路由条件见模型路由、P/D 分离与缓存亲和。

    实现依据