A high-throughput and memory-efficient inference and serving engine for LLMs
Mirrored from https://github.com/tduncan-lum/Nvidia-Optimization-Stack---VLLM.git
Synced Nov 10, 15:15 UTC
[1/2][lmcache connector] clean up lmcache multi-process adapter (#31838)
Signed-off-by: ApostaC <yihua98@uchicago.edu>
Yihua Cheng committed
Jan 6, 2026 at 18:02 UTC
5b833be49e02fec2542396a01c9575dfe6e1def2
2 files changed
+23
-7
vllm/distributed/kv_transfer/kv_connector/v1/lmcache_integration/multi_process_adapter.py
+9
-1
@@ -95,6 +95,10 @@ class LMCacheMPSchedulerAdapter:
95
kv_rank: The kv rank used for LMCache keys
96
vllm_block_size: The block size used in vLLM
97
"""
98
+ logger.warning(
99
+ "Importing LMCacheMPSchedulerAdapter is deprecated. "
100
+ "Please update your LMCache to the latest version."
101
+ )
102
self.mq_client = MessageQueueClient(server_url, context)
103
104
# Request futures
@@ -147,7 +151,7 @@ class LMCacheMPSchedulerAdapter:
151
"""
152
return self.blocks_in_chunk
153
150
- def _cleanup_lookup_result(self, request_id: str) -> None:
154
+ def cleanup_lookup_result(self, request_id: str) -> None:
155
"""
156
Clean up lookup future for a finished request to prevent memory leak.
157
Args:
@@ -176,6 +180,10 @@ class LMCacheMPWorkerAdapter:
180
kv_rank: int,
181
vllm_block_size: int,
182
):
183
+ logger.warning(
184
+ "Importing LMCacheMPWorkerAdapter is deprecated. "
185
+ "Please update your LMCache to the latest version."
186
+ )
187
self.mq_client = MessageQueueClient(server_url, context)
188
189
# Instance id for GPU worker
vllm/distributed/kv_transfer/kv_connector/v1/lmcache_mp_connector.py
+14
-6
@@ -17,16 +17,24 @@ from vllm.distributed.kv_transfer.kv_connector.v1.base import (
17
KVConnectorMetadata,
18
KVConnectorRole,
19
)
20
-from vllm.distributed.kv_transfer.kv_connector.v1.lmcache_integration import (
21
- LMCacheMPSchedulerAdapter,
22
- LMCacheMPWorkerAdapter,
23
- LoadStoreOp,
24
-)
20
from vllm.v1.core.sched.output import SchedulerOutput
21
from vllm.v1.outputs import KVConnectorOutput
22
from vllm.v1.request import RequestStatus
23
from vllm.v1.utils import ConstantList
24
25
+try:
26
+ from lmcache.integration.vllm.vllm_multi_process_adapter import (
27
+ LMCacheMPSchedulerAdapter,
28
+ LMCacheMPWorkerAdapter,
29
+ LoadStoreOp,
30
+ )
31
+except ImportError:
32
+ from vllm.distributed.kv_transfer.kv_connector.v1.lmcache_integration import (
33
+ LMCacheMPSchedulerAdapter,
34
+ LMCacheMPWorkerAdapter,
35
+ LoadStoreOp,
36
+ )
37
+
38
if TYPE_CHECKING:
39
from vllm.config import VllmConfig
40
from vllm.distributed.kv_events import KVCacheEvent
@@ -702,7 +710,7 @@ class LMCacheMPConnector(KVConnectorBase_V1):
710
else LMCacheMPRequestState.READY
711
)
712
# Clean up lookup future in scheduler adapter
705
- self.scheduler_adapter._cleanup_lookup_result(request.request_id)
713
+ self.scheduler_adapter.cleanup_lookup_result(request.request_id)
714
715
def build_connector_meta(
716
self, scheduler_output: SchedulerOutput