Add artifact.3/README.md
This commit is contained in:
parent
79af1bbbb5
commit
96236f49a3
1 changed files with 189 additions and 0 deletions
189
artifact.3/README.md
Normal file
189
artifact.3/README.md
Normal 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 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.
|
||||||
Loading…
Reference in a new issue