LateConstraintScenario
Optimization scenarios · Implementation: mlsysim/engine/scenario_definitions/optimization.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
A model built without its deployment limit, the day the limit surfaces, and the repair it forces.
validation_sensitivity maps a day to the sensitivity reached that day. repair_tasks lists the redone artifacts in order; each waits for the one before, so the repair takes their sum when staff and compute are free.
Notes
Equation: repair duration is the sum of ordered repair tasks; memory overrun = model bytes / budget bytes.
Assumptions: Tasks execute sequentially with immediately available staff and compute. Dates share one day origin.
Excludes: Parallel repairs, resource queues, and a prediction of when engineers discover a requirement.
References
Derivation: repair duration is the sum of ordered repair tasks; memory overrun = model bytes / budget bytes. 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.RetinopathyScreenerLateMemoryLimit
>>> round(float(case.overrun_ratio), 3)
8.0Attributes
| Name | Description |
|---|---|
| check_day | |
| device_memory_high | |
| device_memory_low | |
| discard_day | |
| discovery_day | |
| handoff_day | |
| memory_budget | |
| model_memory | |
| overrun_ratio | Model memory divided by deployment budget, a dimensionless residency ratio. |
| repair_elapsed | Sequential repair duration in days, adding every listed task without overlap. |
| repair_tasks | |
| request_day | |
| validation_sensitivity | |
| work_discarded | Elapsed days from the request to discarding the incompatible work. |
model_memory
Type: Quantity.
Declared default: required.
memory_budget
Type: Quantity.
Declared default: required.
device_memory_low
Type: Quantity.
Declared default: required.
device_memory_high
Type: Quantity.
Declared default: required.
request_day
Type: int.
Declared default: required.
validation_sensitivity
Type: Dict[int, float].
Declared default: required.
handoff_day
Type: int.
Declared default: required.
discovery_day
Type: int.
Declared default: required.
check_day
Type: int.
Declared default: required.
discard_day
Type: int.
Declared default: required.
repair_tasks
Type: Dict[str, Quantity].
Declared default: required.
overrun_ratio
engine.scenario_types.LateConstraintScenario.overrun_ratio
Model memory divided by deployment budget, a dimensionless residency ratio.
Equation: return (model_memory / memory_budget).to('').magnitude.
work_discarded
engine.scenario_types.LateConstraintScenario.work_discarded
Elapsed days from the request to discarding the incompatible work.
Equation: return Q_(discard_day - request_day, 'day').
repair_elapsed
engine.scenario_types.LateConstraintScenario.repair_elapsed
Sequential repair duration in days, adding every listed task without overlap.
Equation: Follow the repair_elapsed calculation below; branch conditions and rounding are part of its definition.