SchedulingSnapshotScenario
Serving scenarios · Implementation: mlsysim/engine/scenario_definitions/serving.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
One snapshot of a shared pool’s in-service capacity, read at the scheduling boundary.
Capacity assigned to jobs includes gangs still waiting for members; only complete allocations can run a synchronous step, so scheduling goodput is the assigned share less the incomplete-gang share. Capacity in complete allocations waiting for input crosses this boundary and is a runtime loss.
Notes
Equation: scheduling goodput = assigned share - incomplete-gang share; executing share subtracts input waits.
Assumptions: Shares use offered capacity as the same denominator and incomplete gangs cannot perform a synchronous step.
Excludes: A time-integrated scheduler trace, queueing predictions, and removal of runtime loss by a scheduling-only change.
References
Derivation: scheduling goodput = assigned share - incomplete-gang share; executing share subtracts input waits. The individual properties state units and intermediate accounting; this class introduces no fitted coefficient.
Examples
The named scenario supplies illustrative inputs; the output is calculated.
>>> from mlsysim import Scenarios
>>> case = Scenarios.SharedPoolSchedulingSnapshot
>>> round(float(case.scheduling_goodput), 3)
0.65Attributes
| Name | Description |
|---|---|
| assigned_share | |
| executing_share | Fraction of offered capacity executing after removing input waits from complete |
| incomplete_gang_share | |
| input_wait_of_held | Input-wait fraction normalized by complete-allocation held capacity. |
| input_wait_share | |
| partial_hold_ceiling | Scheduling-goodput ceiling if incomplete gangs become complete allocations without |
| scheduling_goodput | Fraction of offered devices in complete allocations, assigned share minus |
| scheduling_loss | Fraction of offered capacity outside complete allocations. |
| unassigned_share | Fraction of offered devices assigned to no job. |
scheduling_goodput
engine.scenario_types.SchedulingSnapshotScenario.scheduling_goodput
Fraction of offered devices in complete allocations, assigned share minus incomplete gangs.
Equation: return assigned_share - incomplete_gang_share.
scheduling_loss
engine.scenario_types.SchedulingSnapshotScenario.scheduling_loss
Fraction of offered capacity outside complete allocations.
Equation: return 1 - scheduling_goodput.
input_wait_of_held
engine.scenario_types.SchedulingSnapshotScenario.input_wait_of_held
Input-wait fraction normalized by complete-allocation held capacity.
Equation: return input_wait_share / scheduling_goodput.
partial_hold_ceiling
engine.scenario_types.SchedulingSnapshotScenario.partial_hold_ceiling
Scheduling-goodput ceiling if incomplete gangs become complete allocations without other changes.
Equation: return scheduling_goodput + incomplete_gang_share.