\chapter{Hardware}\label{ch:hardware}

\begin{figure}
    \centering
    \includegraphics[width=\textwidth]{images/Top500-Architecture}
    \caption{Top500 Architektur Statistik}
    \label{fig:top500-architecture}
\end{figure}

\section{Arten der Nodes}\label{sec:arten-der-nodes}
\subsection{Head Node}\label{subsec:head-node}
Der Head Node oder auch Master Node stellt die Benutzerumgebung zur Verfügung.
Dieser verteilt auch die Aufgaben an die Nodes und überwacht deren Zustand, also deren Verfügbarkeit.
Der Nutzer kann dabei selbst entscheiden wie viele Nodes welche Aufgabe bearbeiten.
Über den Head Node läuft auch die Verbindung zum Internet.
Der Head Node Verfügt über eine schnelle Verbindung zum Netzwerk, um mit der Geschwindigkeit der PCs mitzuhalten.

\subsection{Interactive Node}\label{subsec:interactive-node}
Manche Cluster verfügen über Interactive Nodes.
Diese können direkt wie ein gewöhnliches Remote-access Unix System angesteuert werden, ohne über den Head Node angesprochen zu werden.
Ansonsten arbeiten diese und sind ans Netzwerk wie gewöhnliche Compute Nodes angeschlossen.

\subsection{Compute Node}\label{subsec:compute-node}
Für die Ausführung der einzelnen Rechenoperationen zuständig.
Arbeitet zugeteilte Aufgabe oder Teilaufgabe ab.

\section{Netzwerk}\label{sec:netzwer}
Jeder Node inklusive des Head Nodes verfügt über einen Port mit diesem ist er über eine Lan an einen Switch angeschlossen.
Ethernet und InfiniBand sind dabei die am häufigsten verwendeten Verbindungsarten für HPCs.

\begin{figure}
    \centering
    \includegraphics[width=\textwidth]{images/Top500-Interconnect-Statistic}
    \caption{Top500 Interconnect Statistik}
    \label{fig:top500_interconnect}
\end{figure}

\section{Speicher}\label{sec:speicher}
\subsection{Shared Memory}\label{subsec:shared-memory}
Mehrere Prozessoren teilen sich den Speicher einer Globalen Speichereinheit.
Die Verbindung läuft über einen High-Speed Memory Bus.
Dies ermöglicht den Zugriff auf Daten zu teilen und Daten effizient auszutauschen.
Die Anzahl der teilnehmenden Prozessoren an diesem System ist dabei typischer Weise von dem begrenzt, da die zu verarbeitende Datenmenge von der Bandbreite des Memory Buses, der die Prozessoren verbindet, begrenzt wird.

\subsection{Distributed Memory}\label{subsec:distributed-memory}
Jeder Node hat Zugriff auf seinen eigenen Speicher.
Das System gleicht dabei einem Verbund von selbstständig arbeitenden Computern, die zusammenarbeiten, um ein Problem zu lösen.
Der Zugriff auf den lokalen Speicher eines Computers ist dabei sehr schnell.
Der Zugriff auf andere Speicher geht über ein high-speed Verbindungsnetzwerk.

\subsection{Mixed Shared/Distributed Memory}\label{subsec:mixed-shared/distributed-memory}
Die neuste Art der Speicherverwaltung ist eine Mischung der beiden Systeme.
Dabei sind die Nodes in Gruppen aufgeteilt beliebiger Größe, die sich den Speicher teilen.
Die Gruppen der Nodes sind dabei wiederum über eine Highspeed Verbindung mit den anderen Nodes verbunden um auf den Speicher zugreifen zu können.
