lmcache coordinator#

lmcache coordinator 命令启动 LMCache MP 协调器,这是一个独立的 HTTP 服务,用于跟踪部署中的 MP 服务器实例。MP 服务器向其注册并发送定期心跳;协调器会逐出任何心跳超时的实例,该超时时间由 --instance-timeout 指定。

它替代了 python -m lmcache.v1.mp_coordinator。该进程在前台运行;使用 Ctrl-C 停止它。

lmcache coordinator [options]

快速开始#

lmcache coordinator \
    --host 0.0.0.0 --port 9300 \
    --instance-timeout 30 \
    --health-check-interval 10

选项#

标志

描述

--host HOST

协调器 HTTP 服务器的绑定地址(默认:0.0.0.0)。

--port PORT

HTTP 端口(默认值:9300)。

--instance-timeout SECS

在没有心跳的情况下,经过多少秒后实例被逐出(默认值:30)。

--health-check-interval SECS

健康检查扫描之间的秒数;0 禁用循环(默认值:10)。

--eviction-check-interval SECS

L2 逐出扫描之间的秒数;0 禁用循环(默认值:5)。

--eviction-ratio RATIO

每个周期逐出的跟踪键的比例(按计数),0.01.0(默认值:0.2)。

--trigger-watermark RATIO

当使用量达到配额的这个比例时会触发逐出,0.0(不包括)到1.0(默认值:1.0)。

--chunk-size N

每个 KV 块的令牌数:CacheBlend 匹配单元以及用于将固定的 token_ids 解析为键的单元。必须等于 MP 服务器的 --chunk-size``(默认值:``256)。

--hash-algorithm NAME

用于固定密钥解析的令牌哈希算法;必须与 MP 服务器的 --hash-algorithm 相等。``blake3``(默认)是自包含的;其他算法需要在协调器中可导入的 vLLM。

--blend-probe-stride N

在 CacheBlend 匹配探测之间的位置;1 在每个偏移量处探测以实现完全回忆(默认值:1)。

--timeout-keep-alive SECS

HTTP服务器在关闭空闲连接之前保持连接打开的秒数。必须大于MP服务器的心跳间隔(默认``5``),否则心跳请求可能会遇到关闭的连接并失败,错误信息为``服务器在未发送响应的情况下断开连接``(默认值:10)。

配置#

每个标志都是可选的。未设置的标志将回退到 LMCACHE_MP_COORDINATOR_* 环境变量(HOSTPORTINSTANCE_TIMEOUTHEALTH_CHECK_INTERVALEVICTION_CHECK_INTERVALEVICTION_RATIOTRIGGER_WATERMARKCHUNK_SIZEHASH_ALGORITHMBLEND_PROBE_STRIDETIMEOUT_KEEP_ALIVE),然后回退到内置默认值。提供的标志始终会覆盖匹配的环境派生值,因此仅环境的部署保持不变。

第二组仅环境的控制选项控制启动 L2 重新同步 — LMCACHE_MP_COORDINATOR_ENABLE_STARTUP_RESYNC(默认 True)、LMCACHE_MP_COORDINATOR_RESYNC_POLL_INTERVAL1)、LMCACHE_MP_COORDINATOR_RESYNC_MAX_WAIT60)和 LMCACHE_MP_COORDINATOR_RESYNC_PAGE_SIZE1000)。有关启动时重新同步流程和活动逐出循环,请参见 多服务器协调

协调器通过调用每个 MP 服务器的 DELETE /l2 端点来驱动全队列的 L2 逐出,并且 resync 在注册的 MP 服务器上对 GET /l2/keys 进行分页。这两个端点的文档见 缓存对象和预取

请参阅 多服务器协调 以了解协调器的架构、注册协议和 HTTP API。