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 15, 13:30 UTC
[BugFix] Remove default multiproc executor `collective_rpc` timeout (#17000)
Signed-off-by: Nick Hill <nhill@redhat.com>
Nick Hill committed
Apr 22, 2025 at 16:27 UTC
5175b884f70d82d57ad7ce5229f579e45d0c502a
1 file changed
+7
-7
vllm/v1/executor/multiproc_executor.py
+7
-7
@@ -38,7 +38,7 @@ logger = init_logger(__name__)
38
POLLING_TIMEOUT_MS = 5000
39
POLLING_TIMEOUT_S = POLLING_TIMEOUT_MS // 1000
40
41
-EXECUTE_MODEL_TIMEOUT_S = 30
41
+EXECUTE_MODEL_TIMEOUT_S = 40
42
43
44
class MultiprocExecutor(Executor):
@@ -151,16 +151,16 @@ class MultiprocExecutor(Executor):
151
152
def collective_rpc(self,
153
method: Union[str, Callable],
154
- timeout: Optional[float] = 180.0,
154
+ timeout: Optional[float] = None,
155
args: tuple = (),
156
kwargs: Optional[dict] = None,
157
rank0_reply_only: bool = False) -> list[Any]:
158
- start_time = time.monotonic()
159
- kwargs = kwargs or {}
160
-
158
if self.is_failed:
159
raise RuntimeError("Executor failed.")
160
161
+ deadline = None if timeout is None else time.monotonic() + timeout
162
+ kwargs = kwargs or {}
163
+
164
# NOTE: If the args are heterogeneous, then we pack them into a list,
165
# and unpack them in the method of every worker, because every worker
166
# knows their own rank.
@@ -176,8 +176,8 @@ class MultiprocExecutor(Executor):
176
workers = (self.workers[0], ) if rank0_reply_only else self.workers
177
responses = [None] * len(workers)
178
for w in workers:
179
- dequeue_timeout = timeout - (time.monotonic() - start_time
180
- ) if timeout is not None else None
179
+ dequeue_timeout = None if deadline is None else (
180
+ deadline - time.monotonic())
181
status, result = w.worker_response_mq.dequeue(
182
timeout=dequeue_timeout, cancel=self.shutdown_event)
183