From aa0d1d3056aed5bc35aafee9c0d9dbc7e51fbc36 Mon Sep 17 00:00:00 2001 From: Christoph Gerum Date: Fri, 3 Jun 2016 12:11:43 +0200 Subject: [PATCH] Last version 4 --- aufgaben/blatt04/blatt04.md | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/aufgaben/blatt04/blatt04.md b/aufgaben/blatt04/blatt04.md index f275d39..7ac232b 100644 --- a/aufgaben/blatt04/blatt04.md +++ b/aufgaben/blatt04/blatt04.md @@ -1,15 +1,45 @@ Title: Blatt 4 status: hidden -# Parallelrechnerarchitekturen +# Parallelrechnerarchitekturen mit geteiltem Speicher -## Aufgabe 1: Parallelrechnerarchitekturen mit geteiltem Speicher +Führen Sie vor dem Bearbeiten des Blattes wieder einen *git pull* durch. + +## Aufgabe 1: Simulation von Parallelrechnerarchitekturen + +In dieser Aufgabe soll ein Multicoresystem mit gem5 im System Call Emulation Mode simuliert werden. + +Dazu finden Sie im Verzeichnis m5threads dieses Übungsblatts verschiedene Testprogramme. + +Zum Übersetzen der Testprogramme installieren Sie zunächst einen C++-Compiler für das Zielsystem: + + sudo apt-get install g++-arm-linux-gnueabihf -y + +Wechseln Sie nun in das Verzeichnis dieses Aufgabenblatts. +Die Testprogramme lassen sich dann mit dem Folgenden Befehl übersetzen: + + make -C m5threads/tests/ + +Das Verzeichnis *m5threads/tests/test_omp* enthält nun eine parallelisierte Implementierung einer Matrixmultiplikation. +Der Benchmark kann mit der folgenden Kommandozeile ausgeführt werden. + + ${GEM5_DIR}/build/ARM/gem5.opt MCConfig.py -c m5threads/tests/test_omp -o "$n $s" -n $n + +Wobei $n durch die Anzahl der Rechenkerne und $s durch die Größe der Matrizen ersetzt werden muss. + +Führen Sie Performance Simulationen für verschiedene Matrixgrößen im Bereich 32-512 und Rechenkerne im Bereich von 1-4 durch. +Wie verhält sich der Speedup des Programms. Stellen Sie die Messergebnisse in einem Schaubild grafisch dar. ### Fragen +- Erstellen Sie ein Grafische-Darstellung des durch die Konfigurationsdatei *MCConfig.py* beschriebenen systems wenn zwei Prozessorkerne simuliert werden. +- Parallelrechnerarchitekturen mit geteiltem virtuellen Addressraum werden in UMA- und NUMA-Architekturen unterschieden. + Beschreiben Sie die Vor- und Nachteile der beiden Architekturarten kurz. +- Welche der beiden Architekturarten wird durch *MCConfig.py* beschrieben. + ### Abgabe -1. der Quellcode des Programms und die verwendete gem5 konfiguration +1. die Messungen des Speedups 2. die Antworten auf die Fragen ## Aufgabe 2: Superlinearer Speedup -- GitLab