affinity_and_parallelism_in.../experiment_documentation/README.md

194 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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).