[Feat]Add scheduler recv skipper weights to environment configuration (#13855)

This commit is contained in:
Jimmy
2025-11-27 18:16:11 +08:00
committed by GitHub
parent 6edffc6391
commit ab843ced31
3 changed files with 23 additions and 10 deletions

View File

@@ -168,6 +168,13 @@ class Envs:
SGLANG_RETRACT_DECODE_STEPS = EnvInt(20)
SGLANG_CLIP_MAX_NEW_TOKENS_ESTIMATION = EnvInt(4096)
# Scheduler: recv interval
SGLANG_SCHEDULER_RECV_SKIPPER_WEIGHT_DEFAULT = EnvInt(1000)
SGLANG_SCHEDULER_RECV_SKIPPER_WEIGHT_DECODE = EnvInt(1)
SGLANG_SCHEDULER_RECV_SKIPPER_WEIGHT_TARGET_VERIFY = EnvInt(1)
SGLANG_SCHEDULER_RECV_SKIPPER_WEIGHT_NONE = EnvInt(1)
# Scheduler: others:
SGLANG_EMPTY_CACHE_INTERVAL = EnvFloat(-1) # in seconds. Set if you observe high memory accumulation over a long serving period.
SGLANG_DISABLE_CONSECUTIVE_PREFILL_OVERLAP = EnvBool(False)

View File

@@ -1,3 +1,4 @@
from sglang.srt.environ import envs
from sglang.srt.model_executor.forward_batch_info import ForwardMode
from sglang.srt.server_args import ServerArgs
@@ -14,11 +15,20 @@ class SchedulerRecvSkipper:
assert not server_args.enable_dp_attention
self._counter = 0
self._threshold = server_args.scheduler_recv_interval
# All can be tuned if needed
self._default_weight = envs.SGLANG_SCHEDULER_RECV_SKIPPER_WEIGHT_DEFAULT.get()
self._weight_of_forward_mode = {
ForwardMode.DECODE: envs.SGLANG_SCHEDULER_RECV_SKIPPER_WEIGHT_DECODE.get(),
ForwardMode.TARGET_VERIFY: envs.SGLANG_SCHEDULER_RECV_SKIPPER_WEIGHT_TARGET_VERIFY.get(),
None: envs.SGLANG_SCHEDULER_RECV_SKIPPER_WEIGHT_NONE.get(),
}
def handle(self, last_forward_mode: ForwardMode):
should_recv = False
last_weight = _WEIGHT_OF_FORWARD_MODE.get(last_forward_mode, _DEFAULT_WEIGHT)
last_weight = self._weight_of_forward_mode.get(
last_forward_mode, self._default_weight
)
self._counter += last_weight
if self._counter >= self._threshold:
@@ -26,12 +36,3 @@ class SchedulerRecvSkipper:
should_recv = True
return should_recv
# All can be tuned if needed
_DEFAULT_WEIGHT = 1000
_WEIGHT_OF_FORWARD_MODE = {
ForwardMode.DECODE: 1,
ForwardMode.TARGET_VERIFY: 1,
None: 1,
}