From 9006cc38313f0fd8732a3e60ca3f6a50e40104c3 Mon Sep 17 00:00:00 2001 From: Mika Date: Sat, 6 Dec 2025 13:10:45 +0000 Subject: [PATCH] Add governors_analysis_report/README.md --- governors_analysis_report/README.md | 204 ++++++++++++++++++++++++++++ 1 file changed, 204 insertions(+) create mode 100644 governors_analysis_report/README.md diff --git a/governors_analysis_report/README.md b/governors_analysis_report/README.md new file mode 100644 index 0000000..4c4b150 --- /dev/null +++ b/governors_analysis_report/README.md @@ -0,0 +1,204 @@ +# 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