Skip to main content

RateTargetScenario

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

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

evaluation held against a target_rate: one fresh evaluation per period, not pipelined.

Notes

Equation: period = 1 / target rate; slack = period - evaluation time; token budget scales the prefill remainder.

Assumptions: One fresh evaluation must complete per period without pipelining; prefill time scales linearly for the token-budget approximation.

Excludes: Overlap across evaluations, nonlinear prefill scaling, and clamping a negative token budget to zero.

References

Derivation: period = 1 / target rate; slack = period - evaluation time; token budget scales the prefill remainder. 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.IntentModelFiveHertz
>>> round(float(case.period.to('ms').magnitude), 3)
200.0

Attributes

Name Description
evaluation
fits Whether modeled total evaluation time fits one non-pipelined period; a Boolean
period Required interval between fresh evaluations in milliseconds, inverse of target
prefill_budget Milliseconds available to prefill after reserving the modeled decode duration.
slack Period minus modeled evaluation time in milliseconds; negative values indicate
slack_fraction Remaining period as a dimensionless share, which may be negative.
target_rate
token_fraction Admissible input fraction under a linear-prefill approximation; it is not clamped
tokens_within Input-token budget under the linear-prefill approximation; returned as a

evaluation

Type: VlaEvaluationScenario.

Declared default: required.

target_rate

Type: Quantity.

Declared default: required.

period

engine.scenario_types.RateTargetScenario.period

Required interval between fresh evaluations in milliseconds, inverse of target rate.

Equation: return (1 / target_rate).to('ms').

fits

engine.scenario_types.RateTargetScenario.fits

Whether modeled total evaluation time fits one non-pipelined period; a Boolean feasibility check.

Equation: return evaluation.result.t_total <= period.

slack

engine.scenario_types.RateTargetScenario.slack

Period minus modeled evaluation time in milliseconds; negative values indicate overrun.

Equation: return (period - evaluation.result.t_total).to('ms').

slack_fraction

engine.scenario_types.RateTargetScenario.slack_fraction

Remaining period as a dimensionless share, which may be negative.

Equation: return (slack / period).to('').magnitude.

prefill_budget

engine.scenario_types.RateTargetScenario.prefill_budget

Milliseconds available to prefill after reserving the modeled decode duration.

Equation: return (period - evaluation.result.t_decode).to('ms').

token_fraction

engine.scenario_types.RateTargetScenario.token_fraction

Admissible input fraction under a linear-prefill approximation; it is not clamped to zero or one.

Equation: return (prefill_budget / evaluation.result.t_prefill).to('').magnitude.

tokens_within

engine.scenario_types.RateTargetScenario.tokens_within

Input-token budget under the linear-prefill approximation; returned as a fractional count.

Equation: return token_fraction * evaluation.result.prefill_tokens.

Back to top