Add artifact.3/README.md

This commit is contained in:
Mika 2026-01-21 17:37:37 +00:00
parent 79af1bbbb5
commit 96236f49a3

189
artifact.3/README.md Normal file
View file

@ -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 Cliffs 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ß (Cliffs delta) und Bootstrap-basiertes Vertrauen.
**Community-Beiträge:**
- Bereitstellung der stabilen Trace-Templates und Run-Summaries für Replikationszwecke.