StallShareScenario
Robotics scenarios · Implementation: mlsysim/engine/scenario_definitions/robotics/placement.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
site’s unloaded permission tick with a share of it slowed slowdown times.
The tick may stretch to bound (default the declared WCET); the break-even share is (bound / unloaded - 1) / (slowdown - 1) (calc_stall_share_breakeven).
Notes
Equation: breakeven_share is the worked quantity; each property below states its equation and units.
Assumptions: Only one fraction of the unloaded tick incurs the supplied slowdown greater than one.
Excludes: Interactions between stalls, deadline interference, and measuring the slow-path fraction.
References
Derivation: The scenario binds declared inputs to calc_stall_share_breakeven. Those implementations document their derivations and sources.
Examples
Execute the registered worked inputs; this is a modeled calculation.
Attributes
| Name | Description |
|---|---|
| allowed_stretch | Dimensionless allowed duration divided by unloaded execution time. |
| bound | |
| breakeven_share | Break-even slow-path fraction from the shared partial-slowdown identity. |
| breakeven_stall | Microseconds of unloaded execution that can incur the specified slowdown. |
| budget | Allowed tick duration in microseconds; defaults to declared WCET. |
| site | |
| slowdown |
site
Type: Any.
Declared default: required.
slowdown
Type: float.
Declared default: required.
bound
Type: Optional[Quantity].
Declared default: None.
budget
engine.scenario_types.StallShareScenario.budget
Allowed tick duration in microseconds; defaults to declared WCET.
Equation: return (self.site.enforcer_wcet if self.bound is None else self.bound).to(‘us’)
allowed_stretch
engine.scenario_types.StallShareScenario.allowed_stretch
Dimensionless allowed duration divided by unloaded execution time.
Equation: return float((self.budget / self.site.enforcer_unloaded).to(’’).magnitude)
breakeven_share
engine.scenario_types.StallShareScenario.breakeven_share
Break-even slow-path fraction from the shared partial-slowdown identity.
Equation: return calc_stall_share_breakeven(self.allowed_stretch, self.slowdown)
breakeven_stall
engine.scenario_types.StallShareScenario.breakeven_stall
Microseconds of unloaded execution that can incur the specified slowdown.
The break-even share as time of the unloaded tick.
Equation: return (self.breakeven_share * self.site.enforcer_unloaded).to(‘us’)