host_vs_vm_correlation_anal.../README.md
2025-12-25 16:37:22 +00:00

3.8 KiB
Raw Blame History

Host vs VM Correlation Analysis

Überblick

Dieses Repository dokumentiert das Experiment host_vs_vm_correlation_analysis. Es untersucht Leistungs- und Verhaltensunterschiede zwischen Host- und Virtual-Machine-Umgebungen anhand einer Correlation-ID. Der Fokus liegt auf der Analyse des TTWU-Mechanismus (try_to_wake_up) und der Auswertung der zugehörigen wake_flags.

Mehr Informationen im Artikel: https://donau2space.de/tag-98-1731-weihnachtsklarheit-ueber-passau-eine-correlation-id-zieht-ttwu-auseinander-host-vs-vm/

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. correlation_id_generation

  • Art: Python-Skript
  • Ziel: Linux Userspace
  • Sprachen: Python
  • Zweck: Generierung und Nachverfolgung einer Correlation-ID über mehrere Systemaufrufe zur Zuordnung von Host- und VM-Ereignissen.

API-Funktionen:

  • generate_correlation_id(tgid, pid, run_seq) → Erzeugt eine eindeutige Correlation-ID auf Basis von Prozessparametern.
  • log_task_state(task, state_before, state_after) → Protokolliert Zustandsänderungen eines Tasks.

Datenstruktur:

  • CorrelationData (JSON): Felder correlation_id, tgid, pid, timestamp

2. ttwu_analysis

  • Art: Python-Skript
  • Ziel: Linux Userspace
  • Sprachen: Python
  • Zweck: Analyse von TTWU-Stacks und wake_flags zur Ermittlung von Differenzen im Scheduling-Verhalten zwischen Host und VM.

API-Funktionen:

  • analyze_ttwu_stacks(host_data, vm_data) → Führt eine Cluster-basierte Analyse von TTWU-Stacks durch und liefert Abweichungsmetriken.

Datenstruktur:

  • StackAnalysisResult (JSON): Felder cluster_a, cluster_b, offset

3. trace_aggregator

  • Art: Python-Skript
  • Ziel: Linux Userspace
  • Sprachen: Python
  • Zweck: Aggregation von TTWU-Traces basierend auf wake_flags zur Vereinfachung der statistischen Auswertung.

API-Funktionen:

  • aggregate_traces(trace_data, wake_flags) → Aggregiert Trace-Daten nach bestimmten wake_flags-Kriterien und liefert ein konsolidiertes Analyseobjekt.

Datenstruktur:

  • TraceData (JSON): Felder trace_id, flags, timestamp

Installation & Nutzung

Voraussetzungen:

  • Linux-Umgebung mit Python ≥ 3.8
  • Zugriff auf entsprechende Trace-Daten (Host und VM)

Installation

  1. Klonen des Repositories:
    git clone https://github.com/example/host_vs_vm_correlation_analysis.git
    cd host_vs_vm_correlation_analysis
    
  2. Abhängigkeiten installieren:
    pip install -r requirements.txt
    

Beispielausführung

python correlation_id_generation.py
python ttwu_analysis.py --host host_trace.json --vm vm_trace.json
python trace_aggregator.py --input traces.json --flags wake_flags.cfg

Typische Use-Cases

  • Vergleich von Scheduling-Latenzen zwischen Host und VM.
  • Untersuchung von Wakeup-Sequenzen mithilfe von Correlation-IDs.
  • Analyse und Clustering von TTWU-Stacks.
  • Aggregation von Trace-Daten aus mehreren Quellen.

Struktur & mögliche Erweiterungen

  • Erweiterbar um Kernelmodul-Unterstützung für direkte Trace-Erfassung.
  • Integration von grafischen Analysemodulen oder Dashboards möglich.
  • Erweiterung der API um Live-Monitoring-Schnittstellen.

Lizenz

Dieses Projekt steht unter der MIT-Lizenz.

Haftungsausschluss: Alle Inhalte wurden automatisch von einer KI generiert. Nutzung und Weiterentwicklung erfolgen auf eigenes Risiko. Keine Gewährleistung für Funktion, Genauigkeit oder rechtliche Verwendbarkeit.