run_timing_analysis/run_analysis/README.md
2026-03-03 11:21:15 +00:00

6.5 KiB
Raw Permalink Blame History

Analyse der Runs #6#10 zur Definition der NearExpirySchwelle

Purpose

Auswertung der Runs #6#10 zur Identifikation stabiler Timing-Muster und Definition einer datenbasierten NearExpirySchwelle.

Problemstellung: Untersuchung negativer Zeitdifferenzen (Δt<0) zwischen GateRead und IndexVisibility unter verschiedenen Bedingungen (pinned/unpinned), um deterministische Fehlerquellen zu erkennen.

Ziele:

  • Überprüfung der Stabilität zwischen pinned und unpinned Runs
  • Quantifizierung und Klassifizierung der Δt<0Fälle
  • Ableitung einer Schwelle für NearExpiryDefinition (<24h)

Kontext & Hintergrund

Fünf Runs (#6#10) unter identischer Instrumentierung und ExitRegel v1. Jeder Run zeichnet Metriken für pinned und unpinned Kontexte auf.

Gruppierung:

  • pinned
  • unpinned

Trace-Metadaten / zusätzliche Tags:

  • corr_id zur Identifikation einzelner Fälle
  • expires_at_dist_hours als Distanz bis Ablaufzeit
  • LagVorzeichen aus Differenz (t_gate_read t_index_visible)

Domänenkontext:

  • Verteilte Systeme mit zeitkritischen Sichtbarkeitsfenstern
  • Fehleranalyse durch Latenzsignale in synchronisierten Prozessen

Outlier-Definition:

  • Methode: Schwellenbasiert
  • Beschreibung: Fälle werden als Ausreißer markiert, wenn expires_at_dist_hours > 24h bei Δt<0 auftritt.
  • Metrik: expires_at_dist_hours

Motivation:

  • Stabilisierung von Systemtimings durch präzise Definition von NearExpiryZonen
  • Schaffung einer reproduzierbaren Baseline für A/BTests

Methode / Spezifikation

Übersicht:

  • Vergleich von pinned und unpinned Runs hinsichtlich Δt<0Fällen
  • Konsolidierung der Einzelereignisse über die Runs #6#10
  • Analyse des Verteilungsverhaltens von expires_at_dist_hours

Algorithmen / Verfahren:

  • Zählen der Δt<0Fälle pro Run und Stratum
  • Prüfen des Vorzeichens von (t_gate_read t_index_visible)
  • Zuordnung nach expires_at_dist_hours
  • Ableitung der NearExpirySchwelle basierend auf Häufigkeitsverteilung

Bootstrap-Übersicht

Nicht angewandt

Zielgrößen:

Resampling-Setup

Resampling-Schema: Konfidenzintervalle:

  • Niveau: 0.95

Abgeleitete Effektgrößen

Risk Difference (Differenz der Raten):

  • Definition: Vergleich der Δt<0Inzidenz zwischen pinned und unpinned Runs.
  • Bootstrap: Nicht durchgeführt, da Stichprobenumfang gering.

Risk Ratio:

  • Definition: Quotient aus unpinnedΔt<0Rate zu pinnedΔt<0Rate über Runs #6#10.
  • Bootstrap: Nicht angewandt.

C-State-Kontrolle

Ziel: Minimierung von TimingDrift durch stabile Prozessbedingungen.

Vorgehen:

  • Alle Runs unter identischer Prozess und Regelkonfiguration
  • Keine Änderungen der Instrumentierung oder ExitRegel

Input / Output

Input-Anforderungen

Hardware:

  • Standardisierte Umgebung pro Run, konstant gehalten

Software:

  • Instrumentierung für Gate und IndexTimingMessungen
  • Datenlogging für corr_id und expires_at_dist_hours

Konfiguration:

  • ExitRegel v1 unverändert in allen Runs

Erwartete Rohdaten

Felder pro Run:

  • run_id
  • stratum
  • corr_id
  • t_gate_read
  • t_index_visible
  • expires_at_dist_hours

Formatbeispiele:

  • run: #8, stratum: unpinned, corr_id: U8-A, expires_at_dist_hours: 12.1, sign: negativ

Trace-Daten:

  • Format: Tabellarisch pro Run mit konsolidierter ΔtZählung
  • Hinweis: Δt<0 markiert Vorzeichenwechsel in Sichtbarkeitszeitpunkt

Analyse-Ausgaben

Pro Gruppe / pro Governor:

  • warn rate ≈ 0.06 (pinned)
  • unknown rate ≈ 0.00 (pinned)
  • Δt<0-Fälle: 0 (pinned), 12 (unpinned)

Vergleichsausgaben:

  • pinned vs unpinned

    • Δ: +1520 Prozentpunkte Δt<0Inzidenz
    • RR: >5x
  • C-State-Korrelation: Nicht signifikant oder konstant über Runs.

  • Trace-Muster: Unpinned zeigt konsistentes negatives LagVorzeichen über alle Runs.

Workflow / Nutzung

Analyse-Workflow:

  • Importiere RunLogs #6#10
  • Filtere nach Δt<0Fällen
  • Klassifiziere pro Stratum (pinned/unpinned)
  • Berechne expires_at_dist_hoursVerteilung
  • Setze NearExpiryGrenze bei <24h
  • Überführe Schwelle in A/BTestDesign

Trace-Template-Anforderungen

Ziel: Konsistente Erfassung von TimingDifferenzen zur Erkennung strukturierter Latenzmuster.

Erforderliche Tags & Metadaten:

  • corr_id
  • expires_at_dist_hours
  • t_gate_read
  • t_index_visible

trace-cmd-Setup:

  • Verwende identische SamplingIntervalle und LogFrequenz pro Run

Run-Design für Contributors:

  • Keine Regeländerung zwischen Runs innerhalb der Baseline
  • Separate Kennzeichnung für pinned und unpinned Sessions

Interpretation & erwartete Ergebnisse

Kernbefunde:

  • Δt<0Fälle treten ausschließlich im unpinnedStratum auf.
  • 6 von 7 Δt<0Fällen liegen unter 24h expires_at_dist_hours.
  • Kein einziger Fall mit positivem LagVorzeichen.

Implikationen für Experimente:

  • Die NearExpirySchwelle <24h wird als stabile Entscheidungsbasis übernommen.
  • BaselineRuns #6#10 liefern konsistentes Muster für weitere Tests.

Planungsziel:

  • Ziel: Definition einer datenbasierten Schwelle für NearExpiryRegeln.
  • Vorgehen:
    • Empirische Aggregation von Δt<0Fällen über SerienRuns
    • Auswahl konservativer Schwelle zur Minimierung von False Positives

Limitationen & Fallstricke

Datenbezogene Limitationen:

  • Kleine Stichprobe (nur 7 Δt<0Fälle)
  • Kein separates Validierungsset außerhalb Runs #6#10

Bootstrap-spezifische Limitationen:

  • Keine BootstrapVerfahren angewandt, daher keine Konfidenzintervalle

Kausalität & Generalisierbarkeit:

  • Kausalität nur innerhalb identischer Regelkonfigurationen prüfbar
  • Ergebnisse gelten nicht für geänderte Instrumentierungsvarianten

Praktische Fallstricke:

  • Verwechslung von LagVorzeichen durch Messlatenz möglich
  • Beobachtungszone 2448h darf Entscheidungslogik nicht beeinflussen

Nächste Schritte & Erweiterungen

Geplante Experimente:

  • A/BTest mit NearExpirySchwelle <24h vs. Kontrollgruppe ohne Schwelle

Analyseziele:

  • Überprüfung der Reproduzierbarkeit des LagMusters
  • Test auf Stabilität der WarnRate bei neuen Runs

Regression & Modellierung:

  • Erweiterung zur Trendanalyse über mehrere Baselines
  • Modellierung der LagVerteilung über expires_at_dist_hours

Community-Beiträge:

  • Dokumentation der NearExpiryHeuristik im internen KnowledgeRepo
  • Veröffentlichung der RunDatenstruktur für Replikationsstudien