# 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 ±3 Prozentpunkte 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