YASS results / UC1 — Rapid Disaster Response
Use Case

UC1 — Rapid Disaster Response

Abstract

A single Earth-Observation satellite captures one high-value image at a known moment and we measure how quickly that file reaches at least one ground station, under varying constellation sizes, file sizes, priorities and (for EDFS) replication factors. Compares the distributed file system EDFS against the legacy store-and-forward baseline TUS.

Success Condition

The run ends successfully the moment the file reaches any ground station.

Detailed description

One designated satellite acts as the producer: on activation its agent writes a single image of size S MB with priority P and exits. Every other satellite in the constellation is idle ("pure relay"). The seven ESTRACK ground stations are fixed and act as receivers. The experiment ends as soon as the first GS reports a RECEIVED event for that file (END_ON_ANY=true on every GS agent).

The producing satellite is positioned far from any ground station at t=0 so the file cannot be downlinked instantly — the time advantage of EDFS comes from peer satellites that happen to be in LOS with both the producer (via ISL) and a GS earlier than the producer itself would.

Each (engine, S, P, sat_count, RF) combination is one run with its own Experiment.spec.runId so dashboards can multi-select across them.

Main goal

Quantify how time-to-first-delivery scales for EDFS vs. TUS as a function of constellation size and file size. The hypothesis is:

KPI: time_to_first_GS_delivery — EDFS/TUS ratio < 0.50 at sat_count ≥ 8 (EDFS delivers in at most half the TUS time at the same sat_count and S). Defined on the median over repeated runs per cell; single-run cells are point estimates (run ≥ 3 repeats before declaring met/not-met).

Parameters

Parameter Values Notes
engine tus, edfs TUS is the baseline.
S (file size) 128M, 256M Two regimes — a baseline file and a larger multi-pass transfer. Encoded in the run-id as s128m / s256m (= 134217728 / 268435456 bytes).
priority low, default, high Set via the producer agent's FILE_PRIORITY env, written to .priority so fs_engine_wrapper attaches it to the file.
sat_count 1, 2, 8, 21, 100, 200 Walker-like sweep; "1" is a degenerate single-satellite control. 100/200 add synthetic OneWeb-like relays on top of the 60 real roster sats.
RF (replication factor) 1, 3, 5 — EDFS only TUS has no replication concept; for TUS runs RF is omitted.
gs_count fixed at 7 (ESTRACK) Constant across the sweep to keep the headline result a one-dimensional EDFS-vs-TUS comparison.
max_duration 10h Far longer than any plausible EDFS delivery; cuts off pathological TUS runs.

TUS parameter coverage. TUS has no notion of file priority or replication factor — priority and RF are ignored by the engine. For TUS we therefore only sweep (S, sat_count), pin priority=default and omit RF from the run-id. Each (S, sat_count) TUS run is then compared against the full (priority, RF) matrix of EDFS runs at the same (S, sat_count).

Each combination produces one overlay directory plus one Experiment.spec.runId:

Assumptions

Additional metrics

Beyond the headline yass_file_delivery_seconds_bucket histogram (filtered by source = the producer):

Charts

time-to-first-GS-delivery (s): EDFS vs TUS for the same variants (EDFS = default priority, mean over RF). Timed-out runs charted at 800 s and hatched (white-background copy: charts/delivery_compare_light.png)
time-to-first-GS-delivery (s): EDFS vs TUS for the same variants (EDFS = default priority, mean over RF). Timed-out runs charted at 800 s and hatched (white-background copy: charts/delivery_compare_light.png)

Variants (23)

variantenginesizeprioritysatRFfirstGS(s)state
uc1-edfs-s128m-pdefault-n01-rf3 edfs128Mdefault13791 Success
uc1-edfs-s128m-pdefault-n02-rf3 edfs128Mdefault23792 Success
uc1-edfs-s128m-pdefault-n08-rf1 edfs128Mdefault81799 Success
uc1-edfs-s128m-pdefault-n08-rf3 edfs128Mdefault83794 Success
uc1-edfs-s256m-pdefault-n08-rf3 edfs256Mdefault83845 Success
uc1-edfs-s128m-pdefault-n08-rf5 edfs128Mdefault85794 Success
uc1-edfs-s128m-phigh-n08-rf3 edfs128Mhigh83805 Success
uc1-edfs-s128m-plow-n08-rf3 edfs128Mlow83803 Success
uc1-edfs-s128m-pdefault-n21-rf3 edfs128Mdefault213804 Success
uc1-edfs-s128m-pdefault-n100-rf1 edfs128Mdefault1001154 Success
uc1-edfs-s128m-pdefault-n100-rf3 edfs128Mdefault1003164 Success
uc1-edfs-s256m-pdefault-n100-rf3 edfs256Mdefault1003768 Success
uc1-edfs-s128m-pdefault-n100-rf5 edfs128Mdefault1005122 Success
uc1-edfs-s128m-phigh-n100-rf3 edfs128Mhigh1003200 Success
uc1-edfs-s128m-plow-n100-rf3 edfs128Mlow1003838 Success
uc1-edfs-s128m-pdefault-n200-rf3 edfs128Mdefault2003207 Success
uc1-tus-s128m-n01 tus128M-1806 Success
uc1-tus-s128m-n02 tus128M-2807 Success
uc1-tus-s128m-n08 tus128M-8804 Success
uc1-tus-s256m-n08 tus256M-8870 Success
uc1-tus-s128m-n21 tus128M-21800 Success
uc1-tus-s128m-n100 tus128M-100n/a TimedOut
uc1-tus-s128m-n200 tus128M-200n/a TimedOut