Final improvements

This commit is contained in:
Administrator 2021-11-17 23:35:44 +01:00
parent ba1fd27cd5
commit fa7ab713c8
7 changed files with 34 additions and 29 deletions

Binary file not shown.

View File

@ -9,7 +9,7 @@
Ein \ac{HPC} besteht aus einem Head Node und Compute Nodes, sowie einem Netzwerk, welches diese verbindet.
Ein Node wiederum besteht aus einer \ac{CPU}, einer Schnittstelle zum Highspeed Netzwerk und gegebenenfalls lokalem \ac{RAM} oder Massenspeicher.
Bei manchen \ac{HPC} verfügen einige Nodes auch über eine \ac{GPU}.
Bei manchen \ac{HPC} verfügen einige Nodes auch über eine \ac{GPU}\cite{hardware}.
\section{Arten der Nodes}\label{sec:arten-der-nodes}
\subsection{Head Node}\label{subsec:head-node}
@ -18,7 +18,7 @@ Dieser verteilt auch die Aufgaben an die Nodes und überwacht deren Zustand, als
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 Nodes mitzuhalten.
Je mehr Compute Nodes das Cluster enthält, desto mehr Rechenleistung braucht auch der Head Node.
Je mehr Compute Nodes das Cluster enthält, desto mehr Rechenleistung braucht auch der Head Node\cite{coep}.
\subsection{Interactive Node}\label{subsec:interactive-node}
Manche Cluster verfügen über Interactive Nodes.
@ -27,16 +27,16 @@ Ansonsten arbeiten diese gleich wie die Compute Nodes und sind auch an das Netzw
\subsection{Compute Node}\label{subsec:compute-node}
Die Compute Nodes sind für die Ausführung der einzelnen Rechenoperationen zuständig.
Jeder Node arbeitetet die zugeteilte Aufgabe und sendet das Ergebnis der Berechnung wieder zurück an den Head Node.
Jeder Node arbeitetet die zugeteilte Aufgabe und sendet das Ergebnis der Berechnung wieder zurück an den Head Node\cite{coep}.
\section{Netzwerk}\label{sec:netzwer}
Jeder Compute Node muss mit dem Head Node komminizieren.
Jeder Compute Node muss mit dem Head Node kommunizieren.
Diese Kommunikation wird über das Netzwerk sichergestellt.
Die Nodes sind dabei über Switches miteinander verbunden.
Die genutzten Technologien sind zum einen Ethernet, das auch auf \glqq normalen\grqq \ac{PC}s genutzt wird.
Die genutzten Technologien sind zum einen Ethernet, das auch auf \glqq normalen\grqq~PCs genutzt wird.
Zum anderen wird oft InfiniBand genutzt.
InfiniBand ist die Spezifikation einer Hardware-Schnittstelle für Hochgeschwindigkeitsübertragung auf kurzen Distanzen mit extrem geringer Latenz.
Meistens wird diese Technologie in Rechenzentren genutzt\cite{network, zima2002high}.
Meistens wird diese Technologie in Rechenzentren genutzt\cite{network, zima2002high, coep}.
\begin{figure}
\centering
@ -47,22 +47,24 @@ Meistens wird diese Technologie in Rechenzentren genutzt\cite{network, zima2002h
\section{Arbeitsspeicher}\label{sec:speicher}
Die Realisierung des \ac{RAM} in \ac{HPC} lässt sich grob in drei verschiedene Konzepte einteilen.
Wovon in der Regel die Dritte genannte Möglichkeit am häufigsten bei \ac{HPC} verwendet wird.
Wovon in der Regel die Dritte genannte Möglichkeit am häufigsten bei \ac{HPC} verwendet wird\cite{ram}.
\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 Bussysstem begrenzt, da die zu verarbeitende Datenmenge von der Bandbreite des Memory Buses, der die Prozessoren verbindet, begrenzt wird.
Bei Shared Memory gibt es wiederum drei Unterkategorien:
Bei \ac{UMA} gibt es einen externen lokalen Speicher.
Alle Nodes haben die gleiche Zugriffszeit.
Bei \ac{NUMA} verfügen die Nodes über einen eigenen lokalen Speicher.
Der Adressraum ist jedoch für alle Nodes freigegeben.
Ein Node kann auf seinen lokalen Speicher schneller zugreifen als auf den von anderen Nodes.
Bei Zugriff auf den Speicher eines anderen Nodes wird eine Kopie dessen erstellt die so lange erhalten bleibt, bis diese überschrieben oder gelöscht wird.
Bei Zugriff auf den Speicher eines anderen Nodes wird eine Kopie dessen erstellt die so lange erhalten bleibt, bis diese überschrieben oder gelöscht wird\cite{hardware, ram}.
In der cache-only memory architecture verwenden die Nodes ihren eigenen Speicher als Cache.
Wenn auf den Speicher eines anderen Nodes zugegriffen wird, so wird eine lokale Kopie erstellt und die Daten werden an ihrer ursprünglichen Position gelöscht\cite{ram}.
Wenn auf den Speicher eines anderen Nodes zugegriffen wird, so wird eine lokale Kopie erstellt und die Daten werden an ihrer ursprünglichen Position gelöscht\cite{cache-only}.
\subsection{Distributed Memory}\label{subsec:distributed-memory}
Jeder Node hat Zugriff auf seinen eigenen Speicher.

View File

@ -11,7 +11,7 @@ Viele Betreiber der \ac{HPC} setzen auf \ac{RHEL}, das von Redhat für den komme
Eine weitere Möglichkeit ist das Betriebssystem CentOS.
Dieses Betriebssystem baut auf \ac{RHEL} auf, wird aber nicht direkt von RedHat, sondern von freiwilligen Entwicklern weiterentwickelt.
Auf Web-Servern ist diese Distribution nach Debian und Ubuntu die am häufigsten genutzte\cite{os_usage_stats}.
Da in \ac{HPC} meistens keine \glqq normale\grqq Consumer-Hardware verwendet wird, sondern spezielle Hochleistungskomponenten, die vom Kernel unterstützt werden müssen, sind die Enterprise Distributionen \ac{RHEL} oder CentOS oftmals besser geeignet als zum Beispiel Debian\cite{rhel}.
Da in \ac{HPC} meistens keine \glqq normale\grqq~Consumer-Hardware verwendet wird, sondern spezielle Hochleistungskomponenten, die vom Kernel unterstützt werden müssen, sind die Enterprise Distributionen \ac{RHEL} oder CentOS oftmals besser geeignet als zum Beispiel Debian\cite{rhel}.
Die Linux-Derivate beziehungsweise deren Kernel haben gegenüber Windows oder anderen Betriebssystemen den Vorteil, dass sie beliebig angepasst, beziehungsweise auch neu kompliliert, werden können und in den Rechenzentren dann eine speziell modifizierte Version genutzt werden kann.
In der Liste Top500 werden die offiziell 500 schnellsten Supercomputer aufgelistet.
Anhand von Abbildung~\ref{fig:top500_os} wird deutlich, das Windows, Mac und BSD bis maximal 2016 in wenigen \ac{HPC} genutzt wurden, heutzutage wird aber ausschließlich Linux verwendet\cite{top500list}.
@ -27,8 +27,6 @@ Lightweight Kernels sind dafür optimiert, mit verteiltem Speicher und tausenden
Des weiteren sind die Kernel sehr effizient und versuchen einer Applikation möglichst viele Ressourcen (\ac{CPU}, \ac{RAM}, Netzwerk-Bandbreite, \ldots) zuzuweisen, damit die Berechnungszeit der Anwendung minimiert wird\cite{lightweightKernel}\cite[S. 19f]{gerofi2019operating}.
\section{Remote Management}\label{sec:remote-management}
% https://www.engr.siu.edu/staff1/ahmed/mywebpage/Maxwell_SIUC_HPC_Description_Tutorial.pdf
% https://www2.latech.edu/~box/hapc/Chapter-1.pdf
Remote Management, also das Steuern und Überwachen von Geräten aus der Ferne, ist für Server und \ac{HPC} extrem wichtig.
Ein \ac{HPC}, dass oftmals aus mehreren Racks besteht, kann natürlich nicht mit dem privaten Desktop-PC oder Laptop verglichen werden, auf die man relativ einfach physischen Zugriff erlangen kann.
Durch verschiedene Sicherheitsmechanismen wird in vielen Fällen der Zutritt zum Rechenzentrum und damit auch zur \ac{HPC}-Hardware erschwert und oftmals steht das Rechenzentrum auch gar nicht in der Nähe des Anwenders sondern zum Beispiel in der Nähe eines großen Internet-Knotenpunktes.

View File

@ -30,5 +30,5 @@ In einem \ac{HPC} dagegen können die Aufgaben an einen anderen Node weitergelei
\section{Nachteile}\label{sec:nachteile}
\paragraph{Latenzzeiten}
Sehr hohe Latenzzeit im Vergleich zu einem Supercomputer.
Da die Nodes mit dem Head Node kommunizieren müssen kann es zum Datenstau kommen\cite{nachteile}.
Da die Nodes mit dem Head Node kommunizieren müssen kann es zum Datenstau kommen\cite{coep}.

View File

@ -82,7 +82,7 @@
url = {https://www.engr.siu.edu/staff1/ahmed/mywebpage/Maxwell_SIUC_HPC_Description_Tutorial.pdf},
}
@online{nachteile,
@online{coep,
author = {Suraj Chavan},
title = {Design and Implementation of High Performance Computing Cluster for Educational Purpose},
note = {letzter Zugriff: 13.11.2021},
@ -107,22 +107,29 @@
publisher = {Springer}
}
@online{cache-only,
author = {Josep Torrellas},
title = {Cache-Only Memory Architecture},
note = {letzter Zugriff: 16.11.2021},
url = {https://link.springer.com/referenceworkentry/10.1007%2F978-0-387-09766-4_166%7D},
}
@online{ram,
author = {n.A.},
author = {Raymond J. Spiteri},
title = {Concepts from High-Performance Computing},
note = {letzter Zugriff: 13.11.2021},
url = {https://www.cs.usask.ca/\~spiteri/M314/notes/HPC1.pdf},
url = {https://www.cs.usask.ca/~spiteri/M314/notes/HPC1.pdf},
}
@online{network,
author = {n.A.},
author = {HPC Advisory Council},
title = {Introduction to High-Performance Computing},
note = {letzter Zugriff: 13.11.2021},
url = {https://www.hpcadvisorycouncil.com/pdf/Intro_to_HPC.pdf},
}
@online{comparison,
author = {n.A.},
author = {Wikipedia},
note = {letzter Zugriff: 13.11.2021},
title = {Distributed memory},
url = {https://en.wikipedia.org/wiki/Distributed_memory},

View File

@ -1,5 +1,3 @@
% TODO: ß
% TODO: Acronyms
% Preamble
% !IMPORTANT! Do not change the font size here, but after the \begin{document} markup
\documentclass[12pt,a4paper,oneside,listof=totoc,abstract=on,parskip=half]{scrreprt}
@ -7,7 +5,7 @@
\include{customization/text-variables}
% Packages
\usepackage[T1]{fontenc}
\usepackage[T1,EU1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[autostyle=true,german=quotes]{csquotes}
\usepackage{refcheck}