Skip to main content

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.0

Attributes

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.

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).

window_share

engine.scenario_types.DailyUploadScenario.window_share

Fraction of the working window consumed by the ideal daily upload.

Equation: return (upload_time / window).to('').magnitude.

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.

Back to top