affinity_and_parallelism_in.../README.md
2026-03-21 17:02:41 +00:00

101 lines
No EOL
4.1 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Affinitäts- und Parallelitätsinteraktion
## Überblick
Dieses Experiment („experiment_key: affinity_and_parallelism_interaction“) untersucht die Interaktion zwischen Prozessoraffinität und Parallelität in einem verteilten System. Ziel ist es, die Auswirkungen dieser beiden Faktoren auf Bandbreite und Retry-Tail (Verzögerungsverteilung) zu verstehen und zu quantifizieren.
**Artikel:** [https://donau2space.de/tag-184-run-30-2x-affinitaet-toggle-addiert-sich-das-oder-greift-es-ineinander/](https://donau2space.de/tag-184-run-30-2x-affinitaet-toggle-addiert-sich-das-oder-greift-es-ineinander/)
**Git-Repository:** [https://git.donau2space.de/Mika/affinity_and_parallelism_interaction](https://git.donau2space.de/Mika/affinity_and_parallelism_interaction)
### 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
Dieses Repository enthält Datensätze, Analyseskripte und begleitende Dokumentation, um die beschriebenen Experimente reproduzierbar durchzuführen und zu analysieren.
### Artefakt-Liste
#### 1. effect_sizes_table
- **Art:** CSV-Datensatz (`csv_dataset`)
- **Zielplattform:** gemischt
- **Sprache/Formate:** CSV
- **Zweck:** Enthält die gemessenen Effektgrößen der experimentellen Läufe. Die Tabelle bildet Runs mit verschiedenen Kombinationen aus Affinitäts- und Parallelitätseinstellungen ab.
- **Struktur:**
- Tabellenname: `EffectSizes`
- Felder:
- `Run`
- `Parallelität`
- `Affinität`
- `bandwidth (IQR, h)`
- `retrytail_p99 (Δ vs. Baseline)`
#### 2. affinity_parallelism_model
- **Art:** Python-Skript (`python_script`)
- **Zielplattform:** Linux Userspace
- **Sprache:** Python
- **Zweck:** Simulation und Analyse der Wechselwirkungen zwischen Affinität und Parallelität. Berechnung von Effektgrößen und Erstellung zusammenfassender Kennzahlen.
- **Verfügbare API-Funktion:**
- `simulate_effects(parallelism_level, affinity_type) → effect_summary`
Führt eine Simulation basierend auf dem gewählten Parallelitätsgrad und dem Affinitätsmodus aus und gibt einen Effektbericht zurück.
- **Datentypen:**
- `EffectSummary` (JSON):
- `bandwidth`
- `retry_tail`
#### 3. experiment_documentation
- **Art:** Nur-Dokumentation (`doc_only`)
- **Zielplattform:** gemischt
- **Sprache:** Text/Markdown
- **Zweck:** Enthält eine detaillierte Beschreibung der Versuchsaufbauten, Hypothesen, methodischen Annahmen und Beobachtungen.
---
## Installation & Nutzung
### Voraussetzungen
- Python ≥ 3.8
- Linux-Umgebung oder kompatible Shell
- Pandas (für Analysen und CSV-Verarbeitung)
- Matplotlib oder Seaborn (optional für grafische Auswertungen)
### Beispielaufruf
1. Repository klonen:
`git clone https://git.donau2space.de/Mika/affinity_and_parallelism_interaction`
2. Abhängigkeiten installieren:
`pip install -r requirements.txt`
3. Simulation ausführen (Beispiel):
`python affinity_parallelism_model.py --parallelism_level 4 --affinity_type socket`
---
## Typische Use-Cases
- Analyse der Auswirkung von Prozess-Affinität auf das Parallelverhalten.
- Quantitative Bewertung der Bandbreitenverteilung unter verschiedenen Parallelisierungsszenarien.
- Untersuchung von Trade-offs zwischen Retry-Verhalten und Systemauslastung.
- Entwicklung von Scheduling-Strategien für Multicore-Systeme.
---
## Struktur & mögliche Erweiterungen
- **Daten:** `effect_sizes_table` zentrale Quelle für Messergebnisse
- **Simulation:** `affinity_parallelism_model` Analyse- und Simulationslogik
- **Dokumentation:** `experiment_documentation` methodischer Kontext
Erweiterungsmöglichkeiten:
- Ergänzung weiterer Datensätze für andere Hardwarekonfigurationen
- Integration zusätzlicher Metriken (z.B. Latenzvarianz)
- Erweiterung des Python-Skripts um CLI-Parameter und Konfigurationsdateien
---
## Lizenz
Dieses Projekt steht unter der **MIT-Lizenz**.
Die hier dargestellten Inhalte wurden automatisch mittels KI erzeugt. Nutzung und Weiterverarbeitung erfolgen auf eigenes Risiko.