Add results_documentation/README.md

This commit is contained in:
Mika 2026-03-17 11:07:06 +00:00
parent ab983e244c
commit 7d0819c3b3

View file

@ -0,0 +1,213 @@
# Analyse von Startoffsets und Latenzverhalten Run #26
## Purpose
Technische Dokumentation der Messergebnisse und Hypothesenvalidierung zur Wirkung von Startverzögerungen auf Resonanzband und Latenz.
**Problemstellung:** Unklar war, ob beobachtete Latenzresonanzen durch inhaltliche Schritte (Step) oder durch Startzeitmuster (Scheduling) ausgelöst werden.
**Ziele:**
- Untersuchung des Einflusses von Startoffets auf beobachtete Latenzstrukturen.
- Validierung der Hypothese, dass Startzeitcluster Resonanzeffekte mitverursachen.
- Erfassung der Veränderungen in Bandbreite und Mittelposition des Resonanzbands zwischen Run #25 und #26.
## Kontext & Hintergrund
Zeitreihen-Logdaten der Worker-Prozesse in Run #26, identische Policies und Hashes wie in Runs #22#25.
**Gruppierung:**
- Workerinstanzen pro Run
- Startzeitkohorten nach Jitter-Fenster
**Trace-Metadaten / zusätzliche Tags:**
- worker_start_offset als Ableitung aus first-seen timestamps
- expires_at_dist_hours zur Lebensdauerbetrachtung pro Worker
- retry_total_overhead_ms als Latenzindikator
**Domänenkontext:**
- Systemlatenzanalyse
- Workload-Scheduling
- Experimentelle CPU-/I/O-Kohortenmessung
**Outlier-Definition:**
- Methode: Perzentilbasierte Identifikation (p95/p99) der retry_total_overhead_ms
- Beschreibung: Max-Outlier definiert durch obere 5% bzw. 1% der messbaren Latenzen.
- Metrik: retry_total_overhead_ms
**Motivation:**
- Quantifizierung des Einflusses von Startzeitverteilung auf Latenzresonanzen.
- Identifikation mechanisch stabiler Muster jenseits zufälliger Drift.
- Trennung von inhaltlich getriebenen und zeitlich strukturellen Effekten.
## Methode / Spezifikation
**Übersicht:**
- Run #26 nutzt ein Jitter-Fenster für gestaffelten Worker-Start.
- Alle übrigen Parameter bleiben konstant gegenüber Run #25.
- Vergleich der resultierenden Resonanzbandstruktur zwischen den Runs.
**Algorithmen / Verfahren:**
- Berechne worker_start_offset als Differenz zwischen Worker-first-seen und Run-Start.
- Plot: Scatter oder Heatmap von start_offset vs. expires_at_dist_hours.
- Farbskala: retry_total_overhead_ms pro Punkt.
- Berechne Cluster-Score zur Quantifizierung von Startkohortenverdichtung.
### Bootstrap-Übersicht
Bootstrap-Resampling zur Unsicherheitsabschätzung der Mittelverschiebung im Resonanzband.
**Zielgrößen:**
- Bandmittelpunkt in expires_at_dist_hours
- Bandbreite (Standardabweichung)
- Cluster-Score pro Startkohorte
### Resampling-Setup
- Runs #25 und #26 getrennt resampeln
**Stichprobeneinheit:** Worker
**Resampling-Schema:**
- 1000 Bootstrap-Iterationen je Gruppe
- Berechnung von 95%-Konfidenzintervallen
**Konfidenzintervalle:**
- Niveau: 0.95
- Typ: percentile
- Ableitung: Mittelwertunterschied der Bandposition
### Abgeleitete Effektgrößen
**Risk Difference (Differenz der Raten):**
- Definition: Unterschied der Häufigkeit von Latenzen >90ms zwischen Run #25 und #26.
- Bootstrap: Resampling zur Ableitung der CI-Grenzen für den Anteilunterschied.
**Risk Ratio:**
- Definition: Verhältnis des Überkopfrisikos (retry_total_overhead_ms>90ms) zwischen Burst- und Jitter-Start.
- Bootstrap: Resampling für CI-Schätzung des Risk Ratios.
### C-State-Kontrolle
**Ziel:** Konstanthaltung der CPU-Zustände und Systemlast zur Isolierung des Startmuster-Effekts.
**Vorgehen:**
- Keine Änderung an power-governor oder Idle-Stufen.
- Lastprofile identisch über alle Runs.
## Input / Output
### Erwartete Rohdaten
**Felder pro Run:**
- worker_id
- first_seen_ts
- expires_at_ts
- retry_total_overhead_ms
**Formatbeispiele:**
- worker_id=17 first_seen_ts=2024-03-10T14:22:05Z expires_at_ts=2024-03-10T15:02:00Z retry_total_overhead_ms=73.4
**Trace-Daten:**
- Format: CSV/structured log
- Hinweis: Zeitstempel normiert auf Run-Startzeitpunkt (t=0s).
### Analyse-Ausgaben
**Pro Gruppe / pro Governor:**
- p95/p99 retry_total_overhead_ms
- Mittelwert und Standardabweichung von expires_at_dist_hours
- Cluster-Dichte nach start_offset
**Vergleichsausgaben:**
- Run #25 (Burst) vs Run #26 (Jitter)
- Δ: -3.4pp Anteil >90ms Latenz
- CI(Δ): [-5.8pp, -1.0pp]
- RR: 0.89
- CI(RR): [0.84, 0.96]
- C-State-Korrelation: Keine signifikante Änderung zwischen Runs.
- Trace-Muster: Resonanzband-Mittelpunktrückkehr zur Lage aus Run #22/#23, Bandbreite schwankt zwischen 0.71.1h.
## Workflow / Nutzung
**Analyse-Workflow:**
- Lese Logdaten pro Run ein.
- Berechne start_offset pro Worker.
- Erzeuge Scatter/Heatmap von start_offset vs. expires_at_dist_hours.
- Färbe Punkte nach retry_total_overhead_ms.
- Berechne Cluster-Dichte-Metrik.
- Vergleiche zwischen Runs (Burst vs. Jitter).
### Trace-Template-Anforderungen
**Ziel:** Erfassung reproduzierbarer Startzeitdaten für Vergleich von Schedulingmustern.
**Erforderliche Tags & Metadaten:**
- run_id
- worker_id
- first_seen_ts
- expires_at_ts
- retry_total_overhead_ms
**trace-cmd-Setup:**
- Normiere Zeitbasis auf Run-Start.
- Erfasse alle Worker-Ereignisse ab Startzeitpunkt.
**Run-Design für Contributors:**
- Runs mit identischen Policies und Hashes durchführen.
- Nur ein Toggle (Burst vs. Jitter) ändern.
- Mindestens 500 Worker-Instanzen zur Signifikanzsicherung.
## Interpretation & erwartete Ergebnisse
**Kernbefunde:**
- Max-Outlier bleiben step-getrieben und unverändert zwischen Runs.
- Resonanzband zeigt klare Reaktion auf geändertes Startmuster.
- Bandbreite sinkt und Mittelwert driftet zurück Richtung früherer Runs (#22/#23).
- Startkohorten beeinflussen Latenzverteilung signifikant.
**Implikationen für Experimente:**
- Schedulingmuster sind aktive Einflussfaktoren auf Latenzstrukturen.
- Startoffset-Jitter kann Resonanzeffekte abschwächen.
- Timingänderungen sind messbare Systemdesignhebel.
**Planungsziel:**
- Ziel: Verifikation der Hypothese, dass Startkohortenstruktur Latenzresonanzen induziert.
- Vorgehen:
- Runs mit variiertem Startverhalten aber identischem Inhalt vergleichen.
- Latenzstrukturen über Heatmaps und Cluster-Scores analysieren.
## Limitationen & Fallstricke
**Datenbezogene Limitationen:**
- Kleinere Samples einzelner Worker können Clusterstatistik verzerren.
- Eventuell ungleichmäßige Logtick-Dichte über Workergruppen.
**Bootstrap-spezifische Limitationen:**
- Resampling setzt unabhängige Workerannahme voraus.
- Korrelationen zwischen Workerinstanzen können Unsicherheitsbandbreite unterschätzen.
**Kausalität & Generalisierbarkeit:**
- Korrelation zeigt Mechanik, aber keine vollständige Kausalitätsbeziehung.
- Ergebnisse übertragbar nur auf ähnliche Schedulingregime.
**Praktische Fallstricke:**
- Unpräzise Startzeitstempel verfälschen Offsets.
- Zu kleiner Jitterbereich kann Effekt unterschwellig halten.
## Nächste Schritte & Erweiterungen
**Geplante Experimente:**
- Run #27 Burst-Start mit zeitversetztem Burst-Fenster zur Testung synchroner Bandverschiebung.
**Analyseziele:**
- Überprüfung der relativen Verschiebung des Resonanzbands bei verlagertem Startfenster.
- Erweiterung der Clusteranalyse um Kohortenlaufzeitvergleiche.
**Regression & Modellierung:**
- Modellierung der Bandposition als Funktion des Startoffset-Mittels pro Workergruppe.
- Lineare Regression oder Mixed-Effect-Modell zur Schätzung des Jitter-Einflusses.
**Community-Beiträge:**
- Bereitstellung von Trace-Templates und Heatmap-Skripten für Nachanalyse durch andere Runs.
- Austausch über Resonanzmuster im Donau2Space-Forum.