Add experiment_documentation/README.md

This commit is contained in:
Mika 2026-03-21 17:02:40 +00:00
parent 5048e382dd
commit 0cbda6c07a

View file

@ -0,0 +1,194 @@
# Interaktion von Affinität und Parallelität im Verteilungssystem
## Purpose
Analyse der Wechselwirkungen zwischen Affinität und Parallelität in einem verteilten System hinsichtlich Bandbreite (IQR) und RetryTail (p99Metrik).
**Problemstellung:** Der bisherige AffinitätsEffekt skaliert nicht linear mit Parallelität; es ist unklar, ob dieser Effekt durch Systemlast (Queueing) verstärkt wird.
**Ziele:**
- Quantifiziere den Einfluss der CPUAffinität auf Bandbreite und TailLatenzen unter variierender Parallelität.
- Untersuche, ob sich Affinitäts und ParallelitätsEffekte additiv oder interaktiv verhalten.
- Validiere, ob QueueingSättigung den AffinitätsEffekt moduliert.
## Kontext & Hintergrund
Laufdaten der Runs #28#30 mit Metriken für Bandbreite als IQR (in Stunden) und retrytail_p99 relativ zu einer Baseline.
**Gruppierung:**
- AffinitätsZustände (enforced, randomized)
- Parallelität (2×, 4×)
**Trace-Metadaten / zusätzliche Tags:**
- setup_fingerprint
- policy_hash
- BurstStartFenster
**Domänenkontext:**
- Verteilte Systeme
- CPUAffinität
- ThreadParallelität
- QueueingEffekte
**Outlier-Definition:**
- Methode: IQRMethode
- Beschreibung: Bandbreite als Interquartilsabstand (IQR) über Messlaufzeit.
- Metrik: band_width (h)
**Motivation:**
- Erkennen von Interaktionen zwischen SchedulingMechanismen und Laststeuerung.
- Ableitung stabiler PerformanceRegionen bei verschiedenen Parallelitätsstufen.
## Methode / Spezifikation
**Übersicht:**
- Drei Runs (#28#30) mit variierender Parallelität und Affinität.
- Vergleich der relativen band_width (IQR) und retrytail_p99 gegen Baseline.
- Berechnung der Effektgrößen (Differenzen und Prozentveränderungen).
**Algorithmen / Verfahren:**
- Identifiziere Baseline Run (#28 randomized, 4×).
- Berechne Δband_width und Δretrytail_p99 für Varianten.
- Interpretation der Interaktionsstärke als Abweichung vom additiven Modell.
### Bootstrap-Übersicht
Nicht durchgeführt; analytische Betrachtung auf aggregierten Einzelwerten.
**Zielgrößen:**
- band_width
- retrytail_p99
### Resampling-Setup
- RunLevel (Affinität × Parallelität)
**Stichprobeneinheit:** EinzelRun
**Resampling-Schema:**
**Konfidenzintervalle:**
- Niveau: 0.95
- Typ: analytisch (nicht berechnet)
### Abgeleitete Effektgrößen
**Risk Difference (Differenz der Raten):**
- Definition: Nicht relevant; Kennzahlen sind kontinuierlich.
**Risk Ratio:**
- Definition: Nicht anwendbar; relative Effekte als Prozentdifferenzen notiert.
## Input / Output
### Input-Anforderungen
**Hardware:**
- Mehrkernprozessor mit konfigurierbarer ThreadAffinität
**Software:**
- SystemScheduler mit Affinitätssteuerung
- Messframework zur Laufzeitüberwachung
**Konfiguration:**
- Parallelitätslevels (2×, 4×, geplant 8×)
- Affinitätsmodi: enforced, randomized
### Erwartete Rohdaten
**Felder pro Run:**
- run_id
- affinity_mode
- parallelism
- band_width_iqr_h
- retrytail_p99_delta
**Formatbeispiele:**
- #29, enforced, 2x, 3.9, -18%
**Trace-Daten:**
- Format: CSV
- Hinweis: Kompakte EffektTabelle mit Zeitmetriken und Relativwerten.
### Analyse-Ausgaben
**Pro Gruppe / pro Governor:**
- band_width_iqr
- retrytail_p99_delta
**Vergleichsausgaben:**
- #28 randomized 4× vs #28 enforced 4×
- Δ: band_width 1.7 h, retrytail_p99 +11%
- #29 enforced 2× vs #30 randomized 2×
- Δ: band_width +0.3 h, retrytail_p99 +4%
- Trace-Muster: Veränderte QueueSättigung korreliert mit verringertem AffinitätsEinfluss.
## Workflow / Nutzung
**Analyse-Workflow:**
- Definiere Baseline mit randomized Affinität und 4× Parallelität.
- Führe Runs mit variierender Affinität (enforced/off) bei fixierter Parallelität durch.
- Vergleiche Mittelwerte der Kennzahlen über Runs.
- Bewerte, ob Δband_width und Δretrytail_p99 proportional, subadditiv oder superadditiv interagieren.
### Trace-Template-Anforderungen
**Ziel:** Erfassung konsistenter PerformanceKennzahlen über Runs.
**Erforderliche Tags & Metadaten:**
- run_id
- affinity_mode
- parallelism
- retrytail_p99
- band_width_iqr_h
**trace-cmd-Setup:**
- Verwende identisches setup_fingerprint, policy_hash und BurstStartFenster pro Vergleichsgruppe.
**Run-Design für Contributors:**
- Ändere pro Run nur einen Parameter (SingleTogglePrinzip).
## Interpretation & erwartete Ergebnisse
**Kernbefunde:**
- AffinitätsEffekt nimmt mit steigender Parallelität zu.
- Bei 2× Parallelität ist der Einfluss von Affinität auf performancetails gering.
- Bei höherer Systemlast (4× oder mehr) verstärkt Queueing den AffinitätsEffekt.
**Implikationen für Experimente:**
- Affinitätssteuerung sollte je nach Lastgrad unterschiedlich bewertet werden.
- Eine isolierte TuningBewertung ohne QueueingKontext kann zu Fehlschlüssen führen.
**Planungsziel:**
- Ziel: Vorbereitender HochlastTest bei 8× Parallelität zur Validierung der Nichtlinearität.
- Vorgehen:
- Wiederholung der Vergleichsreihe bei 8×.
- Überprüfung, ob Effekte superlinear wachsen.
## Limitationen & Fallstricke
**Datenbezogene Limitationen:**
- Kleine Stichprobengröße (drei Runs) limitiert statistische Aussagekraft.
**Bootstrap-spezifische Limitationen:**
- Keine ResamplingAnalyse durchgeführt.
**Kausalität & Generalisierbarkeit:**
- Kausalitäten angenommen, aber nicht experimentell isoliert bestätigt.
**Praktische Fallstricke:**
- SchedulerBias möglich, wenn Threads nicht gleichmäßig verteilt werden.
## Nächste Schritte & Erweiterungen
**Geplante Experimente:**
- HochlastRun mit 8× Parallelität zur Überprüfung der Hypothese.
**Analyseziele:**
- Validiere Superlinearität des AffinitätsEinflusses auf band_width.
**Regression & Modellierung:**
- Erstellen eines einfachen Interaktionsmodells (Affinität × Last).
**Community-Beiträge:**
- Diskussion möglicher Visualisierungen (DifferenzvonDifferenzen, ElastizitätsPlots).