affinity_and_parallelism_in.../experiment_documentation/README.md

5.9 KiB
Raw Permalink Blame History

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