[PD] Add transfer backend abstraction (#5328)
This commit is contained in:
@@ -42,3 +42,34 @@ class ReqToMetadataIdxAllocator:
|
||||
|
||||
def free(self, free_index: int):
|
||||
self.free_slots.append(free_index)
|
||||
|
||||
|
||||
class TransferBackend(Enum):
|
||||
MOONCAKE = "mooncake"
|
||||
FAKE = "fake"
|
||||
|
||||
|
||||
class KVClassType(Enum):
|
||||
MANAGER = "manager"
|
||||
SENDER = "sender"
|
||||
RECEIVER = "receiver"
|
||||
BOOTSTRAP_SERVER = "bootstrap_server"
|
||||
|
||||
|
||||
def get_kv_class(transfer_backend: TransferBackend, class_type: KVClassType):
|
||||
if transfer_backend == TransferBackend.MOONCAKE:
|
||||
from sglang.srt.disaggregation.mooncake import (
|
||||
MooncakeKVBootstrapServer,
|
||||
MooncakeKVManager,
|
||||
MooncakeKVReceiver,
|
||||
MooncakeKVSender,
|
||||
)
|
||||
|
||||
class_mapping = {
|
||||
KVClassType.MANAGER: MooncakeKVManager,
|
||||
KVClassType.SENDER: MooncakeKVSender,
|
||||
KVClassType.RECEIVER: MooncakeKVReceiver,
|
||||
KVClassType.BOOTSTRAP_SERVER: MooncakeKVBootstrapServer,
|
||||
}
|
||||
return class_mapping.get(class_type)
|
||||
raise ValueError(f"Unsupported transfer backend: {transfer_backend}")
|
||||
|
||||
Reference in New Issue
Block a user