[refactor] ctx.resources: named slots, stream leases, and workspace buffer leases (#30348)

This commit is contained in:
Cheng Wan
2026-07-07 21:30:10 -07:00
committed by GitHub
parent b7cca0bf8f
commit 7709a1f358
45 changed files with 336 additions and 172 deletions
+10 -8
View File
@@ -284,18 +284,20 @@ class _ExpertDistributionRecorderReal(ExpertDistributionRecorder):
return self._recording
_global_expert_distribution_recorder: Optional[ExpertDistributionRecorder] = (
_ExpertDistributionRecorderNoop()
)
def get_global_expert_distribution_recorder():
return _global_expert_distribution_recorder
from sglang.srt.runtime_context import get_resources
resources = get_resources()
if resources.expert_distribution_recorder is None:
# Call sites expect a recorder unconditionally; default to the noop.
resources.expert_distribution_recorder = _ExpertDistributionRecorderNoop()
return resources.expert_distribution_recorder
def set_global_expert_distribution_recorder(value):
global _global_expert_distribution_recorder
_global_expert_distribution_recorder = value
from sglang.srt.runtime_context import get_resources
get_resources().expert_distribution_recorder = value
# --------------------------------------- SinglePassGatherer -----------------------------------------
+8 -7
View File
@@ -305,17 +305,18 @@ class ExpertLocationMetadata:
]
_global_expert_location_metadata: Optional[ExpertLocationMetadata] = None
def get_global_expert_location_metadata():
return _global_expert_location_metadata
from sglang.srt.runtime_context import get_resources
return get_resources().expert_location_metadata
def set_global_expert_location_metadata(value):
global _global_expert_location_metadata
assert _global_expert_location_metadata is None
_global_expert_location_metadata = value
from sglang.srt.runtime_context import get_resources
resources = get_resources()
assert resources.expert_location_metadata is None
resources.expert_location_metadata = value
def broadcast_global_expert_location_metadata(
+9 -4
View File
@@ -26,7 +26,6 @@ import torch
logger = logging.getLogger(__name__)
# Global per-layer LPLB solvers
_global_lplb_solvers: dict[int, LPLBSolver] = {}
# LP dispatch requires every EP rank to call solver.solve() on every forward
@@ -59,15 +58,21 @@ def assert_lplb_supported_model(architecture: str) -> None:
def get_global_lplb_solver(layer_id: int) -> Optional[LPLBSolver]:
return _global_lplb_solvers.get(layer_id)
from sglang.srt.runtime_context import get_resources
return get_resources().lplb_solvers.get(layer_id)
def set_global_lplb_solver(layer_id: int, solver: LPLBSolver):
_global_lplb_solvers[layer_id] = solver
from sglang.srt.runtime_context import get_resources
get_resources().lplb_solvers[layer_id] = solver
def clear_global_lplb_solvers():
_global_lplb_solvers.clear()
from sglang.srt.runtime_context import get_resources
get_resources().lplb_solvers.clear()
class LPLBSolver: