Skip to main content

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.24

Attributes

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.

Back to top