This commit is contained in:
Marco Ammon 2019-09-28 13:58:01 +02:00
parent 419a143c72
commit f6839adcd9
3 changed files with 4 additions and 7 deletions

View File

@ -125,7 +125,7 @@
\item Remote Memory Access mit Speicherfenstern: \begin{itemize} \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_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_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 \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} \end{itemize}
\item Multi-Threading-Unterstützung mit \lstinline|MPI_Init_thread(int **argc, char ***argv, int required, int *provided)|:\begin{itemize} \item Multi-Threading-Unterstützung mit \lstinline|MPI_Init_thread(int **argc, char ***argv, int required, int *provided)|:\begin{itemize}

View File

@ -5,7 +5,7 @@
\item Grad eines Knoten: Anzahl seiner direkten Nachbarknoten \item Grad eines Knoten: Anzahl seiner direkten Nachbarknoten
\item Grad eines Netzes: höchster Grad eines seiner Knoten \item Grad eines Netzes: höchster Grad eines seiner Knoten
\item Distanz eines Knotenpaares: Länge des kürzesten Pfad zwischen beiden 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 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 \item Bisektionsbreite: minimale Anzahl an zu entfernenden Kanten, um das Netz in zwei disjunkte, gleich große Teilnetze aufzuteilen
\end{itemize} \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{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{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 \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} \end{itemize}
\item dynamisch (\begriff{Schaltnetzwerk}):\begin{itemize} \item dynamisch (\begriff{Schaltnetzwerk}):\begin{itemize}
\item zusätzlich Schalter und dedizierte Schaltstufen \item zusätzlich Schalter und dedizierte Schaltstufen

View File

@ -7,10 +7,7 @@
\item insbesondere TCP besitzt viele schwergewichtige Sicherungsmechanismen (+ Slow-Start) \item insbesondere TCP besitzt viele schwergewichtige Sicherungsmechanismen (+ Slow-Start)
\end{itemize} \end{itemize}
\item wichtige Aspekte für effiziente Kommunikation: \begin{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 Mechanismus für Datentransfer (\begriff{Programmed IO} (PIO) vs. \begriff{Direct Memory Access} (DMA)): RAM $\rightarrow$ NIC, NIC $\rightarrow$ NIC, NIC $\rightarrow$ RAM
\item RAM $\rightarrow$ NIC, NIC $\rightarrow$ NIC, NIC $\rightarrow$ RAM
\item
\end{itemize}
\item Speicherverwaltung (schnelles Auflösen virtueller Adressen, Pinning von für DMA relevanten Pages) \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 Schutz für Userspace-Adressräume (private DMA-Bereiche)
\item Benachrichtigung beim Empfänger (Polling vs. Interrupts) \item Benachrichtigung beim Empfänger (Polling vs. Interrupts)