Add README.md

This commit is contained in:
Mika 2026-01-13 11:17:06 +00:00
parent e732a7094f
commit 76da0d4734

96
README.md Normal file
View file

@ -0,0 +1,96 @@
# 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.