run_timing_analysis/near_expiry_rule/README.md

5.6 KiB
Raw Blame History

NearExpiryRegel Datenbasierte Definition und Schwellenwertanalyse

Purpose

Analyse der RunTimings #6#10 zur Ableitung der NearExpiryRegel in einem mehrstufigen System.

Problemstellung: Negative TimeLags (Δt<0) treten gehäuft bei unpinnedRuns auf. Ziel ist, eine quantitative Grenze für NearExpiryFälle zu bestimmen, um deterministisch entscheiden zu können.

Ziele:

  • Definition der NearExpirySchwelle basierend auf empirischen ΔtMusteranalysen.
  • Validierung der Stabilität über fünf Runs mit konstanter Instrumentierung.
  • Vorbereitung auf A/BTest mit klarer Entscheidungsregel.

Kontext & Hintergrund

Konsolidierte RunDaten #6#10 aus Systemmessungen, getrennt nach pinned und unpinned Strata.

Gruppierung:

  • RunNummer (#6#10)
  • Stratum: pinned vs. unpinned

Trace-Metadaten / zusätzliche Tags:

  • corr_id
  • expires_at_dist_hours
  • sign(t_gate_read t_index_visible)

Domänenkontext:

  • TimingAnalyse verteilter Systeme
  • EventVisibilityLagBeobachtung

Outlier-Definition:

  • Methode: Schwellenwertbeurteilung
  • Beschreibung: Fälle mit expires_at_dist_hours > 24h gelten als Ausreißer in der Δt<0Gruppe.
  • Metrik: expires_at_dist_hours

Motivation:

  • Präzise Baseline vor Regeländerung sichern.
  • Vermeidung von Zufallseffekten durch RunKonsistenz.
  • Einführung einer expliziten, begründeten NearExpirySchwelle.

Methode / Spezifikation

Übersicht:

  • Runs #6#10 wurden mit identischer Instrumentierung durchgeführt.
  • Δt wird berechnet als Differenz zwischen GateRead und IndexVisibilityZeitpunkten.
  • Negative ΔtWerte signalisieren frühe GateErkennung vor sichtbarem Index.

Algorithmen / Verfahren:

  • Erfassen von Δt<0Fällen pro Run.
  • Kategorisierung nach pinned / unpinned.
  • Aggregation aller Δt<0Fälle über Runs.
  • Berechnung der expires_at_dist_hoursVerteilung.
  • Bestimmung der 24hSchwelle basierend auf 6/7 Fällen unter dieser Grenze.

Input / Output

Input-Anforderungen

Hardware:

  • StandardAnalyseumgebung ohne spezielle Sensorik

Software:

  • DataCollectionPipeline mit ZeitstempelErfassung

Konfiguration:

  • ExitRegel v1
  • Konstante Instrumentierung während Runs #6#10

Erwartete Rohdaten

Felder pro Run:

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

Formatbeispiele:

  • run=10, stratum=unpinned, corr_id=U10A, expires_at_dist_hours=9.4, Δt_sign=negativ

Trace-Daten:

  • Format: Tabellarische Textaufzeichnung oder CSV
  • Hinweis: Einträge pro Run konsistent formatiert; keine FeatureÄnderungen zwischen Runs.

Analyse-Ausgaben

Pro Gruppe / pro Governor:

  • warn_rate ≈ 0.06 (pinned)
  • unknown_rate ≈ 0.00 (pinned)
  • Δt<0 count pro Stratum

Vergleichsausgaben:

  • pinned vs unpinned

    • Δ: Δt<0 proportion difference
    • RR: Erhöhtes Risiko negativer Lags bei unpinnedRuns
  • Trace-Muster: Konsistent negatives LagVorzeichen in allen Δt<0Fällen.

Workflow / Nutzung

Analyse-Workflow:

  • Sammle ΔtMetriken pro Run.
  • Trenne Daten nach Strata (pinned/unpinned).
  • Prüfe LagVorzeichenverteilung.
  • Aggregiere NearExpiryKandidaten (expires_at_dist_hours < 24h).
  • Setze Schwelle = 24h als Regeldefinition.
  • Dokumentiere Regel für A/BTestKonfiguration.

Trace-Template-Anforderungen

Ziel: Konsistente Erhebung von TimingDifferenzen zur Stabilitätsbewertung.

Erforderliche Tags & Metadaten:

  • corr_id
  • t_gate_read
  • t_index_visible
  • expires_at_dist_hours

trace-cmd-Setup:

  • Verwende gleiche LoggingParameter über alle Runs.
  • Deaktiviere Zwischenpuffer für EchtzeitErfassung.

Run-Design für Contributors:

  • Halte Instrumentierung konstant.
  • Verändere keine Systemparameter während der BaselineRuns.

Interpretation & erwartete Ergebnisse

Kernbefunde:

  • Δt<0Fälle ausschließlich bei unpinnedRuns beobachtet.
  • Kein einziger positiver LagWert in der beobachteten Serie.
  • 6 von 7 negativen Fällen mit expires_at_dist_hours < 24h.

Implikationen für Experimente:

  • Die empirisch begründete Schwelle reduziert Zufallseinflüsse.
  • Die Regel NearExpiry := expires_at_dist_hours < 24h kann als deterministische Entscheidungsbasis dienen.
  • Die 2448hZone bleibt als MonitoringBereich aktiv, jedoch ohne Regelbeteiligung.

Planungsziel:

  • Ziel: Schaffung einer sauberen, überprüfbaren Entscheidungslogik für NearExpiryErkennung.
  • Vorgehen:
    • Datengetriebene Schwellenwertbestimmung
    • BaselineValidierung über stabile RunSerie

Limitationen & Fallstricke

Datenbezogene Limitationen:

  • Einzelfall mit >24h (31.5h) könnte auf unerkannten Sonderfall hinweisen.
  • Kleine Stichprobe (7 Δt<0Fälle) begrenzt statistische Aussagekraft.

Kausalität & Generalisierbarkeit:

  • Korrelation zwischen NearExpiry und negativem Lag nicht notwendigerweise kausal.
  • Ergebnisse gelten nur für Testsystem mit ExitRegel v1.

Praktische Fallstricke:

  • Schwellenänderung in späteren Runs erfordert ReKalibrierung der Regel.
  • Fehlerhafte Zeitsynchronisation kann ΔtSign verfälschen.

Nächste Schritte & Erweiterungen

Geplante Experimente:

  • Durchführung eines A/BTests mit NearExpirySchwelle <24h vs. Kontrollgruppe ohne Schwelle.

Analyseziele:

  • Überprüfung der Regelauswirkungen auf LagVerteilung und Fehlerraten.

Regression & Modellierung:

  • Langfristig Modellierung der LagVerteilung als Funktion der Restlaufzeit.

Community-Beiträge:

  • Validierung durch weitere Runs mit standardisierter TraceTemplateEinhaltung.