102 lines
No EOL
3.7 KiB
Markdown
102 lines
No EOL
3.7 KiB
Markdown
# Interferenz Map Analysis
|
||
|
||
## Überblick
|
||
Dieses Projekt – experiment_key: **interferenz_map_analysis** – dient der Analyse und Visualisierung von Interferenz-Messdaten zur Optimierung der Pool-Isolation in Systemen. Daten werden automatisiert verarbeitet, ausgewertet und in einer interaktiven Weboberfläche visualisiert.
|
||
|
||
**Artikel:** [https://donau2space.de/tag-191-interferenz-map-aus-31b-34-ab-wann-lohnt-sich-ein-extra-pool-wirklich/](https://donau2space.de/tag-191-interferenz-map-aus-31b-34-ab-wann-lohnt-sich-ein-extra-pool-wirklich/)
|
||
**Git-Repository:** [https://git.donau2space.de/Mika/interferenz_map_analysis](https://git.donau2space.de/Mika/interferenz_map_analysis)
|
||
|
||
### Hinweis
|
||
Alle Inhalte wurden per KI generiert.
|
||
Nutzung, Anpassung und Weiterentwicklung erfolgen eigenverantwortlich und auf eigenes Risiko. Es wird keine Korrektheit, Sicherheit, Funktionsfähigkeit oder rechtliche Eignung zugesichert.
|
||
|
||
---
|
||
|
||
## Inhalt des Repositories
|
||
|
||
### 1. interferenz_metrics_parser
|
||
- **Art:** python_script
|
||
- **Ziel:** Linux Userspace
|
||
- **Sprachen:** Python
|
||
- **Zweck:** Analyse und Berechnung von Interferenz-Metriken aus Log-Daten.
|
||
|
||
**API-Funktion:**
|
||
- `parse_interference_logs(log_file_path)` – liest Log-Dateien, extrahiert Metriken und gibt eine Liste von JSON-Objekten mit den Feldern `run_id`, `retry_tail_p99`, `band_width` und `mix_ratio` zurück.
|
||
|
||
### 2. interference_visualization
|
||
- **Art:** web_ui
|
||
- **Ziel:** Web
|
||
- **Sprachen:** HTML, CSS, JavaScript
|
||
- **Zweck:** Darstellung einer interaktiven Interferenz-Map basierend auf den analysierten Metriken.
|
||
|
||
**API-Route:**
|
||
- `GET /visualization` – lädt die Visualisierung der Interferenz-Map.
|
||
|
||
**Genutzte Module:** chart.js
|
||
|
||
### 3. cost_scaling_analysis
|
||
- **Art:** python_script
|
||
- **Ziel:** Linux Userspace
|
||
- **Sprachen:** Python
|
||
- **Zweck:** Berechnung der Kosten und Skalierbarkeit von verschiedenen Pool- und Worker-Konfigurationen.
|
||
|
||
**API-Funktion:**
|
||
- `analyze_cost_scalability(worker_count)` – berechnet die Kosten pro Worker und liefert aggregierte Kennzahlen (`worker_count`, `cost_per_worker`, `total_cost`).
|
||
|
||
---
|
||
|
||
## Voraussetzungen (Webserver / Daten)
|
||
- Lokale oder entkoppelte Webserver-Umgebung (z. B. nginx oder Apache)
|
||
- Browser mit Unterstützung für moderne JavaScript-Frameworks
|
||
- Python ≥ 3.9
|
||
|
||
---
|
||
|
||
## Installation & Nutzung
|
||
|
||
### Python-Komponenten
|
||
1. Python-Umgebung vorbereiten:
|
||
```bash
|
||
python3 -m venv venv
|
||
source venv/bin/activate
|
||
pip install -r requirements.txt
|
||
```
|
||
2. Analyse-Skript ausführen:
|
||
```bash
|
||
python3 interferenz_metrics_parser.py --input logs/system.log
|
||
```
|
||
3. Kostenanalyse durchführen:
|
||
```bash
|
||
python3 cost_scaling_analysis.py --workers 32
|
||
```
|
||
|
||
### Web-Frontend starten
|
||
1. Webserver konfigurieren (z. B. nginx auf `localhost:8080`)
|
||
2. Verzeichnis `web_ui/` bereitstellen.
|
||
3. Im Browser `http://localhost:8080/visualization` aufrufen.
|
||
|
||
---
|
||
|
||
## Typische Use-Cases
|
||
- Vergleich von Interferenz-Messungen zwischen verschiedenen Pool-Konfigurationen
|
||
- Untersuchung der Bandbreite und Retry-Latenz im Worker-Bereich
|
||
- Visualisierung von Interferenz-Daten und Entscheidungshilfe für Isolationsstrategien
|
||
- Berechnung der Kosten-Nutzen-Skalierung bei Cluster-Erweiterung
|
||
|
||
---
|
||
|
||
## Struktur & mögliche Erweiterungen
|
||
- **/scripts/** – enthält Python-Skripte zur Analyse
|
||
- **/web_ui/** – enthält die Webanwendung zur Visualisierung
|
||
- **/data/** – optionale Eingabedaten und Log-Beispiele
|
||
|
||
**Erweiterbar um:**
|
||
- zusätzliche Metriken (z. B. CPU-/IO-Interferenz)
|
||
- API-Integrationen zu externen Monitoring-Systemen
|
||
- weitere visuelle Layouts im Frontend
|
||
|
||
---
|
||
|
||
## Lizenz
|
||
Dieses Projekt steht unter der **MIT-Lizenz**.
|
||
Alle Inhalte stammen aus automatisierter KI-Erstellung. Verwendung erfolgt auf eigenes Risiko. |