From f6839adcd9b0faefde70a90e0f3ca863bd5c4861 Mon Sep 17 00:00:00 2001 From: Marco Ammon Date: Sat, 28 Sep 2019 13:58:01 +0200 Subject: [PATCH] Fixes --- 2-3-mpi.tex | 2 +- 3-2-topologien.tex | 4 ++-- 3-6-kommunikation.tex | 5 +---- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/2-3-mpi.tex b/2-3-mpi.tex index e6c822d..13626fb 100644 --- a/2-3-mpi.tex +++ b/2-3-mpi.tex @@ -125,7 +125,7 @@ \item Remote Memory Access mit Speicherfenstern: \begin{itemize} \item \lstinline|MPI_Win_create (void *base, int size, int disp_unit, MPI_Info info, MPI_Comm comm MPI_Win *win)|: kollektives Erstellen eines Fensters \item \lstinline|MPI_Put(void *buffer, int or_count, MPI_Datatype or_type, int ta_rank, MPI_Aint ta_disp, int ta_count, MPI_Datatype ta_type, MPI_Win win)|: Schreiben in entferntes Speicherfenster - \item \lstinline|MPI_Win_fende(MPI_Win win)|: Synchronisation bezüglich des Fensters + \item \lstinline|MPI_Win_fence(MPI_Win win)|: Synchronisation bezüglich des Fensters \item \lstinline|MPI_Accumulate(void *buffer, int or_count, MPI_Datatype or_type, int ta_rank, MPI_Aint ta_disp, int ta_count, MPI_Datatype ta_type, MPI_Op op, MPI_Win win)|: wie \texttt{MPI\_Reduce} auf entfernten Speicherfenstern \end{itemize} \item Multi-Threading-Unterstützung mit \lstinline|MPI_Init_thread(int **argc, char ***argv, int required, int *provided)|:\begin{itemize} diff --git a/3-2-topologien.tex b/3-2-topologien.tex index 1a4840d..e30a356 100644 --- a/3-2-topologien.tex +++ b/3-2-topologien.tex @@ -5,7 +5,7 @@ \item Grad eines Knoten: Anzahl seiner direkten Nachbarknoten \item Grad eines Netzes: höchster Grad eines seiner Knoten \item Distanz eines Knotenpaares: Länge des kürzesten Pfad zwischen beiden Knoten - \item Durchmesser des Netzes: Größte Distanz eines Knotenpaares im Netz + \item Durchmesser des Netzes: größte Distanz eines Knotenpaares im Netz \item Kantenkonnektivität: minimale Anzahl an zu entfernenden Kanten, um das Netz in zwei disjunkte Teilnetze aufzuteilen \item Bisektionsbreite: minimale Anzahl an zu entfernenden Kanten, um das Netz in zwei disjunkte, gleich große Teilnetze aufzuteilen \end{itemize} @@ -29,7 +29,7 @@ \item \begriff{Butterfly}: $k_i \leftrightarrow k_{i,\text{reversed}}$ \item \begriff{Bus}: Grad 1, Durchmesser 1, Kantenkonnektivität 1, Bisektionsbreite 1 \item \begriff{voll-vermaschtes} Netz: Grad $n-1$, Durchmesser 1, Kantenkonnektivität $n-1$, Bisektionsbreite $\leq \frac{n^2}{4}$ \item \begriff{Ring}: Grad 2, Durchmesser $\lfloor\frac{n}{2}\rfloor$, Kantenkonnektivität 2, Bisektionsbreite 2 - \item $d$-dimensionales \begriff{Gitter}: Grad $2d$, Durchmesser $d \cdot \left(\sqrt[d]{n}-1\right)$, Kantenkonnektivität $d$. Bisektionsbreite $\left(\sqrt[d]{n}\right)^{d-1}$ + \item $d$-dimensionales \begriff{Gitter}: Grad $2d$, Durchmesser $d \cdot \left(\sqrt[d]{n}-1\right)$, Kantenkonnektivität $d$, Bisektionsbreite $\left(\sqrt[d]{n}\right)^{d-1}$ \end{itemize} \item dynamisch (\begriff{Schaltnetzwerk}):\begin{itemize} \item zusätzlich Schalter und dedizierte Schaltstufen diff --git a/3-6-kommunikation.tex b/3-6-kommunikation.tex index 8fc678a..c206f84 100644 --- a/3-6-kommunikation.tex +++ b/3-6-kommunikation.tex @@ -7,10 +7,7 @@ \item insbesondere TCP besitzt viele schwergewichtige Sicherungsmechanismen (+ Slow-Start) \end{itemize} \item wichtige Aspekte für effiziente Kommunikation: \begin{itemize} - \item Mechanismus für Datentransfer (\begriff{Programmed IO} (PIO) vs. \begriff{Direct Memory Access} (DMA)): \begin{itemize} - \item RAM $\rightarrow$ NIC, NIC $\rightarrow$ NIC, NIC $\rightarrow$ RAM - \item - \end{itemize} + \item Mechanismus für Datentransfer (\begriff{Programmed IO} (PIO) vs. \begriff{Direct Memory Access} (DMA)): RAM $\rightarrow$ NIC, NIC $\rightarrow$ NIC, NIC $\rightarrow$ RAM \item Speicherverwaltung (schnelles Auflösen virtueller Adressen, Pinning von für DMA relevanten Pages) \item Schutz für Userspace-Adressräume (private DMA-Bereiche) \item Benachrichtigung beim Empfänger (Polling vs. Interrupts)