n40_runs_analysis/artifact.3/README.md
2026-01-21 17:37:37 +00:00

5.9 KiB
Raw Blame History

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.