# Frozen-Runs Analyse – Zwischenbericht zu Metriken und Timing-Effekten ## Purpose Analyse von Frozen-Runs zur Untersuchung von Timing-Stabilität und Metrikunterschieden zwischen pinned und unpinned CPU-Konfigurationen. **Problemstellung:** Unklarheit über die Stabilität und Wiederholbarkeit von Timing-Metriken bei Frozen-Runs unter verschiedenen CPU-Bindungszuständen (pinned vs. unpinned). **Ziele:** - Vergleich der Metriken Mischfenster-Dauer, Retry-free-in-window Rate und seqcount_retry_count zwischen pinned und unpinned Runs - Bewertung der metrischen Robustheit mittels Bootstrap-Konfidenzintervallen - Identifikation belastbarer Trennmerkmale als Grundlage für spätere CI-Gates ## Kontext & Hintergrund Vier N40-Frozen-Runs (#20–#23) mit balanciertem Setup: pinned/unpinned alternierend, keine back-to-back-Ausführungen. **Gruppierung:** - pinned_flag **Trace-Metadaten / zusätzliche Tags:** - corr_id - write_pre - write_post - clocksource_switch **Domänenkontext:** - System Performance Analysis - CPU Binding Effects - Timing Stability in Benchmark Runs **Outlier-Definition:** - Methode: Empirisch über Bootstrap-Stabilität der p95/max-Metriken - Beschreibung: Ausreißer sind Runs, deren Metrikbeiträge stark variieren und über die Bootstraps nicht stabil reproduzierbar sind. - Metrik: Mischfenster-Dauer (p95, max) **Motivation:** - Validierung der Frozen-Runs als stabile Baseline - Quantifizierung der Einflüsse von CPU-Pinning auf Timing-Streuung - Vorbereitung auf CI-taugliche Gate-Metriken ## Methode / Spezifikation **Übersicht:** - Balanciertes Frozen-Run-Design mit 2x pinned und 2x unpinned Ausführungen. - Sanity-Checks zur Sicherstellung der Datenintegrität vor Analyse. - Bootstrap-Resampling über Runs zur Robustheitsbewertung der Effektgrößen. **Algorithmen / Verfahren:** - Berechnung von p50, p95 und max der Mischfenster-Dauer pro Run. - Berechnung der retry-free-in-window Rate und Korrelation mit seqcount_retry_count. - Bootstrap-Resampling (n=10.000) über Runs, gruppiert nach pinned_flag. - Berechnung von Effektgrößen (rank-biserial Correlation, Cliff’s delta). ### Bootstrap-Übersicht Resampling-Verfahren zur Schätzung von Konfidenzintervallen und Stabilität von Effektgrößen. **Zielgrößen:** - p95 Mischfenster-Dauer - retry-free-in-window Rate - Cliff’s delta pro Metrik ### Resampling-Setup - pinned - unpinned **Stichprobeneinheit:** Run **Resampling-Schema:** - 10.000 Resamples pro Gruppe mit Replacement **Konfidenzintervalle:** - Niveau: 0.95 - Typ: percentile - Ableitung: aus den empirischen Bootstrap-Verteilungen ### Abgeleitete Effektgrößen **Risk Difference (Differenz der Raten):** - Definition: Differenz der retry-free-in-window Raten zwischen pinned und unpinned Runs. - Bootstrap: Bootstrapped 95%-Konfidenzintervall über Gruppenmittelwerte. **Risk Ratio:** - Definition: Relatives Risiko eines niedrigen retry-free Anteils bei unpinned Runs. - Bootstrap: Bootstrap-Schätzung der RR-Verteilung über Run-Resamples. ### C-State-Kontrolle **Ziel:** Vermeidung von Störfaktoren durch CPU-Zustandswechsel (C-States). **Vorgehen:** - Frozen-Setup ohne Dynamikänderungen von CPUFreq governor. - Enge Kontrolle über run sequence und clocksource stability. ## Input / Output ### Input-Anforderungen **Hardware:** - Mehrkernsystem mit identischen Cores - CPU-Pinning-Unterstützung im Kernel **Software:** - trace-cmd - Auswerteskripte mit Bootstrap-Unterstützung - Statistik-Tool für Effektgrößen **Konfiguration:** - Frozen-Setup aktiv - Clocksource switch tracebar - Keine parallelen Systemlasten ### Erwartete Rohdaten **Felder pro Run:** - run_id - pinned_flag - mischfenster_p50 - mischfenster_p95 - mischfenster_max - retry_free_rate - seqcount_retry_count **Formatbeispiele:** - 21, unpinned, 1.2ms, 4.9ms, 7.3ms, 0.94, 12 **Trace-Daten:** - Format: trace-cmd output mit clocksource_switch-Ereignissen - Hinweis: Jeder Trace enthält korrelierte write_pre/write_post-Einträge mit fortlaufenden corr_id-Werten. ### Analyse-Ausgaben **Pro Gruppe / pro Governor:** - p50 - p95 - max - bootstrap CI-Bereich - Cliff’s delta **Vergleichsausgaben:** - pinned vs unpinned - Δ: retry-free-in-window Rate differiert um ca. mehrere Prozentpunkte - CI(Δ): 95%-CI ohne Überlappung in einigen Runs - RR: unpinned > pinned (breitere Tails, höhere Varianz) - CI(RR): enge Bandbreite, robuste Trennung beim p95 - C-State-Korrelation: nicht signifikant unter frozen setup - Trace-Muster: unpinned zeigt breitere Latenzverteilungen im Mischfenster ## Workflow / Nutzung **Analyse-Workflow:** - Alle Runs erfassen und sanity-check durchführen. - Kernmetriken extrahieren und pro Run speichern. - Bootstrap-Resampling mit Gruppierung nach pinned_flag ausführen. - Effektgrößen und Konfidenzintervalle vergleichen und validieren. ### Trace-Template-Anforderungen **Ziel:** Eindeutige Erkennung der clocksource_switch- und write_pre/post-Ereignisse. **Erforderliche Tags & Metadaten:** - corr_id - run_id - pinned_flag - timestamp **trace-cmd-Setup:** - trace-cmd record -e clocksource:* - constantes Tracing-Intervall pro Run **Run-Design für Contributors:** - abwechslungsweise pinned/unpinned Läufe - keine Back-to-back-Ausführung ## Interpretation & erwartete Ergebnisse **Kernbefunde:** - unpinned Runs zeigen erhöhte Varianz in p95 und max Mischfenster-Dauer. - retry-free-in-window Rate bleibt über Gruppen stabil mit engen CIs. - Bootstrap-Schätzungen trennen signifikant auch bei kleinen Run-Zahlen. **Implikationen für Experimente:** - p95 ist robustere Metrik als max für künftige CI-Gates. - retry-free-in-window eignet sich als ergänzender Stabilitätsindikator. **Planungsziel:** - Ziel: Vorbereitung auf CI-basierte Metrik-Gates für Performance-Regression-Checks. - Vorgehen: - Kombination von Effektgröße und Bootstrap-CI als Entscheidungskriterium - Identifikation von stabilen Metriken mit geringer CI-Streuung ## Limitationen & Fallstricke **Datenbezogene Limitationen:** - Kleine Stichprobenzahl (n=4) limitiert Teststärke. - Frozen-Setup kann externe Effekte kaschieren. - Keine volle Zeitreproduzierbarkeit bei möglichen Migrationen außerhalb frozen runs. **Bootstrap-spezifische Limitationen:** - Bootstrap stabilisiert nur im Rahmen vorhandener Varianz. - Run-Korrelationen können zu unterschätzten CIs führen. **Kausalität & Generalisierbarkeit:** - Effekte gelten nur für identisches Hardware-Setup. - Keine kausale Aussage über CPU-Pinning allgemein. **Praktische Fallstricke:** - clocksource_switch Events müssen vollständig geloggt sein. - Fehlende corr_id oder write_post können Analyse verzerren. ## Nächste Schritte & Erweiterungen **Geplante Experimente:** - Zusätzliche 4–6 Runs im strict frozen Setup. - Gate-Prototyp zur Bewertung stabiler Metriken. **Analyseziele:** - CI-fähiger Vergleich von p95 vs. retry-free-in-window als Leitmetrik. - Überprüfung der Bootstrap-Verlässlichkeit bei größeren Samples. **Regression & Modellierung:** - Einführung einfacher Gate-Prototypen ohne harte Schwellen. - Langfristig Modellierung von Timing-Varianz über pinned vs. unpinned. **Community-Beiträge:** - Feedback zu priorisierten Gate-Metriken einholen (p95 vs retry-free). - Offene Diskussion über standardisierte Frozen-Benchmarks.