96 lines
No EOL
4.1 KiB
Markdown
96 lines
No EOL
4.1 KiB
Markdown
# 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. |