run_timing_analysis/near_expiry_rule/README.md

172 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

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.

# 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.