# CPU-Migration-Analyse ## Überblick Dieses Repository dokumentiert das Experiment **cpu_migration_analysis**, eine Analyse der CPU-Migration und deren Einfluss auf Leistungsmuster bei Niesellicht-Tests in Passau. Ziel ist es, Muster in Trace-Daten zu erkennen, die durch CPU-Wechsel und Reorder-Effekte entstehen. **Link zum Artikel:** [https://donau2space.de/tag-117-1208-niesellicht-ueber-passau-und-ich-beweise-mir-mit-zwei-runs-dass-ohne-cpu-wechsel-fast-nie-ohne-reorder-heisst/](https://donau2space.de/tag-117-1208-niesellicht-ueber-passau-und-ich-beweise-mir-mit-zwei-runs-dass-ohne-cpu-wechsel-fast-nie-ohne-reorder-heisst/) **Git-Repository:** [https://git.donau2space.de/Mika/cpu_migration_analysis](https://git.donau2space.de/Mika/cpu_migration_analysis) ### Hinweis Alle Inhalte wurden per KI generiert. Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert. --- ## Inhalt des Repositories ### 1. trace_analysis - **Art:** Python-Skript - **Ziel:** Linux-Userspace - **Sprachen:** Python - **Zweck:** Analyse von Trace-Daten zur Ermittlung von CPU-Wechseln und Reorder-Scores. - **API-Funktion:** - `analyze_trace(trace_data)` → Gibt `analysis_result` zurück. Führt eine datengetriebene Untersuchung von CPU-Migrationsmustern und Reorder-Korrelationen aus. - **Datenstruktur:** - `TraceData` (Typ: JSON) mit Feldern: `timestamp`, `cpu_path`, `reorder_score`, `mixed_snapshot_signature_count`. ### 2. ci_smoke_gate - **Art:** Python-Skript - **Ziel:** Linux-Userspace - **Sprachen:** Python - **Zweck:** Implementiert CI-Prüfungen zur Überwachung von Publish-Reorder- und Mixed-Snapshot-Parametern. - **API-Funktion:** - `check_ci_gate(publish_reorder_count, mixed_snapshot_signature_count, seqcount_retry_count, reorder_score)` → Gibt `ci_status` zurück. Bewertet Stabilität und Wiederholbarkeit der Analyse-Läufe. ### 3. json_export_extension - **Art:** Python-Skript - **Ziel:** Linux-Userspace - **Sprachen:** Python - **Zweck:** Erweiterung des JSON-Exports für zusätzliche Analysemetriken. - **API-Funktion:** - `extend_json_export(base_data)` → Gibt `extended_json` zurück. Erweitert bestehende Datensätze um erweiterte Metriken. - **Datenstruktur:** - `ExtendedJsonData` (Typ: JSON) mit Feldern: `seqcount_retry_count`, `mixed_snapshot_signature`. --- ## Installation & Nutzung ### Voraussetzungen - Linux-basierte Umgebung - Python ≥ 3.8 - Standardmodule: `json`, `os`, `argparse`, `logging` ### Installation 1. Repository klonen: `git clone https://git.donau2space.de/Mika/cpu_migration_analysis` 2. In das Projektverzeichnis wechseln: `cd cpu_migration_analysis` 3. Abhängigkeiten installieren (falls vorhanden): `pip install -r requirements.txt` ### Ausführung Beispiele für manuelle Nutzung: - **Trace-Analyse ausführen:** `python trace_analysis.py --input traces/data_sample.json` - **CI-Smoke-Test:** `python ci_smoke_gate.py --check all` - **Erweiterten JSON-Export durchführen:** `python json_export_extension.py --extend results/base.json` --- ## Typische Use-Cases - Validierung von CPU-Migrationsmustern in Mikrobenchmarks. - Vergleich von Reorder-Scores zwischen verschiedenen Kernel-Builds. - Erweiterung bestehender Analysepipelines mit JSON-Exporten. - Automatisierte CI-Validierung bei Änderungen im Performance-Test-Framework. --- ## Struktur & Erweiterbarkeit Das Repository ist modular aufgebaut. Jede Komponente (Analyse, CI-Überwachung, Export) kann einzeln genutzt oder in bestehende Pipelines integriert werden. Erweiterungen können durch zusätzliche Skripte oder API-Funktionen erfolgen. Datenaustausch erfolgt standardisiert über JSON. Vorgesehene Erweiterungen: - GPU-Unterstützung für Trace-Auswertung - Visualisierung der Reorder-Scores - Erweiterte CI-Berichterstattung mit Threshold-Tracking --- ## Lizenz Dieses Projekt steht unter der **MIT-Lizenz**. Copyright (c) Mika Code Lab. Die Inhalte wurden automatisch generiert. Nutzung erfolgt auf eigene Verantwortung.