bootstrap_analysis/governors_analysis_report/README.md

6.9 KiB
Raw Blame History

Bootstrap-Analyse der Outlier-Raten unter Power-Save und Performance Governors

Purpose

Quantitative Analyse des Einflusses unterschiedlicher CPU-Governor-Strategien (powersave vs. performance) auf die Outlier-Rate von Microbenchmarks mithilfe von Bootstrap-Resampling.

Problemstellung: Unklarer Effekt von CPU-Governor-Einstellungen auf die Stabilität von Microbenchmark-Läufen; Ziel ist die statistisch abgesicherte Quantifizierung der Outlier-Wahrscheinlichkeit pro Governor.

Ziele:

  • Vergleich der Outlier-Proportionen zwischen Governor-Gruppen
  • Schätzung von Konfidenzintervallen mittels Bootstrap
  • Bewertung des Risikoverhältnisses (risk ratio) und der Stabilität der Ergebnisse

Kontext & Hintergrund

Micro-Benchmark-Logs mit rund 240 Läufen, je nach Governor (powersave, performance) gruppiert. Enthält Outlier-Tags, Laufzeiten und Trace-Metadaten.

Gruppierung:

  • governor = powersave
  • governor = performance

Trace-Metadaten / zusätzliche Tags:

  • C-State-Residency zur Kontrolle der Laufkonsistenz
  • Governor-Tags zur Gruppierung der Runs

Domänenkontext:

  • CPU-Frequenzskalierung
  • Systemleistung und Stabilität
  • Bootstrap-Statistik im Performance-Engineering

Outlier-Definition:

  • Methode: Median/IQR-basiert
  • Beschreibung: Läufe, deren Benchmark-Ergebnis außerhalb eines 1.5*IQR-Intervalls relativ zum Median liegen, gelten als Outlier.
  • Metrik: Proportion der Outlier pro Gruppe

Motivation:

  • Quantifizierung des Einflusses von Energiesparmechanismen auf die Benchmarkstabilität
  • Unterstützung von Konfigurationsentscheidungen durch statistische Absicherung

Methode / Spezifikation

Übersicht:

  • Bootstrap-basiertes Resampling zur Schätzung der Outlier-Proportion pro Governor-Gruppe
  • Vergleich der Gruppen mittels Differenz in Prozentpunkten und Risk Ratio

Algorithmen / Verfahren:

  • 10.000 Bootstrap-Resamples pro Gruppe
  • Berechnung der mittleren Outlier-Proportion
  • Ableitung von 95%-Konfidenzintervallen
  • Berechnung der Differenz in Prozentpunkten und Risk Ratio auf Bootstrap-Basis

Bootstrap-Übersicht

Nichtparametrisches Resampling-Verfahren zur Schätzung der Unsicherheiten statistischer Kennwerte basierend auf Stichprobenziehungen mit Zurücklegen.

Zielgrößen:

  • Outlier-Proportion pro Governor
  • Differenz in Prozentpunkten
  • Risk Ratio

Resampling-Setup

  • powersave
  • performance

Stichprobeneinheit: einzelner Benchmark-Run (Outlier=1/0)

Resampling-Schema:

  • 10.000 Bootstrap-Stichproben pro Gruppe

Konfidenzintervalle:

  • Niveau: 0.95
  • Typ: Percentile CI
  • Ableitung: 2.5%- und 97.5%-Bootstrap-Quantile

Abgeleitete Effektgrößen

Risk Difference (Differenz der Raten):

  • Definition: Differenz der Outlier-Proportionen (powersave - performance), angegeben in Prozentpunkten.
  • Bootstrap: 95%-Konfidenzintervall aus Bootstraps der Differenzen zwischen Gruppenmitteln.

Risk Ratio:

  • Definition: Quotient der Outlier-Wahrscheinlichkeiten: p(powersave)/p(performance).
  • Bootstrap: 95%-Konfidenzintervall basierend auf log-transformierten Risk-Ratios aus Resamples.

C-State-Kontrolle

Ziel: Sicherstellung, dass die Outlier-Bewertung nicht durch abweichende C-State-Residency verfälscht wird.

Vorgehen:

  • Einbezug der C-State-Tags aus den Traces
  • Ausschluss von Runs mit anomalen Residency-Profilen

Input / Output

Erwartete Rohdaten

Felder pro Run:

  • run_id
  • timestamp
  • governor
  • duration
  • outlier_flag
  • C-state-tags

Formatbeispiele:

  • run123,2024-06-14 15:02:01,performance,5.03,0,C7:0.12

Trace-Daten:

  • Format: trace-cmd output mit Governor- und C-State-Metadaten
  • Hinweis: Benötigt für Validierung der Laufbedingungen

Analyse-Ausgaben

Pro Gruppe / pro Governor:

  • powersave Outlier-Proportion = 25.0% (95% CI [17.8%, 33.1%])
  • performance Outlier-Proportion = 5.8% (95% CI [2.4%, 11.5%])

Vergleichsausgaben:

  • powersave vs performance

    • Δ: ≈19 (95% CI [10.1, 28.7])
    • CI(Δ): [10.1, 28.7]
    • RR: ≈4.3
    • CI(RR): [2.0, 9.6]
    • Tests: Mann-Whitney p≈0.006
  • C-State-Korrelation: Höhere powersave-Outlier-Rate entspricht häufigeren tiefen C-States (Residency-Muster).

  • Trace-Muster: Stabile Trace-Muster bei performance; variable C-State-Tiefen bei powersave.

Workflow / Nutzung

Analyse-Workflow:

  • Extraktion der Benchmark-Logs und Metadaten
  • Klassifikation der Läufe nach Governor
  • Anwendung des Bootstrap-Resampling-Skripts
  • Berechnung der CIs, Differenzen und Risk Ratios
  • Validierung über C-State-Tags
  • Erstellung von Ergebnis-Grafiken / Tabellen

Trace-Template-Anforderungen

Ziel: Standardisierte Erfassung von Governor-getaggten Benchmark-Traces mit C-State-Information.

Erforderliche Tags & Metadaten:

  • governor
  • C-State-Residency
  • Timestamp
  • run_id

trace-cmd-Setup:

  • trace-cmd record -e power:* -b 32M --date --output=trace.dat

Run-Design für Contributors:

  • ca. 50 gepaarte Runs (powersave/performance) mit identischer Workload
  • Anonymisierte Logs mit Outlier-Markierungen und Metadaten einreichen

Interpretation & erwartete Ergebnisse

Kernbefunde:

  • powersave-Governor führt zu signifikanter Erhöhung der Outlier-Rate
  • Effekt robust über Bootstrap-Resampling abgesichert
  • Keine Überlappung der 95%-Konfidenzintervalle

Implikationen für Experimente:

  • Governor-Wahl stark einflussreich auf Messstabilität
  • C-State-Residency zentraler Kontrollfaktor
  • Fixierung der Governor-Einstellung notwendig für zukünftige Vergleiche

Planungsziel:

  • Ziel: Reduktion der Unsicherheit in zukünftigen Messungen auf ±3Prozentpunkte pro Governor.
  • Vorgehen:
    • Geplante Erweiterung der Stichprobenzahlen nach Bootstrap-Schätzung

Limitationen & Fallstricke

Datenbezogene Limitationen:

  • N begrenzt (~240 Läufe); mögliche Varianzunter- oder Überschätzung bei extremen Governors

Bootstrap-spezifische Limitationen:

  • Bootstrap-Konfidenzintervalle abhängig von Stichprobenhomogenität; Verzerrung möglich bei starker Clusterung

Kausalität & Generalisierbarkeit:

  • Beobachtete Effekte gelten für getestete Hardware/Setup; Generalisierung auf andere Systeme bedingt

Praktische Fallstricke:

  • Nicht synchronisierte Runs können durch Temperaturdrift beeinflusst sein
  • C-State-Tagging unvollständig → fehlerhafte Gruppenzuordnung

Nächste Schritte & Erweiterungen

Geplante Experimente:

  • 24h-Holdover-Messung mit fixiertem Governor (powersave dann performance)
  • Replikation der Bootstrap-Ergebnisse mit erweitertem C-State-Logging

Analyseziele:

  • Validierung der Bootstrap-Ergebnisse über längere Laufzeiträume
  • Erforschung der Wechselwirkungen zwischen Governors und C-State-Tiefen

Regression & Modellierung:

  • Integration der Governor- und C-State-Faktoren in zukünftige Regressionsmodelle für Outlier-Wahrscheinlichkeit

Community-Beiträge:

  • Erstellung eines öffentlichen Trace-Templates für Contributor-Runs
  • Sammlung und Vergleich anonymisierter Governor-getaggter Logs