nit: Remove busy waiting on scheduler (#2382)

This commit is contained in:
SangBin Cho
2024-12-08 01:06:15 -08:00
committed by GitHub
parent 63dfab1bea
commit 1f09e84b9a
4 changed files with 19 additions and 6 deletions

View File

@@ -13,7 +13,7 @@ classifiers = [
"Programming Language :: Python :: 3",
"License :: OSI Approved :: Apache Software License",
]
dependencies = ["requests", "tqdm", "numpy", "IPython"]
dependencies = ["requests", "tqdm", "numpy", "IPython", "setproctitle"]
[project.optional-dependencies]
runtime_common = ["aiohttp", "decord", "fastapi",

View File

@@ -20,6 +20,7 @@ from collections import OrderedDict
from typing import List, Union
import psutil
import setproctitle
import zmq
from sglang.srt.hf_transformers_utils import get_tokenizer
@@ -194,6 +195,7 @@ def run_detokenizer_process(
server_args: ServerArgs,
port_args: PortArgs,
):
setproctitle.setproctitle("sglang::detokenizer")
configure_logger(server_args)
parent_process = psutil.Process().parent()

View File

@@ -25,6 +25,7 @@ from types import SimpleNamespace
from typing import List, Optional
import psutil
import setproctitle
import torch
import zmq
@@ -439,12 +440,16 @@ class Scheduler:
if self.tp_rank == 0 or self.server_args.enable_dp_attention:
recv_reqs = []
while True:
try:
recv_req = self.recv_from_tokenizer.recv_pyobj(zmq.NOBLOCK)
except zmq.ZMQError:
break
if self.last_batch is None:
recv_req = self.recv_from_tokenizer.recv_pyobj()
recv_reqs.append(recv_req)
else:
while True:
try:
recv_req = self.recv_from_tokenizer.recv_pyobj(zmq.NOBLOCK)
except zmq.ZMQError:
break
recv_reqs.append(recv_req)
else:
recv_reqs = None
@@ -1473,6 +1478,8 @@ def run_scheduler_process(
dp_rank: Optional[int],
pipe_writer,
):
setproctitle.setproctitle("sglang::scheduler")
# [For Router] if env var "SGLANG_DP_RANK" exist, set dp_rank to the value of the env var
if dp_rank is None and "SGLANG_DP_RANK" in os.environ:
dp_rank = int(os.environ["SGLANG_DP_RANK"])