DailyUploadScenario
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 site’s daily captures sent over its uplink inside a working window, against compact summaries.
Notes
Equation: raw bytes = cases * files per case * file bytes; transfer time = bytes / bandwidth.
Assumptions: The uplink sustains the supplied bandwidth and summaries contain one payload per case.
Excludes: Protocol overhead, retransmissions, compression work, and quality differences between raw files and summaries.
References
Derivation: raw bytes = cases * files per case * file bytes; transfer time = bytes / bandwidth. 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.RuralClinicRetinalUpload
>>> round(float(case.daily_volume.to('MB').magnitude), 3)
2000.0Attributes
| Name | Description |
|---|---|
| cases_per_day | |
| daily_volume | Raw daily data quantity: cases times files per case times bytes per file. |
| file_size | |
| file_upload_time | Ideal transfer time of one file through physics.quantities.transfer_time. |
| files_per_case | |
| reduction | Raw bytes divided by summary bytes, a dimensionless data-volume reduction factor. |
| summary_size | |
| summary_volume | Daily summary data quantity, with one summary per case. |
| uplink | |
| upload_time | Ideal raw-data transfer time from physics.quantities.transfer_time; no |
| window | |
| window_share | Fraction of the working window consumed by the ideal daily upload. |
cases_per_day
Type: int.
Declared default: required.
files_per_case
Type: int.
Declared default: required.
file_size
Type: Quantity.
Declared default: required.
uplink
Type: Quantity.
Declared default: required.
window
Type: Quantity.
Declared default: required.
summary_size
Type: Quantity.
Declared default: required.
daily_volume
engine.scenario_types.DailyUploadScenario.daily_volume
Raw daily data quantity: cases times files per case times bytes per file.
Equation: return cases_per_day * files_per_case * file_size.
upload_time
engine.scenario_types.DailyUploadScenario.upload_time
Ideal raw-data transfer time from physics.quantities.transfer_time; no protocol overhead.
Equation: return transfer_time(daily_volume, uplink).
file_upload_time
engine.scenario_types.DailyUploadScenario.file_upload_time
Ideal transfer time of one file through physics.quantities.transfer_time.
Equation: return transfer_time(file_size, uplink).
summary_volume
engine.scenario_types.DailyUploadScenario.summary_volume
Daily summary data quantity, with one summary per case.
Equation: return cases_per_day * summary_size.
reduction
engine.scenario_types.DailyUploadScenario.reduction
Raw bytes divided by summary bytes, a dimensionless data-volume reduction factor.
Equation: return (daily_volume / summary_volume).to('').magnitude.