Simple study of LMCacheMPConnector implementation
get_num_new_matched_tokens
- maybe_submit_lookup_request:
- 异步提交查找请求。若已有任务在进行则直接返回,否则发起新请求。
- 涉及加锁机制以保证状态一致性。
- check_lookup_result:
- 基于 MQ (Message Queue) 检查是否返回结果。
- 若未查到,则从当前 Step 的请求列表中移除。
update_state_after_alloc
- 生成 Load 任务: 若 Cache 命中数量达到阈值,生成对应的 Load 任务。
- 释放锁: 解除部分状态锁,允许后续流程继续。
build_connector_meta
| 方法 | 作用 |
|---|---|
_process_retrieve_requests |
为处于 WAITING_FOR_LOAD 状态的请求生成 RETRIEVE 元数据。 |
_process_new_requests |
为新请求生成 STORE 元数据,用于保存新计算的 KV Cache。 |
_process_cached_requests |
为恢复的请求生成 STORE 元数据。 |
start_load_kv
- 调用
batched_submit_retrieve_requests()批量提交检索请求。 - 解除剩余的锁,完成调度侧的准备工作。
wait_for_save
- 调用
batched_submit_store_requests()批量提交存储请求,确保数据持久化。
save_kv_layer
- 当前状态: 未实现 (Not Implemented)。
- 原因: 在该 Connector 的实现中,存储逻辑已统一由
wait_for_save中的批量提交机制接管,无需逐层单独保存。