piecewise_policy_validation/decision_table/README.md

4.8 KiB
Raw Blame History

Entscheidungstabelle für Piecewise-Policy-Auswahl und Validierung

Purpose

Dokumentation der Auswahl- und Validierungsentscheidungen für Piecewise-Policies zur Steuerung von Performance-Tails und Unknowns.

Problemstellung: Unkontrollierte lange Tails bei unpinnedRuns verursachen hohe WorstCaseWerte trotz guter Durchschnittsmetriken. Ziel ist eine Policy, die Tails begrenzt und Unknowns minimiert.

Ziele:

  • Reduktion von Unknowns auf ≤1%
  • Sicherstellung einer Sichtbarkeit von ≥99%
  • Optimierung von WorstCaseWartezeiten bei akzeptabler p99Performance

Kontext & Hintergrund

Systemmetriken aus grid_results.csv mit Sichtbarkeit, UnknownRate, WorstCase und p99Werten je PolicyVariante.

Gruppierung:

  • pinned
  • unpinned

Trace-Metadaten / zusätzliche Tags:

  • policy_variant
  • grace
  • delay
  • visibility
  • unknown
  • worst_case
  • p99

Domänenkontext:

  • System-Performance-Test bei unterschiedlicher ThreadAffinität (pinned/unpinned)
  • Evaluierung von delay und gracebasierten Steuerparametern

Motivation:

  • Reduktion extremer Ausreißer in Latenzverteilungen
  • Vermeidung unklarer (Unknown) Zustände im Testbetrieb
  • Versionierte PolicyKontrolle zur Nachvollziehbarkeit

Methode / Spezifikation

Übersicht:

  • Systematische Filterung des PolicyGrids nach definierten Hard Constraints.
  • Optimierung innerhalb des gültigen Subsets nach minimalem WorstCase.
  • Sekundäre Bewertung über p99 bei Gleichstand.

Algorithmen / Verfahren:

  • Filter: visibility ≥99%, unknown ≤1%.
  • Sortierung: Primär nach WorstCase, sekundär nach p99.
  • Finale Auswahl: Ein PolicyKandidat pro Stratum (pinned/unpinned).

Input / Output

Input-Anforderungen

Hardware:

  • Standard-Testplattform mit CPU-Affinitätssteuerung

Software:

  • Analyse-Tooling mit grid_results.csv-Auswertung

Konfiguration:

  • policy_constants.json mit getrennten Parametern für pinned/unpinned

Erwartete Rohdaten

Felder pro Run:

  • policy_variant
  • grace
  • delay
  • visibility
  • unknown
  • worst_case
  • p99

Formatbeispiele:

  • Variante B, 2.0, 1.0, 99.3, 0.8, 810, 560

Trace-Daten:

  • Format: CSV mit numerischen und boolean Feldern
  • Hinweis: Ergänzt um policy_hash zur Versionierung

Analyse-Ausgaben

Pro Gruppe / pro Governor:

  • Visibility
  • Unknown
  • WorstCase
  • p99

Vergleichsausgaben:

  • unpinned: Variante B + moderater 2PhaseDelay + moderate Grace vs unpinned: Variante B + höhere Grace, kein Delay
    • Δ: bessere WorstCaseReduktion mit Delay
  • pinned: Variante A + moderate Grace + minimaler Delay vs pinned: Variante A + erhöhter Delay
    • Δ: ähnliche p99, jedoch höhere Unknowns bei erhöhtem Delay

Workflow / Nutzung

Analyse-Workflow:

    1. grid_results.csv einlesen.
    1. Filterung nach definierten Hard Constraints.
    1. Kennzahlenbewertung (WorstCase, p99).
    1. Entscheidung je Stratum treffen.
    1. policy_constants.json aktualisieren.
    1. policy_hash neu berechnen.
    1. minivalidation (8Runs) durchführen.

Interpretation & erwartete Ergebnisse

Kernbefunde:

  • UnpinnedDelay reduziert die langen Tails signifikant bei stabiler UnknownRate.
  • PinnedGrace erhöht Sichtbarkeit ohne TailVerschlechterung.
  • Beide Policies liegen innerhalb der spezifizierten Constraints.

Implikationen für Experimente:

  • Die PiecewisePolicy kann als stabiler BaselineDefault eingesetzt werden.
  • Weiterführende Validierungen mit 610 Runs empfohlen, um Varianz zu quantifizieren.

Planungsziel:

  • Ziel: Validierung des Stabilitätsbereichs („Sweet Spot“) zur RolloutFreigabe.
  • Vorgehen:
    • CrossStratumValidierung mit gleichbleibender Testkonfiguration.
    • Keine Setup oder LoggingÄnderung während Validierung.

Limitationen & Fallstricke

Datenbezogene Limitationen:

  • Begrenzte Stichprobe (8 Runs) kann seltene Ausreißer verdecken.
  • Abhängigkeit von spezifischen GridKonfigurationen.

Kausalität & Generalisierbarkeit:

  • Ergebnisse gelten nur für getestete Hardware und AffinitätsSetups.
  • Kein Nachweis für kausale Effekte zwischen Delay und UnknownReduktion außerhalb der Testbedingungen.

Praktische Fallstricke:

  • Übermäßige DelayErhöhung destabilisiert p99.
  • Fehlerhafte oder fehlende PolicyHashVersionierung erschwert Reproduzierbarkeit.

Nächste Schritte & Erweiterungen

Geplante Experimente:

  • Erweiterte Validierungsserie mit 610 Runs je Stratum.
  • RolloutSimulation mit gemischten Lastprofilen.

Analyseziele:

  • Quantifizierung der Varianzreduktion durch DelayTuning.
  • Mehrdimensionale Bewertung von WorstCaseTradeoffs.

Regression & Modellierung:

  • Automatische PolicyRegressionstests gegen historische decision tables.

Community-Beiträge:

  • Austausch von UnknownHandlingStrategien (WARN vs REVIEWSchwelle).