feat: send kvmetrics from sglang scheduler (#6721)
This commit is contained in:
@@ -1701,6 +1701,9 @@ class PortArgs:
|
||||
# The ipc filename for rpc call between Engine and Scheduler
|
||||
rpc_ipc_name: str
|
||||
|
||||
# The ipc filename for Scheduler to send metrics
|
||||
metrics_ipc_name: str
|
||||
|
||||
@staticmethod
|
||||
def init_new(server_args, dp_rank: Optional[int] = None) -> "PortArgs":
|
||||
port = server_args.port + random.randint(100, 1000)
|
||||
@@ -1720,6 +1723,7 @@ class PortArgs:
|
||||
detokenizer_ipc_name=f"ipc://{tempfile.NamedTemporaryFile(delete=False).name}",
|
||||
nccl_port=port,
|
||||
rpc_ipc_name=f"ipc://{tempfile.NamedTemporaryFile(delete=False).name}",
|
||||
metrics_ipc_name=f"ipc://{tempfile.NamedTemporaryFile(delete=False).name}",
|
||||
)
|
||||
else:
|
||||
# DP attention. Use TCP + port to handle both single-node and multi-node.
|
||||
@@ -1739,9 +1743,9 @@ class PortArgs:
|
||||
port_base = int(dist_init_port) + 1
|
||||
if dp_rank is None:
|
||||
# TokenizerManager to DataParallelController
|
||||
scheduler_input_port = port_base + 3
|
||||
scheduler_input_port = port_base + 4
|
||||
else:
|
||||
scheduler_input_port = port_base + 3 + 1 + dp_rank
|
||||
scheduler_input_port = port_base + 4 + 1 + dp_rank
|
||||
|
||||
return PortArgs(
|
||||
tokenizer_ipc_name=f"tcp://{dist_init_host}:{port_base}",
|
||||
@@ -1749,6 +1753,7 @@ class PortArgs:
|
||||
detokenizer_ipc_name=f"tcp://{dist_init_host}:{port_base + 1}",
|
||||
nccl_port=port,
|
||||
rpc_ipc_name=f"tcp://{dist_init_host}:{port_base + 2}",
|
||||
metrics_ipc_name=f"tcp://{dist_init_host}:{port_base + 3}",
|
||||
)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user