Skip to main content

IterativeDecoderBudgetScenario

Robotics scenarios · Implementation: mlsysim/engine/scenario_definitions/robotics/learning.py.

Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.

machine’s one-pass chunk decoder against an iterative head that encodes once and runs denoising_steps dependent evaluations in denoising_latency, and a flow_steps head at the same cost per evaluation, on the setpoint step and the renewal period with renewal_jitter held free.

Notes

Equation: Per-evaluation time=(denoising_latency-encode)/denoising_steps; latency=encode+evaluations*per_evaluation.

Assumptions: Equal sequential evaluation cost shared by compared decoder heads and a supplied jitter allowance.

Excludes: Convergence/quality differences, overlap, and measured worst-case execution guarantees.

References

Implementation references: mlsysim.physics.robotics.learning.calc_iterative_decoder_latency, mlsysim.physics.robotics.learning.calc_max_decoder_evaluations. These helper contracts state the source assumptions; the scenario binds their inputs and derives the displayed ratios and budgets.

Examples

The named registry scenario supplies the stated inputs; this is a modeled calculation, not a new measurement.

>>> from mlsysim import Scenarios
>>> scenario = Scenarios.LatchDecoderBudget
>>> scenario.evaluations_within_renewal
14

Attributes

Name Description
denoising_latency
denoising_overrun_under_jitter Denoising completion minus renewal deadline in ms after adding jitter; negative values retain slack.
denoising_slack Renewal period minus denoising latency in ms, without jitter reserve.
denoising_steps
encode
evaluations_within_renewal Whole evaluations admitted by renewal time after reserving jitter, using max_evaluations.
evaluations_within_step Whole decoder evaluations admitted by the setpoint period, using max_evaluations.
flow_latency Encoding plus flow_steps equal-cost evaluations via calc_iterative_decoder_latency; assumes the inferred evaluation cost transfers to this head.
flow_steps
machine
one_pass_end_under_jitter One-pass completion time in ms after adding the declared jitter allowance.
one_pass_latency Declared one-pass chunk inference latency in ms; no timing experiment is performed here.
one_pass_slack Renewal period minus one-pass latency in ms; negative values indicate an overrun.
per_evaluation Average dependent decoder-evaluation time in ms after subtracting the one-time encode cost from denoising latency.
renewal_jitter
renewal_less_jitter Usable renewal time in ms after reserving jitter.
renewal_period Machine chunk-renewal period in ms, copied from machine.chunk_period.
setpoint_step Machine setpoint period in ms, copied from machine.chunk_step.

Methods

Name Description
evaluation_room Unrounded count of equal-cost evaluations fitting a supplied time budget after encoding; may be negative when encoding alone exceeds budget.
latency_at Time for encoding plus a supplied integer evaluation count via calc_iterative_decoder_latency.
max_evaluations Whole evaluations fitting a time budget via calc_max_decoder_evaluations; inherits the helper’s infeasible-budget handling.

evaluation_room

engine.scenario_types.IterativeDecoderBudgetScenario.evaluation_room(budget)

Unrounded count of equal-cost evaluations fitting a supplied time budget after encoding; may be negative when encoding alone exceeds budget.

Equation: ((budget - self.encode) / self.per_evaluation).to(’’).magnitude

latency_at

engine.scenario_types.IterativeDecoderBudgetScenario.latency_at(evaluations)

Time for encoding plus a supplied integer evaluation count via calc_iterative_decoder_latency.

Equation: The calculation follows the stated accounting rule; the method body shows each intermediate term.

max_evaluations

engine.scenario_types.IterativeDecoderBudgetScenario.max_evaluations(budget)

Whole evaluations fitting a time budget via calc_max_decoder_evaluations; inherits the helper’s infeasible-budget handling.

Equation: The calculation follows the stated accounting rule; the method body shows each intermediate term.

machine

Type: Any.

Declared default: required.

denoising_steps

Type: int.

Declared default: required.

flow_steps

Type: int.

Declared default: required.

encode

Type: Quantity.

Declared default: required.

denoising_latency

Type: Quantity.

Declared default: required.

renewal_jitter

Type: Quantity.

Declared default: required.

setpoint_step

engine.scenario_types.IterativeDecoderBudgetScenario.setpoint_step

Machine setpoint period in ms, copied from machine.chunk_step.

Equation: self.machine.chunk_step.to(‘ms’)

renewal_period

engine.scenario_types.IterativeDecoderBudgetScenario.renewal_period

Machine chunk-renewal period in ms, copied from machine.chunk_period.

Equation: self.machine.chunk_period.to(‘ms’)

one_pass_latency

engine.scenario_types.IterativeDecoderBudgetScenario.one_pass_latency

Declared one-pass chunk inference latency in ms; no timing experiment is performed here.

Equation: self.machine.chunk_inference_latency.to(‘ms’)

per_evaluation

engine.scenario_types.IterativeDecoderBudgetScenario.per_evaluation

Average dependent decoder-evaluation time in ms after subtracting the one-time encode cost from denoising latency.

Equation: ((self.denoising_latency - self.encode) / self.denoising_steps).to(‘ms’)

flow_latency

engine.scenario_types.IterativeDecoderBudgetScenario.flow_latency

Encoding plus flow_steps equal-cost evaluations via calc_iterative_decoder_latency; assumes the inferred evaluation cost transfers to this head.

Equation: The calculation follows the stated accounting rule; the method body shows each intermediate term.

one_pass_slack

engine.scenario_types.IterativeDecoderBudgetScenario.one_pass_slack

Renewal period minus one-pass latency in ms; negative values indicate an overrun.

Equation: (self.renewal_period - self.one_pass_latency).to(‘ms’)

denoising_slack

engine.scenario_types.IterativeDecoderBudgetScenario.denoising_slack

Renewal period minus denoising latency in ms, without jitter reserve.

Equation: (self.renewal_period - self.denoising_latency).to(‘ms’)

one_pass_end_under_jitter

engine.scenario_types.IterativeDecoderBudgetScenario.one_pass_end_under_jitter

One-pass completion time in ms after adding the declared jitter allowance.

Equation: (self.one_pass_latency + self.renewal_jitter).to(‘ms’)

denoising_overrun_under_jitter

engine.scenario_types.IterativeDecoderBudgetScenario.denoising_overrun_under_jitter

Denoising completion minus renewal deadline in ms after adding jitter; negative values retain slack.

Equation: (self.denoising_latency + self.renewal_jitter - self.renewal_period).to(‘ms’)

renewal_less_jitter

engine.scenario_types.IterativeDecoderBudgetScenario.renewal_less_jitter

Usable renewal time in ms after reserving jitter.

Equation: (self.renewal_period - self.renewal_jitter).to(‘ms’)

evaluations_within_step

engine.scenario_types.IterativeDecoderBudgetScenario.evaluations_within_step

Whole decoder evaluations admitted by the setpoint period, using max_evaluations.

Equation: self.max_evaluations(self.setpoint_step)

evaluations_within_renewal

engine.scenario_types.IterativeDecoderBudgetScenario.evaluations_within_renewal

Whole evaluations admitted by renewal time after reserving jitter, using max_evaluations.

Equation: self.max_evaluations(self.renewal_less_jitter)

Back to top