UtilizationGainScenario
Economics scenarios · Implementation: mlsysim/engine/scenario_definitions/economics.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
A fleet of fleet_gpus raised from utilization_before to utilization_after.
The gain in fully active GPU-equivalents is N (u_after - u_before). Buying that capacity under the old policy would take gain / u_before raw GPUs, which is what the gain is worth. pools and pool_metrics optionally record the GPU pools and each pool’s measured shares.
Notes
Equation: productive gain = fleet size * utilization change; raw equivalent = productive gain / old utilization.
Assumptions: Utilization fractions refer to the same useful-work definition, and old utilization is positive.
Excludes: A measured causal effect of a policy, workload-mix changes, and procurement overhead.
References
Derivation: productive gain = fleet size * utilization change; raw equivalent = productive gain / old utilization. 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.MixedFleetPolicyFix1K
>>> round(float(case.improvement), 3)
0.24Attributes
| Name | Description |
|---|---|
| annual_value | Annual USD value of the equivalent devices, assuming the same hourly rate all |
| device_hour_rate | |
| fleet_gpus | |
| improvement | Increase in productive utilization as a dimensionless fraction, after minus |
| job_memory_need | |
| pending_jobs | |
| pool_metrics | |
| pools | |
| productive_gain | Additional fully busy GPU-equivalents, counting the utilization gain across the |
| raw_gpu_equivalent | Raw devices needed to supply that gain under the old utilization; the old share |
| utilization_after | |
| utilization_before |
fleet_gpus
Type: int.
Declared default: required.
utilization_before
Type: float.
Declared default: required.
utilization_after
Type: float.
Declared default: required.
device_hour_rate
Type: Quantity.
Declared default: required.
pools
Type: Dict[str, int].
Declared default: {}.
pool_metrics
Type: Dict[str, Dict[str, float]].
Declared default: {}.
pending_jobs
Type: Optional[int].
Declared default: None.
job_memory_need
Type: Optional[Quantity].
Declared default: None.
improvement
engine.scenario_types.UtilizationGainScenario.improvement
Increase in productive utilization as a dimensionless fraction, after minus before.
Equation: return utilization_after - utilization_before.
productive_gain
engine.scenario_types.UtilizationGainScenario.productive_gain
Additional fully busy GPU-equivalents, counting the utilization gain across the fleet.
Equation: return fleet_gpus * improvement.
raw_gpu_equivalent
engine.scenario_types.UtilizationGainScenario.raw_gpu_equivalent
Raw devices needed to supply that gain under the old utilization; the old share must be positive.
Equation: return productive_gain / utilization_before.
annual_value
engine.scenario_types.UtilizationGainScenario.annual_value
Annual USD value of the equivalent devices, assuming the same hourly rate all year.
Equation: return raw_gpu_equivalent * _usd_per_hour(device_hour_rate) * HOURS_PER_YEAR.