generated from DHBW/LaTex_Hausarbeit_Template
Final improvements
This commit is contained in:
parent
ba1fd27cd5
commit
fa7ab713c8
BIN
Präsentation/TINF20C_Betriebssysteme_HPC.pdf
Normal file
BIN
Präsentation/TINF20C_Betriebssysteme_HPC.pdf
Normal file
Binary file not shown.
Binary file not shown.
@ -9,7 +9,7 @@
|
|||||||
|
|
||||||
Ein \ac{HPC} besteht aus einem Head Node und Compute Nodes, sowie einem Netzwerk, welches diese verbindet.
|
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.
|
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}
|
\section{Arten der Nodes}\label{sec:arten-der-nodes}
|
||||||
\subsection{Head Node}\label{subsec:head-node}
|
\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.
|
Der Nutzer kann dabei selbst entscheiden wie viele Nodes welche Aufgabe bearbeiten.
|
||||||
Über den Head Node läuft auch die Verbindung zum Internet.
|
Ü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.
|
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}
|
\subsection{Interactive Node}\label{subsec:interactive-node}
|
||||||
Manche Cluster verfügen über Interactive Nodes.
|
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}
|
\subsection{Compute Node}\label{subsec:compute-node}
|
||||||
Die Compute Nodes sind für die Ausführung der einzelnen Rechenoperationen zuständig.
|
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}
|
\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.
|
Diese Kommunikation wird über das Netzwerk sichergestellt.
|
||||||
Die Nodes sind dabei über Switches miteinander verbunden.
|
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.
|
Zum anderen wird oft InfiniBand genutzt.
|
||||||
InfiniBand ist die Spezifikation einer Hardware-Schnittstelle für Hochgeschwindigkeitsübertragung auf kurzen Distanzen mit extrem geringer Latenz.
|
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}
|
\begin{figure}
|
||||||
\centering
|
\centering
|
||||||
@ -47,22 +47,24 @@ Meistens wird diese Technologie in Rechenzentren genutzt\cite{network, zima2002h
|
|||||||
|
|
||||||
\section{Arbeitsspeicher}\label{sec:speicher}
|
\section{Arbeitsspeicher}\label{sec:speicher}
|
||||||
Die Realisierung des \ac{RAM} in \ac{HPC} lässt sich grob in drei verschiedene Konzepte einteilen.
|
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}
|
\subsection{Shared Memory}\label{subsec:shared-memory}
|
||||||
Mehrere Prozessoren teilen sich den Speicher einer Globalen Speichereinheit.
|
Mehrere Prozessoren teilen sich den Speicher einer Globalen Speichereinheit.
|
||||||
Die Verbindung läuft über einen High-Speed Memory Bus.
|
Die Verbindung läuft über einen High-Speed Memory Bus.
|
||||||
Dies ermöglicht den Zugriff auf Daten zu teilen und Daten effizient auszutauschen.
|
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.
|
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 Shared Memory gibt es wiederum drei Unterkategorien:
|
||||||
Bei \ac{UMA} gibt es einen externen lokalen Speicher.
|
Bei \ac{UMA} gibt es einen externen lokalen Speicher.
|
||||||
Alle Nodes haben die gleiche Zugriffszeit.
|
Alle Nodes haben die gleiche Zugriffszeit.
|
||||||
Bei \ac{NUMA} verfügen die Nodes über einen eigenen lokalen Speicher.
|
Bei \ac{NUMA} verfügen die Nodes über einen eigenen lokalen Speicher.
|
||||||
Der Adressraum ist jedoch für alle Nodes freigegeben.
|
Der Adressraum ist jedoch für alle Nodes freigegeben.
|
||||||
Ein Node kann auf seinen lokalen Speicher schneller zugreifen als auf den von anderen Nodes.
|
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.
|
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}
|
\subsection{Distributed Memory}\label{subsec:distributed-memory}
|
||||||
Jeder Node hat Zugriff auf seinen eigenen Speicher.
|
Jeder Node hat Zugriff auf seinen eigenen Speicher.
|
||||||
|
@ -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.
|
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.
|
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}.
|
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.
|
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.
|
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}.
|
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}.
|
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}
|
\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.
|
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.
|
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.
|
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.
|
||||||
|
@ -30,5 +30,5 @@ In einem \ac{HPC} dagegen können die Aufgaben an einen anderen Node weitergelei
|
|||||||
\section{Nachteile}\label{sec:nachteile}
|
\section{Nachteile}\label{sec:nachteile}
|
||||||
\paragraph{Latenzzeiten}
|
\paragraph{Latenzzeiten}
|
||||||
Sehr hohe Latenzzeit im Vergleich zu einem Supercomputer.
|
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}.
|
||||||
|
|
||||||
|
17
main.bib
17
main.bib
@ -82,7 +82,7 @@
|
|||||||
url = {https://www.engr.siu.edu/staff1/ahmed/mywebpage/Maxwell_SIUC_HPC_Description_Tutorial.pdf},
|
url = {https://www.engr.siu.edu/staff1/ahmed/mywebpage/Maxwell_SIUC_HPC_Description_Tutorial.pdf},
|
||||||
}
|
}
|
||||||
|
|
||||||
@online{nachteile,
|
@online{coep,
|
||||||
author = {Suraj Chavan},
|
author = {Suraj Chavan},
|
||||||
title = {Design and Implementation of High Performance Computing Cluster for Educational Purpose},
|
title = {Design and Implementation of High Performance Computing Cluster for Educational Purpose},
|
||||||
note = {letzter Zugriff: 13.11.2021},
|
note = {letzter Zugriff: 13.11.2021},
|
||||||
@ -107,22 +107,29 @@
|
|||||||
publisher = {Springer}
|
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,
|
@online{ram,
|
||||||
author = {n.A.},
|
author = {Raymond J. Spiteri},
|
||||||
title = {Concepts from High-Performance Computing},
|
title = {Concepts from High-Performance Computing},
|
||||||
note = {letzter Zugriff: 13.11.2021},
|
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,
|
@online{network,
|
||||||
author = {n.A.},
|
author = {HPC Advisory Council},
|
||||||
title = {Introduction to High-Performance Computing},
|
title = {Introduction to High-Performance Computing},
|
||||||
note = {letzter Zugriff: 13.11.2021},
|
note = {letzter Zugriff: 13.11.2021},
|
||||||
url = {https://www.hpcadvisorycouncil.com/pdf/Intro_to_HPC.pdf},
|
url = {https://www.hpcadvisorycouncil.com/pdf/Intro_to_HPC.pdf},
|
||||||
}
|
}
|
||||||
|
|
||||||
@online{comparison,
|
@online{comparison,
|
||||||
author = {n.A.},
|
author = {Wikipedia},
|
||||||
note = {letzter Zugriff: 13.11.2021},
|
note = {letzter Zugriff: 13.11.2021},
|
||||||
title = {Distributed memory},
|
title = {Distributed memory},
|
||||||
url = {https://en.wikipedia.org/wiki/Distributed_memory},
|
url = {https://en.wikipedia.org/wiki/Distributed_memory},
|
||||||
|
4
main.tex
4
main.tex
@ -1,5 +1,3 @@
|
|||||||
% TODO: ß
|
|
||||||
% TODO: Acronyms
|
|
||||||
% Preamble
|
% Preamble
|
||||||
% !IMPORTANT! Do not change the font size here, but after the \begin{document} markup
|
% !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}
|
\documentclass[12pt,a4paper,oneside,listof=totoc,abstract=on,parskip=half]{scrreprt}
|
||||||
@ -7,7 +5,7 @@
|
|||||||
\include{customization/text-variables}
|
\include{customization/text-variables}
|
||||||
|
|
||||||
% Packages
|
% Packages
|
||||||
\usepackage[T1]{fontenc}
|
\usepackage[T1,EU1]{fontenc}
|
||||||
\usepackage[ngerman]{babel}
|
\usepackage[ngerman]{babel}
|
||||||
\usepackage[autostyle=true,german=quotes]{csquotes}
|
\usepackage[autostyle=true,german=quotes]{csquotes}
|
||||||
\usepackage{refcheck}
|
\usepackage{refcheck}
|
||||||
|
Loading…
Reference in New Issue
Block a user