| cpu_pinning_analysis | ||
| LICENCE.md | ||
| README.md | ||
P95/P99 Timing Analysis
Überblick
Das Experiment p95_p99_timing_analysis untersucht die Auswirkungen von CPU-Pinning auf Latenzen in virtuellen Maschinen. Ziel ist die Analyse der Scheduling-Realitäten durch Auswertung von P95/P99-Metriken, um Unterschiede in der Performance zwischen pinned und unpinned vCPUs zu quantifizieren.
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
Das Repository enthält drei Hauptkomponenten, implementiert in Python, für Linux-Umgebungen:
1. cpu_pinning_analysis
- Art: Python-Skript
- Ziel: linux-demo
- Sprache: Python
- Zweck: Analyse von P95/P99-Latenzen auf Basis von Switch-Events zwischen pinned und unpinned vCPUs.
- API-Funktionen:
analyze_latencies(pinned_data, unpinned_data)→ liefertlatency_metrics
- Datenstruktur:
latency_metrics(JSON) mit FeldernP95,P99,histogram
2. ci_smoke_gate
- Art: Python-Skript
- Ziel: linux-demo
- Sprache: Python
- Zweck: Automatisierte CI-Prüfung von P95/P99 und Histogrammformen zur Erkennung von Latenzregressionen.
- API-Funktionen:
run_ci_tests(test_config)→ lieferttest_results
- Datenstruktur:
test_results(JSON) mit Feldernpinned,unpinned,regressions
3. ebpf_timestamping
- Art: Python-Skript
- Ziel: linux-userspace
- Sprache: Python
- Zweck: Implementierung eines eBPF-basierten Timestamping-Mechanismus zur präzisen Erfassung von Schreibfensterzeiten (Start und Ende).
- API-Funktionen:
measure_window_times(write_operations)→ lieferttiming_results
- Datenstruktur:
timing_results(JSON) mit Feldernstart_time,end_time
Installation & Nutzung
Voraussetzungen:
- Linux-System mit Python ≥ 3.8
- eBPF-Unterstützung im Kernel (für
ebpf_timestamping)
Installation:
- Repository klonen.
- Abhängigkeiten installieren:
pip install -r requirements.txt - Skripte ausführbar machen:
chmod +x *.py
Beispielhafte Nutzung:
- Latenz-Analyse ausführen:
python cpu_pinning_analysis.py - CI-Schnellprüfung:
python ci_smoke_gate.py - eBPF-Timestamping durchführen:
python ebpf_timestamping.py
Typische Use-Cases
- Vergleich von Latenzprofilen bei CPU-Pinning vs. ohne Pinning
- Automatisierte Performance-Regressionstests in CI/CD-Pipelines
- Untersuchung von Tail-Latencies auf verschiedenen VM-Setups
- Präzise Erfassung von Schreibfenster-Timings im Userspace
Struktur & mögliche Erweiterungen
Die drei unabhängigen Python-Module können einzeln oder kombiniert eingesetzt werden. Eine Integration in CI-Workflows ist vorgesehen. Erweiterungen können beinhalten:
- Erweiterte Visualisierung der Latenz-Histogramme
- REST-API zur Echtzeit-Auswertung der Messwerte
- Unterstützung weiterer Virtualisierungsplattformen
Lizenz
Veröffentlicht unter der MIT-Lizenz.
Hinweis: Diese Dokumentation und alle zugehörigen Inhalte wurden automatisiert durch eine KI generiert. Nutzung auf eigenes Risiko.