CodecEpochScenario
Data scenarios · Implementation: mlsysim/engine/scenario_definitions/data.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
epoch_bytes decompressed on the host each epoch for epochs epochs, at each codec’s decode_rates.
Notes
Equation: decode duration = epoch bytes / codec rate; run saving = epochs * per-epoch saving.
Assumptions: Each epoch decodes the full corpus at a fixed supplied codec rate.
Excludes: Storage overlap, compression-ratio differences, and codec warm-up or parallel scaling.
References
Derivation: decode duration = epoch bytes / codec rate; run saving = epochs * per-epoch saving. 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.GzipVersusSnappyEpochs
>>> round(float(case.decode_time('gzip').to('min').magnitude), 3)
13.889Attributes
| Name | Description |
|---|---|
| decode_rates | |
| epoch_bytes | |
| epochs |
Methods
| Name | Description |
|---|---|
| decode_time | CPU decompression time for one epoch in minutes at the selected codec’s fixed |
| rate_ratio | Fast codec throughput divided by slow codec throughput, a dimensionless ratio. |
| run_time_saved | Total decompression hours saved across all epochs. |
| time_saved | Per-epoch minutes saved by the fast codec relative to the slow one. |
decode_time
engine.scenario_types.CodecEpochScenario.decode_time(codec)CPU decompression time for one epoch in minutes at the selected codec’s fixed rate.
Equation: return (epoch_bytes / decode_rates[codec]).to('minute').
rate_ratio
engine.scenario_types.CodecEpochScenario.rate_ratio(fast, slow)Fast codec throughput divided by slow codec throughput, a dimensionless ratio.
Equation: return (decode_rates[fast] / decode_rates[slow]).to('').magnitude.
run_time_saved
engine.scenario_types.CodecEpochScenario.run_time_saved(slow, fast)Total decompression hours saved across all epochs.
Equation: return (epochs * time_saved(slow, fast)).to('hour').
time_saved
engine.scenario_types.CodecEpochScenario.time_saved(slow, fast)Per-epoch minutes saved by the fast codec relative to the slow one.
Equation: return decode_time(slow) - decode_time(fast).
epoch_bytes
Type: Quantity.
Declared default: required.
epochs
Type: int.
Declared default: required.
decode_rates
Type: Dict[str, Quantity].
Declared default: required.