189 lines
5.9 KiB
Markdown
189 lines
5.9 KiB
Markdown
# 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.
|