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 Retry‑Tail (p99‑Metrik).
**Problemstellung:** Der bisherige Affinitäts‑Effekt skaliert nicht linear mit Parallelität; es ist unklar, ob dieser Effekt durch Systemlast (Queueing) verstärkt wird.
**Ziele:**
- Quantifiziere den Einfluss der CPU‑Affinität auf Bandbreite und Tail‑Latenzen unter variierender Parallelität.
- Untersuche, ob sich Affinitäts‑ und Parallelitäts‑Effekte additiv oder interaktiv verhalten.
- Validiere, ob Queueing‑Sättigung den Affinitäts‑Effekt 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äts‑Zustände (enforced, randomized)
- Parallelität (2×, 4×)
**Trace-Metadaten / zusätzliche Tags:**
- setup_fingerprint
- policy_hash
- Burst‑Start‑Fenster
**Domänenkontext:**
- Verteilte Systeme
- CPU‑Affinität
- Thread‑Parallelität
- Queueing‑Effekte
**Outlier-Definition:**
- Methode: IQR‑Methode
- Beschreibung: Bandbreite als Interquartilsabstand (IQR) über Messlaufzeit.
- Metrik: band_width (h)
**Motivation:**
- Erkennen von Interaktionen zwischen Scheduling‑Mechanismen und Laststeuerung.
- Ableitung stabiler Performance‑Regionen 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
- Run‑Level (Affinität × Parallelität)
**Stichprobeneinheit:** Einzel‑Run
**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 Thread‑Affinität
**Software:**
- System‑Scheduler 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 Effekt‑Tabelle 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 Queue‑Sättigung korreliert mit verringertem Affinitäts‑Einfluss.
## 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 Performance‑Kennzahlen ü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 Burst‑Start‑Fenster pro Vergleichsgruppe.
**Run-Design für Contributors:**
- Ändere pro Run nur einen Parameter (Single‑Toggle‑Prinzip).
## Interpretation & erwartete Ergebnisse
**Kernbefunde:**
- Affinitäts‑Effekt nimmt mit steigender Parallelität zu.
- Bei 2× Parallelität ist der Einfluss von Affinität auf performance‑tails gering.
- Bei höherer Systemlast (4× oder mehr) verstärkt Queueing den Affinitäts‑Effekt.
**Implikationen für Experimente:**
- Affinitätssteuerung sollte je nach Lastgrad unterschiedlich bewertet werden.
- Eine isolierte Tuning‑Bewertung ohne Queueing‑Kontext kann zu Fehlschlüssen führen.
**Planungsziel:**
- Ziel: Vorbereitender Hochlast‑Test 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 Resampling‑Analyse durchgeführt.
**Kausalität & Generalisierbarkeit:**
- Kausalitäten angenommen, aber nicht experimentell isoliert bestätigt.
**Praktische Fallstricke:**
- Scheduler‑Bias möglich, wenn Threads nicht gleichmäßig verteilt werden.
## Nächste Schritte & Erweiterungen
**Geplante Experimente:**
- Hochlast‑Run mit 8× Parallelität zur Überprüfung der Hypothese.
**Analyseziele:**
- Validiere Superlinearität des Affinitäts‑Einflusses auf band_width.
**Regression & Modellierung:**
- Erstellen eines einfachen Interaktionsmodells (Affinität × Last).
**Community-Beiträge:**
- Diskussion möglicher Visualisierungen (Differenz‑von‑Differenzen, Elastizitäts‑Plots).