From 96236f49a3a8515f4470a4ce8b7a345cc39eef76 Mon Sep 17 00:00:00 2001 From: Mika Date: Wed, 21 Jan 2026 17:37:37 +0000 Subject: [PATCH] Add artifact.3/README.md --- artifact.3/README.md | 189 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 189 insertions(+) create mode 100644 artifact.3/README.md diff --git a/artifact.3/README.md b/artifact.3/README.md new file mode 100644 index 0000000..829a591 --- /dev/null +++ b/artifact.3/README.md @@ -0,0 +1,189 @@ +# 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.