run_timing_experiment/results_documentation/README.md

176 lines
6.1 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Ergebnisdokumentation der Laufanalyse (Run #3)
## Purpose
Analyse der Timing-Differenzen und Zustandseffekte zwischen pinned und unpinned Läufen zur Beurteilung der PolicyEntscheidung.
**Problemstellung:** Unklare Zuordnung der WarnRateSpitzen zu spezifischen TimingZuständen in unpinned Läufen verursachte unpräzise Systementscheidungen.
**Ziele:**
- Validierung der Hypothese, dass der WARNSpike durch unpinned + Δt < 0 verursacht wurde
- Überprüfung der Auswirkung des unpinned2PhaseReadDelayCommits auf die ΔtVerteilung
- Definition einer versionierbaren Entscheidungsregel für zukünftige Runs
## Kontext & Hintergrund
Messdaten aus mehreren Runs mit identischen policy_hashWerten, Gruppierung nach pinned vs. unpinned und ΔtStatus.
**Gruppierung:**
- pinned / unpinned
- Δt 0 / Δt < 0
**Trace-Metadaten / zusätzliche Tags:**
- t_index_visible
- t_gate_read
- policy_hash
**Domänenkontext:**
- TimingOptimierung in Systementscheidungsprozessen
- PolicyReglerVerfeinerung basierend auf ΔtVerteilungen
**Outlier-Definition:**
- Methode: ΔtSignumVergleich
- Beschreibung: Negative Δt werden als zeitlich rückläufige, potenziell fehlerhafte Ereignisse klassifiziert.
- Metrik: Δt = t_index_visible t_gate_read
**Motivation:**
- Reduktion von False Positives in WarnEntscheidungen
- Sicherung der Vergleichbarkeit zwischen Runs
- Stabilisierung der Systemantwort durch konsistente TimingVerhältnisse
## Methode / Spezifikation
**Übersicht:**
- Analyse der Kennzahlen warn_rate und unknown_rate getrennt nach pinned und unpinned Läufen
- Berechnung und Vergleich der ΔtVerteilungen zwischen Runs #2 und #3
- Erstellung einer 2×2Matrix: pinned/unpinned × Δt 0 / Δt < 0 zur Identifikation dominanter Quadranten
**Algorithmen / Verfahren:**
- Vergleich des policy_hash zwischen Runs zur Sicherstellung identischer Bedingungen
- Aggregierte Auswertung von ΔtSignen zur Quadrantenermittlung
- Proportionsvergleich der Quadrantenanteile ( insbesondere unpinned & Δt < 0)
### Abgeleitete Effektgrößen
**Risk Difference (Differenz der Raten):**
- Definition: Differenz der negativen ΔtAnteile zwischen Run #2 und Run #3 innerhalb des unpinnedStratums.
- Bootstrap: Optionales BootstrapResampling möglich, zur robusten Schätzung von Konfidenzintervallen über Quadrantenanteile.
**Risk Ratio:**
- Definition: Verhältnis der Wahrscheinlichkeit für Δt < 0 im unpinnedStratum zwischen Run #2 und Run #3.
- Bootstrap: BootstrapResampling zur Bestimmung der Unsicherheitsbreite implementierbar.
## Input / Output
### Erwartete Rohdaten
**Felder pro Run:**
- t_index_visible
- t_gate_read
- policy_hash
- pinned_flag
- warn_rate
- unknown_rate
**Formatbeispiele:**
- {run_id:3, pinned: false, t_index_visible: 171.253, t_gate_read: 171.268, policy_hash: 'd9acb2', warn_rate: 0.042}
**Trace-Daten:**
- Format: strukturierte Logdateien oder CSVExports pro Lauf
- Hinweis: Zeitstempel konsistent in gleicher Auflösung (z.B. nsbasiert).
### Analyse-Ausgaben
**Pro Gruppe / pro Governor:**
- warn_rate
- unknown_rate
- Anteile pro ΔtQuadrant
**Vergleichsausgaben:**
- Run #2 (unpinned) vs Run #3 (unpinned)
- Δ: Δ Anteil Δt < 0 = x%
- CI(Δ): 95% CI [y%, z%]
- RR: r 0.XX
- CI(RR): 95% CI [a, b]
- Trace-Muster: QuadrantenmatrixVisualisierung zur schnellen Erkennung dominanter Ausreißerzonen
## Workflow / Nutzung
**Analyse-Workflow:**
- Run-Datensatz mit Referenzpolicy (Run #2) vergleichen
- policy_hashAbgleich durchführen
- ΔtDifferenzen pro Stratum berechnen
- 2×2Matrix erstellen
- Differenzen und Verteilungen bewerten
- PolicyEntscheidung dokumentieren
### Trace-Template-Anforderungen
**Ziel:** Reproduzierbare Umgebung mit identischem timinglogging setup
**Erforderliche Tags & Metadaten:**
- policy_hash
- run_id
- t_index_visible
- t_gate_read
**trace-cmd-Setup:**
- loggingfrequenz definieren
- timestamp precision auf Nanosekundenebene sicherstellen
**Run-Design für Contributors:**
- mindestens drei konsekutive Runs mit gleichem policy_hash durchführen
- keine zusätzlichen Messgrößen zwischen den Runs einführen
## Interpretation & erwartete Ergebnisse
**Kernbefunde:**
- Deutlicher Rückgang negativer Δt im unpinnedStratum
- PinnedStratum bleibt unverändert
- Quadrant unpinned & Δt < 0 signifikant geschrumpft
- Mechanismus validiert: 2PhaseDelay beeinflusst Ursache, nicht Symptom
**Implikationen für Experimente:**
- Beibehaltung des unpinnedDelay und MODE=warn
- Einführung einer versionierbaren ExitRegel für die Policy
- Ziel: stabile Warnraten ohne höhere Fehlklassifikation
**Planungsziel:**
- Ziel: Reduktion von Fehlalarmen durch präzise TimingStratifizierung
- Vorgehen:
- nur noch Warnungen bei Δt < 0 im unpinnedStratum nach Stabilitätsnachweis
- Verifikation über drei Folgeruns mit konstantem policy_hash
## Limitationen & Fallstricke
**Datenbezogene Limitationen:**
- RunDrift durch unbewusste Parameteränderungen möglich
- ΔtSchwankungen empfindlich gegenüber Messauflösung
**Bootstrap-spezifische Limitationen:**
- BootstrapCIBreite abhängig von RunAnzahl und ΔtVarianz
**Kausalität & Generalisierbarkeit:**
- Ergebnisse spezifisch für das verwendete policy_hashSetup
- keine direkte Übertragbarkeit auf abweichende HardwareKonfigurationen
**Praktische Fallstricke:**
- Fehlende Reproduzierbarkeit bei neuen Seeds
- Verwechslung von Symptom (ΔtVerzögerung) und Ursache (SchedulingEffekt)
## Nächste Schritte & Erweiterungen
**Geplante Experimente:**
- Durchführung von zwei bis drei weiteren Läufen mit identischen Bedingungen
- Vergleich der 2×2DriftMatrix als Zeitreihe
**Analyseziele:**
- Überprüfung der Stabilität des unpinnedQuadranten
- Evaluierung langfristiger Reduktion der warn_rate ohne ΔtVerschlechterung
**Regression & Modellierung:**
- Erweiterung der ΔtAnalyse um lineare DriftModelle oder ZeitverlaufsRegression
**Community-Beiträge:**
- Bereitstellung der DriftMatrixAnalyse als reproduzierbares Template für RunVergleiche