diff --git a/2-6-pgas.tex b/2-6-pgas.tex index 2c407e6..8be34f6 100644 --- a/2-6-pgas.tex +++ b/2-6-pgas.tex @@ -1 +1,30 @@ -\subsection{PGAS} \ No newline at end of file +% !TeX spellcheck = de_DE +\subsection{Partitioned Global Address Space (PGAS)} +\begin{itemize} + \item verschiedene Adressräume: \begin{itemize} + \item viele lokale (z.B. für Stack, temporäre Variablen, \textellipsis) + \item ein globaler (z.B. für gemeinsam genutzte Datenstrukturen, Konstanten, \textellipsis) verteilt auf lokal zugeordnete Bereiche + \end{itemize} + \item damit auch von Adressraum abhängige lokale bzw. globale Referenzen + \item für Singlecore-Cluster: \begin{itemize} + \item \textsc{Unified Parallel C} (UPC): \begin{itemize} + \item C-Erweiterung + \item \texttt{shared}-Pointer für globale Referenzen + \item Bibliotheksprimitiven für parallele Ausführung, Synchronisation, kollektive Operationen, \textellipsis + \item Arrays können block-zyklisch verteilt werden: \texttt{shared[b] int a[n]} (Blockgröße $b$ bei $n$ Elementen) + \end{itemize} + \item \textsc{Titanium}: \begin{itemize} + \item Java-Erweiterung + \item \texttt{local} markiert lokale Daten + \item Bibliotheksprimitiven für Synchronisation, immutable Datenstrukturen, \textellipsis + \item Datenverteilung: \begin{itemize} + \item \textbf{TODO} + \end{itemize} + \end{itemize} + \end{itemize} + \item Multicore-Cluster: \begin{itemize} + \item Chapel: \begin{itemize} + \item + \end{itemize} + \end{itemize} +\end{itemize} \ No newline at end of file