PACL-Zusammenfassung/3-3-anwendungen.tex

43 lines
3.0 KiB
TeX

% !TeX spellcheck = de_DE
\subsection{Beispielanwendungen}
\begin{itemize}
\item numerisch: Abbildung partieller Differentialgleichungen\begin{itemize}
\item parallele Simulation disjunkter Abschnitte
\item Verteilung disjunkter Zeit- und Werteintervalle durch einen Master-Knoten
\item Kommunikation von Grenzwerten für benachbarte Bereiche wichtig
\end{itemize}
\item Klimamodellierung für Ozeane: Partitionierung von Gittern\begin{itemize}
\item verschiedene Skalen notwendig
\item Partionierung des Problemfelds von großer Bedeutung, um Kommunikation möglichst gering zu halten
\item reguläre, statische Partionierung (etwa durch Modulo-Operation mit Knotenzahl) sorgt für ungleiche Last-Verteilung (z.B. Landmassen)
\item irreguläre Partitionierung: \begin{itemize}
\item Entfernung ungenutzter Prozessoren und Ermittlung des nächstliegenden aktiven Prozessors
\item für jeden Prozessor die Anzahl der \enquote{vorherigen}, inaktiven Prozessoren bestimmen
\item aktive Nachbarn bestimmen, indem von Koordinate die inaktiven Prozessoren abgezogen werden (Verschiebung?)
\end{itemize}
\end{itemize}
\item Parameterstudien / Ensemble-Simulationen: Entwurf und Simulation von Mikrosystemen\begin{itemize}
\item jeder einzelne Parametersatz kann unabhängig simuliert werden
\item Master-Programm wertet Ergebnisse aus und erzeugt Jobs mit neuen Parametersätzen
\item Job- und Ressourcen-Verwaltungssystem muss auf Durchsatz optimiert sein, dafür möglichst immer alle verfügbaren Ressourcen verwenden (\begriff{opportunistisch})
\item zusätzlich Fehler- und Ausfallbehandlung wichtig
\item Beispiel: \textsc{Condor}:\begin{itemize}
\item \enquote{ClassAd}-Matchmaking ordnet Anforderungen zu gegebenen Ressourcen zu: \begin{itemize}
\item Knoten publizieren klassifizierte Anzeigen ihrer Rechenleistung und Hardware-Ausstattung
\end{itemize}
\item Checkpoints sichern Prozesszustand periodisch und können bei Fehlern auf anderen Knoten wiederhergestellt werden (\begriff{Migration}):\begin{itemize}
\item Realisierung durch Linken mit Condor-Bibliothek, aber keine Unterstützung für OS-State (Threads, \texttt{fork()}, Shared Memory, IPC, \textellipsis)
\item Checkpoints können periodisch, bei Auslagerung und explizit aus dem Programm erstellt werden
\end{itemize}
\item verschiedene \begriff{Universen} (Laufzeitumgebungen) mit unterschiedlichen Fähigkeiten
\item Fern-Systemaufrufe leiten Ein- und Ausgabe an den den Job startenden Knoten zurück
\item Zusammensetzung aus mehreren Dämonen:\begin{itemize}
\item \texttt{master}: Überwachung und Kommunikation
\item \texttt{startd}: Ein- und Auslasten von Jobs (auch abhängig vom Eigentümer der Maschine)
\item \texttt{schedd}: Verwaltung der Job-Queue und Kommunikation mit verfügbaren Maschinen
\item \texttt{collector}: Sammlung von Statusinformationen und Beantwortung von Informationsanfragen
\item \texttt{negotiator}: Match-Making von Ressourcen und Jobs
\end{itemize}
\end{itemize}
\end{itemize}
\end{itemize}