FeatureLookupScenario
Data scenarios · Implementation: mlsysim/engine/scenario_definitions/data.py.
Construct this scenario with keyword inputs. The fields below show the types and defaults declared by this class.
An online service at request_rate that reads reads_per_request stored features per request.
Optional (added 2026-10-20): request_budget is the end-to-end latency budget of one request and lookup_budget_low/lookup_budget_high the share of it the feature store may take.
Notes
Equation: read rate = request rate * reads per request; size reduction = raw bytes / feature bytes.
Assumptions: Every request reads the same number of features and optional byte sizes are supplied when comparing representation sizes.
Excludes: Cache hit rates, batching, lookup latency distributions, and storage amplification.
References
Derivation: read rate = request rate * reads per request; size reduction = raw bytes / feature 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.RecommendationFeatureLookups
>>> round(float(case.reads_per_day), 3)
8640000000.0Attributes
| Name | Description |
|---|---|
| feature_bytes | |
| lookup_budget_high | |
| lookup_budget_low | |
| raw_sample_bytes | |
| reads_per_day | Expected feature reads per day, request rate times reads per request. |
| reads_per_request | |
| reads_per_second | Expected feature reads per second at the stated request rate. |
| request_budget | |
| request_rate | |
| storage_reduction | Raw-record bytes divided by feature-vector bytes, a dimensionless representation- |
request_rate
Type: Quantity.
Declared default: required.
reads_per_request
Type: int.
Declared default: required.
feature_bytes
Type: Optional[Quantity].
Declared default: None.
raw_sample_bytes
Type: Optional[Quantity].
Declared default: None.
request_budget
Type: Optional[Quantity].
Declared default: None.
lookup_budget_low
Type: Optional[Quantity].
Declared default: None.
lookup_budget_high
Type: Optional[Quantity].
Declared default: None.
reads_per_day
engine.scenario_types.FeatureLookupScenario.reads_per_day
Expected feature reads per day, request rate times reads per request.
Equation: return (request_rate * reads_per_request).to('1/day').magnitude.
reads_per_second
engine.scenario_types.FeatureLookupScenario.reads_per_second
Expected feature reads per second at the stated request rate.
Equation: return (request_rate * reads_per_request).to('1/second').magnitude.
storage_reduction
engine.scenario_types.FeatureLookupScenario.storage_reduction
Raw-record bytes divided by feature-vector bytes, a dimensionless representation- size ratio.
Equation: return (raw_sample_bytes / feature_bytes).to('').magnitude.