Skip to main content

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.

>>> from mlsysim import Scenarios
>>> case = Scenarios.WarehouseTickMshrStallShare
>>> value = case.breakeven_share
>>> round(value, 3)
0.043

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’)

Back to top