93 lines
No EOL
3.9 KiB
Text
93 lines
No EOL
3.9 KiB
Text
# Affinity Effect on Band Structure
|
||
|
||
## Überblick
|
||
Dieses Repository dokumentiert das Experiment **affinity_effect_on_band_structure**. Ziel ist die Untersuchung des Einflusses der Worker-Affinität auf die Struktur und Verteilung des Resonanzbands in einem verteilten System. Zwei Betriebsmodi wurden analysiert: *affinity enforced* und *affinity off*.
|
||
|
||
**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.
|
||
|
||
**Artikel:** [https://donau2space.de/tag-182-run-28-single-toggle-klebt-das-resonanzband-an-worker-affinitaet-oder-nur-an-der-queue/](https://donau2space.de/tag-182-run-28-single-toggle-klebt-das-resonanzband-an-worker-affinitaet-oder-nur-an-der-queue/)
|
||
**Git Repository:** [https://git.donau2space.de/Mika/affinity_effect_on_band_structure](https://git.donau2space.de/Mika/affinity_effect_on_band_structure)
|
||
|
||
---
|
||
|
||
## Inhalt des Repositories
|
||
Das Repository enthält mehrere Python-Skripte zur Analyse der Bandstruktur und der Worker-Affinität.
|
||
|
||
### Artefaktübersicht
|
||
|
||
#### 1. artifact_1_bandwidth_analysis
|
||
- **Art:** python_script
|
||
- **Ziel:** Linux Userspace
|
||
- **Sprachen:** Python
|
||
- **Zweck:** Analyse der Bandbreite und des Bandzentrums in beiden Affinitätsmodi.
|
||
- **API-Funktionen:**
|
||
- `analyze_bandwidth(data_enforced, data_randomized)` – Berechnet Bandbreiten- und Bandzentrum-Werte.
|
||
- **Datenstrukturen:**
|
||
- `band_analysis_result` (JSON) mit Feldern: *band_center*, *band_width*
|
||
|
||
#### 2. artifact_2_worker_binding_analysis
|
||
- **Art:** python_script
|
||
- **Ziel:** Linux Userspace
|
||
- **Sprachen:** Python
|
||
- **Zweck:** Untersuchung der Bindung von Bandpopulationen an Worker-IDs in beiden Modi.
|
||
- **API-Funktionen:**
|
||
- `analyze_worker_binding(data_enforced, data_randomized)` – Ermittelt Bindungsstatistiken der Worker.
|
||
- **Datenstrukturen:**
|
||
- `worker_binding_result` (JSON) mit Feldern: *worker_id*, *population_percentage*
|
||
|
||
#### 3. artifact_3_retry_tail_analysis
|
||
- **Art:** python_script
|
||
- **Ziel:** Linux Userspace
|
||
- **Sprachen:** Python
|
||
- **Zweck:** Analyse der Retry-Tails in Bezug auf Worker-Affinität.
|
||
- **API-Funktionen:**
|
||
- `analyze_retry_tails(data_enforced, data_randomized)` – Berechnet Retry-Tail-Werte.
|
||
- **Datenstrukturen:**
|
||
- `retry_tail_result` (JSON) mit Feld: *retry_tail_p99*
|
||
|
||
---
|
||
|
||
## Installation & Nutzung
|
||
|
||
### Voraussetzungen
|
||
- Python 3.8 oder neuer
|
||
- Empfohlene Abhängigkeiten: numpy, pandas, matplotlib
|
||
|
||
### Installation
|
||
1. Repository klonen:
|
||
`git clone https://git.donau2space.de/Mika/affinity_effect_on_band_structure`
|
||
2. Abhängigkeiten installieren:
|
||
`pip install -r requirements.txt`
|
||
|
||
### Nutzung
|
||
Die Skripte werden direkt im Terminal oder über Python ausgeführt:
|
||
- Beispiel:
|
||
`python artifact_1_bandwidth_analysis.py --input data/affinity_measurements.json`
|
||
|
||
Eingabedaten liegen als JSON-Dateien mit Messwerten für *affinity enforced* und *affinity off* vor.
|
||
|
||
---
|
||
|
||
## Typische Use-Cases
|
||
- Vergleich der Bandstruktur zwischen verschiedenen Affinitätsmodi.
|
||
- Bewertung der Auswirkungen von Worker-Zuweisungen auf Systemleistung.
|
||
- Analyse von Retry-Tail-Verhalten in Hochlastsituationen.
|
||
- Visualisierung der Resonanzbandverteilung pro Worker-ID.
|
||
|
||
---
|
||
|
||
## Struktur & Erweiterbarkeit
|
||
Das Repository ist modular aufgebaut. Jedes Python-Skript implementiert eine isolierte Analysefunktion mit klar definierten JSON-Ein- und -Ausgabeformaten. Dies erleichtert die Integration neuer Analyseverfahren oder die Erweiterung um zusätzliche Metriken.
|
||
Neue Artefakte sollten die bestehende API-Struktur übernehmen und in der *band_analysis_pipeline* eingebunden werden.
|
||
|
||
---
|
||
|
||
## Lizenz
|
||
Dieses Projekt steht unter der **MIT-Lizenz**.
|
||
|
||
---
|
||
|
||
*Diese README-Datei wurde automatisch erzeugt. Nutzung erfolgt auf eigene Verantwortung.* |