4.1 KiB
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/
Git-Repository: 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)→ Gibtanalysis_resultzurü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)→ Gibtci_statuszurü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)→ Gibtextended_jsonzurü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
- Repository klonen:
git clone https://git.donau2space.de/Mika/cpu_migration_analysis - In das Projektverzeichnis wechseln:
cd cpu_migration_analysis - 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.