YASS results / UC3 — Priority-Aware Routing (EDFS only)
Use Case

UC3 — Priority-Aware Routing (EDFS only)

Abstract

One satellite produces one large file. We re-run the same scenario for each of the three file priorities (low, default, high) on the same constellation topology and measure how long it takes the file to reach at least one ground station. The hypothesis is that the EDFS engine treats high-priority files preferentially (faster replication, less aggressive back-off under congestion), so a high-priority file should arrive measurably faster than a low-priority one on otherwise identical runs.

This use case targets only EDFS — TUS has no notion of file priority on the wire, so the comparison is internal to EDFS, not engine-vs-engine.

Success Condition

Same mechanism as UC1: the run ends successfully the moment the first file reaches any ground station.

Detailed description

A single producer satellite writes one large file. The producer's agent sets FILE_PRIORITY to one of low, default, high and writes a .priority sentinel that fs_engine_wrapper propagates into the file's Attributes map (read by EDFS at replication time).

For each constellation size we run three back-to-back experiments — one per priority value — with deterministic simulationStartTime so the orbital pass schedule and the GS visibility windows are bit-identical between runs. Anything different that we observe in time-to-first-delivery is then attributable to the priority handling, not orbital luck.

The seven ESTRACK ground stations are the receivers; each terminates on the first RECEIVED with the configured END_ON_ANY=true.

Main goal

Establish a quantitative answer to: does EDFS's priority handling actually move the needle? Specifically:

KPI: time_to_first_GS_delivery — at sat_count ≥ 8, first_GS(high) ≤ 0.80 × first_GS(low) (high-priority delivers at least 20% faster than low — meaningful routing-preference, not noise). Secondary: priority monotonicity first_GS(high) ≤ first_GS(default) ≤ first_GS(low) at every sat_count.

Parameters

Parameter Values Notes
engine edfs only TUS has no priority semantics — out of scope.
priority low, default, high The variable of interest.
sat_count 1, 2, 8, 21, 100, 200 Same Walker sweep as UC1.
RF fixed at 3 A single RF value isolates the priority effect; sweeping both would confound the analysis.
gs_count fixed at 7 (ESTRACK)
file_size 256M (spec: 1G) Executed at 256M. The UC was specified at 1G — "large" so the transfer spans many passes and the priority weighting becomes visible (a tiny file delivers in one bounce, hiding priority). At 256M the transfer is ~4× shorter, weakening the priority signal: scope UC3 conclusions to the "256M regime" or re-run at 1G.
simulationStartTime fixed across the three priority runs of one sat_count Cancels orbital luck. Use the same pinned epoch as UC1 (2026-05-16T23:59:00.000Z) unless a sat_count needs a different one.
max_duration 4h Generous: large file × low priority × no faults could still take a while.

Assumptions

Additional metrics

Beyond the headline yass_file_delivery_seconds (with the priority label exposed by the producer's agent on its own metrics):

Charts

time-to-first-GS-delivery (s) by file priority, grouped by constellation size (white-background copy: charts/delivery_by_priority_light.png)
time-to-first-GS-delivery (s) by file priority, grouped by constellation size (white-background copy: charts/delivery_by_priority_light.png)

Variants (18)

variantenginesizeprioritysatRFfirstGS(s)state
uc3-edfs-pdefault-n01-rf3 edfs256Mdefault13854 Success
uc3-edfs-phigh-n01-rf3 edfs256Mhigh13854 Success
uc3-edfs-plow-n01-rf3 edfs256Mlow13855 Success
uc3-edfs-pdefault-n02-rf3 edfs256Mdefault23839 Success
uc3-edfs-phigh-n02-rf3 edfs256Mhigh23862 Success
uc3-edfs-plow-n02-rf3 edfs256Mlow23846 Success
uc3-edfs-pdefault-n08-rf3 edfs256Mdefault83844 Success
uc3-edfs-phigh-n08-rf3 edfs256Mhigh83849 Success
uc3-edfs-plow-n08-rf3 edfs256Mlow83865 Success
uc3-edfs-pdefault-n21-rf3 edfs256Mdefault213844 Success
uc3-edfs-phigh-n21-rf3 edfs256Mhigh213883 Success
uc3-edfs-plow-n21-rf3 edfs256Mlow213846 Success
uc3-edfs-pdefault-n100-rf3 edfs256Mdefault1003234 Success
uc3-edfs-phigh-n100-rf3 edfs256Mhigh1003705 Success
uc3-edfs-plow-n100-rf3 edfs256Mlow1003887 Success
uc3-edfs-pdefault-n200-rf3 edfs256Mdefault2003409 Success
uc3-edfs-phigh-n200-rf3 edfs256Mhigh2003338 Success
uc3-edfs-plow-n200-rf3 edfs256Mlow2003877 Success