DataEchoingScenario
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.
A host that prepares host_rate samples a second feeding an accelerator that consumes accelerator_rate, over epochs of examples, with each prepared sample used echo_factor times.
Notes
Equation: echoed_run_time is the worked quantity; each property below states its equation and units.
Assumptions: The pipeline is host-limited and an echoed sample needs no repeated host preparation.
Excludes: Convergence impact, prefetch queues, and utilization clamping when host rate exceeds device rate.
References
Derivation: The equations below follow the stated counts, geometric relations, or accounting definitions; scenario inputs are supplied assumptions or observations, not fitted predictions.
Examples
Execute the registered worked inputs; this is a modeled calculation.
>>> from mlsysim import Scenarios
>>> case = Scenarios.ResNet50EchoingH100
>>> value = case.echoed_run_time
>>> print(f"{value:.3f~P}")
11416.340 sAttributes
| Name | Description |
|---|---|
| accelerator_rate | |
| echo_factor | |
| echoed_rate | Effective echoed sample rate, capped by accelerator consumption capacity. |
| echoed_run_time | Time for all epoch samples at the capped echoed rate. |
| epochs | |
| examples | |
| host_rate | |
| idle_fraction | Unclamped idle fraction in the host-limited regime. |
| ratio | Dimensionless accelerator-to-host sample-rate ratio, the ideal useful echo limit. |
| run_time | Time for all epoch samples at the host preparation rate. |
| utilization | Unclamped host-to-accelerator rate ratio; interpret as busy share only when host-limited. |
accelerator_rate
Type: Quantity.
Declared default: required.
host_rate
Type: Quantity.
Declared default: required.
examples
Type: Quantity.
Declared default: required.
epochs
Type: int.
Declared default: required.
echo_factor
Type: float.
Declared default: required.
ratio
engine.scenario_types.DataEchoingScenario.ratio
Dimensionless accelerator-to-host sample-rate ratio, the ideal useful echo limit.
Accelerator rate over host rate; echoing helps up to this factor.
Equation: return (self.accelerator_rate / self.host_rate).to(’’).magnitude
utilization
engine.scenario_types.DataEchoingScenario.utilization
Unclamped host-to-accelerator rate ratio; interpret as busy share only when host-limited.
Accelerator busy share without echoing.
Equation: return (self.host_rate / self.accelerator_rate).to(’’).magnitude
idle_fraction
engine.scenario_types.DataEchoingScenario.idle_fraction
Unclamped idle fraction in the host-limited regime.
Equation: return 1 - (self.host_rate / self.accelerator_rate).to(’’).magnitude
run_time
engine.scenario_types.DataEchoingScenario.run_time
Time for all epoch samples at the host preparation rate.
Equation: return self.epochs * self.examples / self.host_rate
echoed_rate
engine.scenario_types.DataEchoingScenario.echoed_rate
Effective echoed sample rate, capped by accelerator consumption capacity.
Equation: return min(self.host_rate * self.echo_factor, self.accelerator_rate)
echoed_run_time
engine.scenario_types.DataEchoingScenario.echoed_run_time
Time for all epoch samples at the capped echoed rate.
Equation: return self.epochs * self.examples / self.echoed_rate