run_analysis_aux_workers/artifact.3/README.md
2026-03-31 13:46:39 +00:00

239 lines
7.1 KiB
Markdown
Raw Permalink 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.

# Analyse der aux-Worker-Konfiguration (aux=13)
## Purpose
Vergleichsanalyse der Leistungswirkung verschiedener aux-Worker-Konfigurationen, um eine belastbare Standardkonfiguration für Log-Analyseprozesse festzulegen.
**Problemstellung:** Erhöhung der auxWorkerAnzahl verbessert möglicherweise logbasiertes I/OVerhalten, kann aber durch erhöhte Streuung und sinkende Effizienz saturieren. Ziel war, die optimale Anzahl von auxWorkern zu bestimmen.
**Ziele:**
- Messung der Wirksamkeit zusätzlicher aux-Worker auf HotspotTailLatenzen
- Ermittlung von Varianz und Bandbreitenänderungen bei Skalierung von auxWorkerAnzahl
- Festlegung einer stabilen Betriebsregel auf Basis statistischer Schwellen
## Kontext & Hintergrund
Drei Messläufe (#34, #36, #37) mit identischer Messmethodik, variierender auxWorkerAnzahl (1, 2, 3).
**Gruppierung:**
- aux=1
- aux=2
- aux=3
**Trace-Metadaten / zusätzliche Tags:**
- epoch_ms
- monotonic_ns
- tz_offset_minutes
- run_id
- step_id
**Domänenkontext:**
- Leistungsanalyse asynchroner Log-Verarbeitungs-Worker
- Bewertung von I/O-Lastverteilung und Timing-Streuung
**Outlier-Definition:**
- Methode: Interquartilsabstand (IQR)
- Beschreibung: Abweichungen jenseits des 1,5×IQRBereichs gelten als Ausreißer im Latenzverhalten.
- Metrik: retry_tail_p99
**Motivation:**
- Reduktion der Latenzspitzen in nearexpiryunpinned Hotspots
- Vermeidung von Drift in band_width bei zunehmender Parallelität
- Entwicklung reproduzierbarer, regelbasierter Skalierungsentscheidungen
## Methode / Spezifikation
**Übersicht:**
- Vergleichsanalyse über drei Runs mit variierender auxWorkerZahl
- Auswertung mittels Median und Interquartilsabstand (IQR)
- Trennung der Metriken nach HotspotTail, RestTail und band_width
**Algorithmen / Verfahren:**
- Erfassen der LogMetriken unter identischen Rahmenbedingungen
- Berechnen von Median und IQR pro Kennzahl und auxWorkerGruppe
- Vergleich von Δp99 zwischen Runs
- Bewertung der Unterschiede anhand der IQRSpanne (Signifikanzkriterium Δ > IQR/2)
### Bootstrap-Übersicht
Verteilungsschätzung möglicher StichprobenmedianDifferenzen durch wiederholtes Resampling.
**Zielgrößen:**
- retry_tail_p99_Hotspot
- retry_tail_p99_Rest
- band_width
### Resampling-Setup
- aux=1
- aux=2
- aux=3
**Stichprobeneinheit:** RunFenster (Zeitintervallmessung)
**Resampling-Schema:**
- bootstrap resampling
- 1.000 Wiederholungen pro Gruppe
**Konfidenzintervalle:**
- Niveau: 0.95
- Typ: percentile-based
- Ableitung: empirische Quantile der bootstrapped Differenzen
### Abgeleitete Effektgrößen
**Risk Difference (Differenz der Raten):**
- Definition: Differenz der relativen Häufigkeit hoher Latenzwerte zwischen Vergleichsgruppen.
- Bootstrap: Schätzung der CI der Differenz aus resampled Anteil hoher p99Werte.
**Risk Ratio:**
- Definition: Verhältnis der Wahrscheinlichkeit erhöhter Latenz bei höherer auxZahl.
- Bootstrap: Resamplingbasierte Schätzung der Verteilungsverhältnisse.
### C-State-Kontrolle
**Ziel:** Sicherstellen, dass beobachtete Unterschiede nicht durch CPUStromsparmodi beeinflusst werden.
**Vorgehen:**
- Fixieren der CPUCStates während der Läufe
- Überwachung über TraceMetadata
- Dokumentation des setup_fingerprint zur Vergleichbarkeit
## Input / Output
### Input-Anforderungen
**Hardware:**
- MehrkernCPU mit mindestens 4 Kernen
- Stabile I/OSpeicherumgebung
**Software:**
- eigener Logger mit SanityHeader
- Telemetrie mit setup_fingerprint
- Statistikmodul zur Median/IQRAnalyse
**Konfiguration:**
- auxWorkerZahl parametrierbar (13)
- identische Fensterung und Messperiode je Run
### Erwartete Rohdaten
**Felder pro Run:**
- epoch_ms
- monotonic_ns
- tz_offset_minutes
- run_id
- step_id
- retry_tail_p99
- band_width
**Formatbeispiele:**
- 1705123145,512312233122,60,36,12,0.015,3.5e+06
**Trace-Daten:**
- Format: CSV oder JSONLogdateien mit fixem Header
- Hinweis: setup_fingerprint dient zur Absicherung parametergleicher Läufe
### Analyse-Ausgaben
**Pro Gruppe / pro Governor:**
- Median
- IQR
- p99
- DriftIndikator (relative Varianz)
**Vergleichsausgaben:**
- aux=1 vs aux=2
- Δ: deutliche Verbesserung von Hotspotp99
- CI(Δ): positiv außerhalb IQR
- RR: unter 1
- CI(RR): eng, stabil
- aux=2 vs aux=3
- Δ: gering, innerhalb IQR
- CI(Δ): überlappt Null
- RR: ≈1
- CI(RR): breit, unsicher
- C-State-Korrelation: keine signifikanten Korrelationen beobachtet
- Trace-Muster: leicht erhöhte band_widthVarianz bei aux=3
## Workflow / Nutzung
**Analyse-Workflow:**
- Parameterwahl (auxWorkerAnzahl setzen)
- RunDurchführung mit identischen Bedingungen
- LogErfassung und SanityHeaderValidierung
- Statistische Auswertung (Median/IQR, Bootstrap optional)
- Sättigungskriterium prüfen (Δ < IQR/2)
- DefaultEntscheidung aktualisieren
### Trace-Template-Anforderungen
**Ziel:** Vergleichbare Runs ohne TuningArtefakte erzeugen.
**Erforderliche Tags & Metadaten:**
- setup_fingerprint
- run_id
- aux_worker
- time_window_id
**trace-cmd-Setup:**
- fixierte CPUCStates
- identische LoggerKonfiguration
- synchronisierte Startbedingungen
**Run-Design für Contributors:**
- jeweils 1 Parameteränderung pro Run
- mindestens 3 Wiederholungen für Medianstabilität
## Interpretation & erwartete Ergebnisse
**Kernbefunde:**
- aux=1 aux=2 führt zu klar verbessertem HotspotTail (p99Verringerung außerhalb IQR)
- aux=2 aux=3 zeigt keine signifikante Verbesserung, jedoch erhöhte Varianz in band_width
- Sättigungseffekt ab aux3 erkennbar
**Implikationen für Experimente:**
- aux=2 als stabiler Default sinnvoll
- weiteres Hochskalieren ohne strukturellen Vorteil
- Fokus künftig auf Steuerungsalgorithmik statt WorkerZahl
**Planungsziel:**
- Ziel: Definieren reproduzierbarer Entscheidungsregeln für WorkerSkalierung.
- Vorgehen:
- Vergleich ΔHotspotP99 gegen IQR/2Schwelle
- Zusätzliche Driftbewertung von band_width in Frühfenstern
## Limitationen & Fallstricke
**Datenbezogene Limitationen:**
- nur drei Runs, begrenzte Stichprobentiefe
- keine externe Replikation auf anderer Hardware
**Bootstrap-spezifische Limitationen:**
- Verteilungsschätzungen sensitiv für kleine Stichproben
- breite CI erschwert sichere Interpretation bei Δ0
**Kausalität & Generalisierbarkeit:**
- Resultate gelten nur für identische Logger und I/OProfile
- keine direkte Generalisierung auf andere TaskTypen
**Praktische Fallstricke:**
- unentdeckte Seiteneffekte bei paralleler Instrumentierung
- Verwechslung von Drift und Messrauschen bei kurzen Runs
## Nächste Schritte & Erweiterungen
**Geplante Experimente:**
- Analyse alternativer SchedulingStrategien für auxWorker
- Erweiterung durch präzisere LatenzVorhersagemodelle
**Analyseziele:**
- Quantifizierung der band_widthDriftursachen
- Messung der Tradeoffs zwischen Parallelität und Stabilität
**Regression & Modellierung:**
- Aufbau eines Regressionsmodells für auxWorkerEffekte auf Latenzmetriken
**Community-Beiträge:**
- Bereitstellung der setup_fingerprintMethodik als offenes Vergleichsinstrument für ähnliche Experimente