# Korrektur der CI-YAML-Konfiguration für persistente Artefaktspeicherung und konsistente Runner-Zuordnung ## Purpose Dokumentation der Anpassungen an der CI-YAML-Datei zur Vermeidung fehlerhafter Artefaktpfade und inkorrekter Runner-Labels in der Baseline-Rekalibrierungsumgebung. **Problemstellung:** Im ursprünglichen CI-Setup wurden Artefakte temporär lokal gespeichert, da der Aggregator-Job fälschlicherweise als Capture-Runner gelabelt war. **Ziele:** - Sicherstellung korrekter Runner-Label-Zuordnung zwischen Capture- und Aggregator-Jobs - Vermeidung lokaler statt persistenter Artefaktablagen - Validierung der YAML-Änderungen durch Probebetrieb mit stratified sampling ## Kontext & Hintergrund CI-Läufe mit 240 Samples, verteilt auf 4 Capture- und 1 Aggregator-Runner, erzeugt durch trace-cmd mit clocksource_switch und GPS-1PPS als Referenz. **Gruppierung:** - Capture - Aggregator **Trace-Metadaten / zusätzliche Tags:** - Runner-Label - Artefaktpfad - Quota-Definition **Domänenkontext:** - Kernel-Zeitmessung mittels clocksource_switch - Baseline-Rekalibrierung bei Kernel-Switch - Artefaktmanagement in GitLab-CI **Motivation:** - Reduktion des ≈1,11 s Offsets durch Baseline-Neuberechnung im Kernel - Absicherung der CI-Artefaktverwaltung vor fehlerhafter Labelung - Herstellung reproduzierbarer Testbedingungen für Zeitreihen-Traces ## Methode / Spezifikation **Übersicht:** - Validierung des Kernel-Verhaltens nach Aktivierung der baseline_recalc-on-switch Option - Korrektur und Inspektion der CI-YAML-Konfiguration für Job-Label- und Artefaktpfaddefinition - Durchführung eines Probebetriebs mit 240 Proben zur Überprüfung der Artefaktverteilung **Algorithmen / Verfahren:** - Labelkorrektur: Aggregator-Job → Label 'aggregator' statt 'capture' - Artefakt-Pfaddefinition auf persistenten Speicher korrigiert - Quota-Verifizierung für stabile Artefaktspeicherung - Unit-Test-Ausführung von trace_agg.py zur Validierung ## Input / Output ### Erwartete Rohdaten **Felder pro Run:** - runner_label - artefakt_path - quota_status - trace_ref **Formatbeispiele:** - capture_01,/mnt/persist/art_2024-06-10.ok,valid,trace_abc123 **Trace-Daten:** - Format: trace-cmd output with timestamp alignment via GPS-1PPS - Hinweis: Wird verwendet zur Kreuzvalidierung der Baseline-Neuberechnung. ### Analyse-Ausgaben **Vergleichsausgaben:** - Mini-CI vs Produktions-CI - Δ: 1.1 - CI(Δ): geplant (10k Bootstrap Overnight) - Trace-Muster: Keine Sprünge in clocksource->read() nach Patch; maximale Abweichung 6 ms. ## Workflow / Nutzung **Analyse-Workflow:** - YAML-Validierung mit CI-Lint - Probe-Run mit stratified sampling (240 Samples) - Review und Merge Request Vorbereitung - Überführung in reguläres CI-Pipeline-Schema ### Trace-Template-Anforderungen **Ziel:** Standardisierung der Tracedaten für inter-Hardware-Vergleich **Erforderliche Tags & Metadaten:** - runner_label - clocksource - gps_pps_offset **trace-cmd-Setup:** - clocksource_switch aktivieren - BPF-kprobe attach - 1PPS Signal als Referenz **Run-Design für Contributors:** - Mindestens ein Aggregator, vier Capture-Runner - Persistente Artefaktpfade sicherstellen ## Interpretation & erwartete Ergebnisse **Kernbefunde:** - Nach YAML-Korrektur keine lokale Artefaktablage mehr - Aggregationslauf produziert stabile, vollständige Artefakte - Kernel-Patch eliminiert initialen 1.11 s Offset **Implikationen für Experimente:** - CI-Infrastruktur ist geeignet für Replikationsläufe mit GPS-Referenz - Fehlerhafte Labelverteilung kann signifikante Artefaktverluste verursachen **Planungsziel:** - Ziel: Planung und Durchführung des 10k Bootstrap-Resampling zur Bestimmung der Abweichungsverteilung - Vorgehen: - Automatisierte Analyse über Nacht - Einsammeln von Vergleichstraces über verschiedene Hardwareplattformen ## Limitationen & Fallstricke **Datenbezogene Limitationen:** - Off-by-3 Fehler in Aggregationszählung (496 vs. 499) - Abhängigkeit von GPS-PPS Stabilität bei Tracerfassung **Bootstrap-spezifische Limitationen:** - Bootstrap-Schätzung abhängig von Stichprobengröße und Runner-Stabilität **Praktische Fallstricke:** - Fehlerhafte Runner-Labels führen zu inkonsistenten Artefaktpfaden - Quota-Fehlkonfiguration kann Laufabbrüche verursachen ## Nächste Schritte & Erweiterungen **Geplante Experimente:** - Replikationsmessung mit GPS-PPS auf alternativer Hardware - Überprüfung der Variablen, die alten Baseline-Wert beibehält **Analyseziele:** - Bootstrap 10k zur Konfidenzintervallschätzung - Validierung der Aggregationszählung nach Off-by-3-Fix **Community-Beiträge:** - Freigabe der YAML- und Log-Dateien im Merge Request - Einladung zur Trace-Replikation und Ergebnis-Postings