PGAS: Multicore-Sprachen

This commit is contained in:
Marco Ammon 2019-09-15 15:25:23 +02:00
parent 10f0f05a9d
commit 8d290ac526
1 changed files with 20 additions and 4 deletions

View File

@ -16,15 +16,31 @@
\item \textsc{Titanium}: \begin{itemize}
\item Java-Erweiterung
\item \texttt{local} markiert lokale Daten
\item Bibliotheksprimitiven für Synchronisation, immutable Datenstrukturen, \textellipsis
\item Bibliotheksprimitiven für Synchronisation, unveränderliche Datenstrukturen, \textellipsis
\item Datenverteilung: \begin{itemize}
\item \textbf{TODO}
\item mittels \texttt{broadcast}/\texttt{exchange}
\end{itemize}
\end{itemize}
\end{itemize}
\item Multicore-Cluster: \begin{itemize}
\item Chapel: \begin{itemize}
\item
\item häufig anderer Ansatz: Sicht auf globales Programm mit expliziter Parallelität und eigenständige Programmiersprachen statt Erweiterung bestehender imperativer Sprachen
\item \textsc{Chapel}: \begin{itemize}
\item explizite Parallelität: \begin{itemize}
\item Datenparallelität: verteilte Arrays mit Domänen auf verschiedenen Lokalitäten
\item Taskparallelität: leichtgewichtige Aktivitäten
\end{itemize}
\item Speicherlayout: \begin{itemize}
\item Zerlegung des globalen Adressbereichs in \texttt{locales}, welche jeweils einem Rechner entsprechen
\item Arrays werden über Domänen erzeugt, mit denen gerechnet werden kann, dann Zuordnung von Index zu Lokalität
\end{itemize}
\end{itemize}
\item \textsc{X10}: \begin{itemize}
\item Speicherlayout: \begin{itemize}
\item Zerlegung des Adressbereichs in \texttt{places}
\item Variablen unveränderlich, lokal und geteilt bei Deklaration
\item Zugriff auf Variablen über Aktivitätsgrenzen auf gleichen Place beschränkt
\item Zugriff auf Variablen in anderen Places durch (temporäre) Verlagerung des Programmflusses auf den jeweiligen Place
\end{itemize}
\end{itemize}
\end{itemize}
\end{itemize}