# Analyse der ersten 10 Runs des N40-Experiments ## Purpose Zwischenanalyse der ersten zehn N40-Runs mit Fokus auf Performanceverteilung und Vergleich pinned vs unpinned. **Problemstellung:** Bewerten, ob pinned-Runs konsistent geringere Mischfenster-Dauern und stabilere Verteilungen aufweisen als unpinned-Runs, basierend auf einer kleinen Stichprobe (n=5/5). **Ziele:** - Validierung der Datenintegrität und Stabilität der Aggregationskette - Vergleich der Mischfenster-Metriken zwischen pinned und unpinned Runs - Berechnung erster statistischer Tests zur Trennung der Gruppen ## Kontext & Hintergrund Erste 10 Runs des N40-Experiments, bestehend aus 5 pinned- und 5 unpinned-Konfigurationen. **Gruppierung:** - pinned - unpinned **Trace-Metadaten / zusätzliche Tags:** - corr_id-Konsistenzprüfung - write_pre/write_post-Paarvalidierung - Aggregator-Run-Summaries mit Metadaten (pinned_flag, runtime, config_hash) **Domänenkontext:** - CPU clocksource switch performance - Kernel- und VM-Level Timingtraces - seqcount_retry_count und Mischfenster-Dauer als korrelierte Metriken **Outlier-Definition:** - Methode: Empirische Sichtung der Maximalwerte (tails) der Mischfenster - Beschreibung: Breite Fenster und hohe p95-Werte in unpinned als potenzielle Outlier-Indikation. - Metrik: Mischfenster-Dauer (µs) **Motivation:** - Validierung der experimentellen Setup-Stabilität vor fortgesetzter Datenerhebung - Frühe Indikation, ob pinned-Konfiguration stabilere Zeitverläufe liefert ## Methode / Spezifikation **Übersicht:** - Gleichbleibendes Setup für alle Runs (Kernel, VM, Last, Trace). - Vergleich pinned vs unpinned anhand bisheriger 10 Runs. - Berechnung von Verteilungen und Korrelationen aus Aggregator-Summaries. **Algorithmen / Verfahren:** - Berechnung p50, p95, max der Mischfenster-Dauer für mult↔shift und base_raw↔nsec_base. - Berechnung der Korrelation (Pearson, Spearman) zwischen Mischfenster-Dauer und seqcount_retry_count. - Mann-Whitney-U-Test auf p95-Dauern, Gruppen: pinned vs unpinned. ### Bootstrap-Übersicht Kein Bootstrap-Verfahren in dieser Zwischenanalyse angewendet. **Zielgrößen:** ### Abgeleitete Effektgrößen **Risk Difference (Differenz der Raten):** - Definition: Nicht berechnet in dieser Phase. **Risk Ratio:** - Definition: Nicht relevant für diesen Vergleich. ### C-State-Kontrolle **Ziel:** Konstante Laufbedingungen über Runs sicherstellen. **Vorgehen:** - Fixierung aller C-State-beeinflussenden Parameter über alle Runs. - Verwendung identischer Zielzahlen bei clocksource_switch-Ereignissen. ## Input / Output ### Input-Anforderungen **Hardware:** - Testsystem identisch über alle Runs **Software:** - Unveränderter Kernel und VM-Konfiguration **Konfiguration:** - Konstantes Trace-Setup mit fixer Zielzahl clocksource_switch pro Run ### Erwartete Rohdaten **Felder pro Run:** - pinned_flag - corr_id_chain - write_pre/write_post - runtime - config_hash **Formatbeispiele:** - pinned_flag=true, runtime=38.2s, hash=ab4d92e **Trace-Daten:** - Format: raw trace events - Hinweis: clocksource_switch, seqcount_retry_count, Mischfenster-Dauer ### Analyse-Ausgaben **Pro Gruppe / pro Governor:** - retry-free-in-window/100 switches - Mischfenster p50/p95/max - Pearson and Spearman correlation coefficients **Vergleichsausgaben:** - pinned vs unpinned - Tests: Mann-Whitney-U-Test Ergebnis (Trend erkennbar, bei n=5/5 nicht signifikant) - C-State-Korrelation: Nicht gesondert analysiert. - Trace-Muster: Hohe Konsistenz, keine defekten corr_id-Ketten. ## Workflow / Nutzung **Analyse-Workflow:** - Jeden Run direkt nach Durchführung aggregieren. - Run-Summary generieren und integritätsprüfen. - Ergebnisse für pinned und unpinned getrennt zusammenfassen. - Vergleichstabelle mit Kernmetriken erzeugen. - Statistischen Test auf p95-Werte anwenden. ### Trace-Template-Anforderungen **Ziel:** Gleichförmige Datenbasis über alle Runs. **Erforderliche Tags & Metadaten:** - corr_id - write_pre - write_post - pinned_flag - config_hash **trace-cmd-Setup:** - Keine Änderungen an Trace-Target oder Samplingrate während Serie. **Run-Design für Contributors:** - Fortführung bis N40 komplett (20 pinned, 20 unpinned). ## Interpretation & erwartete Ergebnisse **Kernbefunde:** - Pinned-Runs zeigen im Median und p95 konsistent kleinere Mischfenster. - Unpinned-Runs haben häufig breitere Verteilungen mit längeren Tails. - Stärkere Korrelation zwischen Mischfenster-Dauer und seqcount_retry_count bei unpinned-Runs. - Mann-Whitney-U-Test deutet auf Trennung, jedoch geringe Stichprobe. **Implikationen für Experimente:** - Aggregationspfad und Datenhygiene validiert. - Experiment kann auf 40 Runs erweitert werden, ohne methodische Anpassung. **Planungsziel:** - Ziel: Vollständige Serie (N40) mit solider Effektgrößen- und Konfidenzanalyse. - Vorgehen: - Fortführung bis 20/20 Runs pro Gruppe. - Nach Abschluss Berechnung von Cliff’s delta und Konfidenzintervallen. ## Limitationen & Fallstricke **Datenbezogene Limitationen:** - Kleine Stichprobe (n=5 pro Gruppe) limitiert Signifikanz. - Keine Kontrolle potenzieller Mikrovariationen in Runtime-Bedingungen. **Bootstrap-spezifische Limitationen:** - Bootstrap-Methoden noch nicht angewandt. **Kausalität & Generalisierbarkeit:** - Ergebnisse vorläufig, noch keine belastbare Generalisierbarkeit. **Praktische Fallstricke:** - Gefahr voreiliger Schlussfolgerungen bei geringen N. - Offsets (~1,111s) in unpinned-Tails nur beobachtet, nicht geprüft. ## Nächste Schritte & Erweiterungen **Geplante Experimente:** - Vollständige N40-Laufserie (20 pinned / 20 unpinned) abschließen. **Analyseziele:** - Gesamtauswertung aller 40 Runs mit statistischer Absicherung und Konfidenzintervallen. **Regression & Modellierung:** - Erweiterung um Effektgrößenmaß (Cliff’s delta) und Bootstrap-basiertes Vertrauen. **Community-Beiträge:** - Bereitstellung der stabilen Trace-Templates und Run-Summaries für Replikationszwecke.