From 478f2a605491aaca4149ec160ceb5b5bc47888b6 Mon Sep 17 00:00:00 2001 From: H4CK3R-01 Date: Fri, 29 Oct 2021 20:45:32 +0200 Subject: [PATCH] Improved texts, added acronyms --- content/03_software.tex | 51 ++++++++++++++++++++++++----------------- includes/acronyms.tex | 11 +++++++-- main.bib | 6 +++++ 3 files changed, 45 insertions(+), 23 deletions(-) diff --git a/content/03_software.tex b/content/03_software.tex index 6a284fa..adfa08f 100644 --- a/content/03_software.tex +++ b/content/03_software.tex @@ -1,29 +1,29 @@ -\chapter{Software}\label{ch:software} +\chapter{Software}\label{ch:software} % TODO ICH Neben der bereits erwähnten Hardware muss es natürlich auch Software, wie das Betriebssystem oder die Anwendungen geben, damit ein Cluster verwendet werden kann. Im folgenden soll zunächst auf das Betriebssystem beziehungsweise die Anforderungen an ein Betriebssystem eingegangen werden. Des Weiteren ist auch das Remote Management wichtig. Danach sollen noch zwei Tools vorgestellt werden, mit denen der gesamte Einrichtungs- und Administrierprozess eines Clusters vereinfacht werden soll. -Als letztes wird noch darauf eingegangen, für welche Art von Software ein HPC genutzt werden kann und was die Software für Anforderungen erfüllen muss. +Als letztes wird noch darauf eingegangen, für welche Art von Software ein \acrshort{hpc} genutzt werden kann und was die Software für Anforderungen erfüllen muss. \section{Betriebssystem}\label{sec:betriebssystem} %TODO CentOS %TODO Lightweight Kernel Für High Performance Cluster wird in den meisten Fällen ein Linux Derivat verwendet. -Viele Betreiber der HPC setzen auf RHEL, das von Redhat für den kommerziellen Markt entwickelt wird und dadurch zum Teil auch stabiler als andere Derivate läuft. -Des Weiteren wird in HPC meistens keine \glqq normale\grqq Consumer-Hardware verwendet, sondern spezielle Hochleistungskomponenten, die vom Kernel unterstützt werden sollte\cite{rhel}. +Viele Betreiber der \acrshort{hpc} setzen auf RHEL, das von Redhat für den kommerziellen Markt entwickelt wird und dadurch zum Teil auch stabiler als andere Derivate läuft. +Des Weiteren wird in \acrshort{hpc} meistens keine \glqq normale\grqq Consumer-Hardware verwendet, sondern spezielle Hochleistungskomponenten, die vom Kernel unterstützt werden sollte\cite{rhel}. Die Linux-Derivate beziehungsweise deren Kernel haben gegenüber Windows oder anderen Betriebssystemen den Vorteil, dass sie beliebig angepasst 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 HPCs 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 \acrshort{hpc} genutzt wurden, heutzutage wird aber ausschließlich Linux verwendet\cite{top500list}. \begin{figure} \centering \includegraphics[width=\textwidth]{images/Operating_systems_used_on_top_500_supercomputers.svg} - \caption{Verbreitung einiger Betriebssysteme unter den Top500 HPCs\cite{top500image}} + \caption{Verbreitung einiger Betriebssysteme unter den Top500 \acrshort{hpc}\cite{top500image}} \label{fig:top500_os} \end{figure} -In den HPC werden oftmals Lightweight Kernel verwendet. +In den \acrshort{hpc} werden oftmals Lightweight Kernel verwendet. Lightweight Kernels sind dafür optimiert, mit verteiltem Speicher und tausenden von Prozessoren zusammen zu arbeiten. -Des weiteren sind die Kernel sehr effizient und versuchen einer Applikation möglichst viele Ressourcen (CPU, 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 (\acrshort{cpu}, \acrshort{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 @@ -40,11 +40,11 @@ Des weiteren sind die Kernel sehr effizient und versuchen einer Applikation mög % - Temperatur % - ... %TODO Important -Remote Management, also das Steuern und Überwachen von Geräten aus der Ferne, ist für Server und HPC extrem wichtig. -Ein 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 pyhsischen Zugriff erlangen kann. -Durch verschiedene Sicherheitsmechanismen wird der Zutritt zum Rechenzentrum und damit auch zur 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. +Remote Management, also das Steuern und Überwachen von Geräten aus der Ferne, ist für Server und \acrshort{hpc} extrem wichtig. +Ein \acrshort{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 pyhsischen Zugriff erlangen kann. +Durch verschiedene Sicherheitsmechanismen wird der Zutritt zum Rechenzentrum und damit auch zur \acrshort{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. Aber n -Damit das HPC trotzdem konfiguriert, gewartet und genutzt werden kann, wird viel Remote, über das Internet, gearbeitet. +Damit das \acrshort{hpc} trotzdem konfiguriert, gewartet und genutzt werden kann, wird viel Remote, über das Internet, gearbeitet. Der Administrator \section{xCAT}\label{sec:xcat} @@ -52,8 +52,8 @@ xCAT (Extreme Cloud Administration Toolkit) ist ein, von IBM entwickeltes, open- Vor allem das erstellen und managen von Clustern erfordert, wie in Kapitel~\ref{sec:remote-management} bereits erwähnt, viel administrativen Aufwand. Die Software wird auf dem Management Node installiert und kann danach mit vergleichsweise wenig Aufwand die einzelnen Nodes im Netzwerk finden und einrichten Um die Last des Management Nodes zu reduzieren, können auch Compute Nodes als Service Nodes verwendet werden, die dann ähnliche Aufgaben wie der Managament Node übernehmen, aber trotzdem noch vom Management Node gesteuert werden (siehe Abbildung~\ref{fig:xcat_architektur}). -Das ist vorallem wichtig, wenn die Speicher-Voraussetzungen von IBM beachtet werden: ein kleines Cluster, mit weniger als 16 Nodes, braucht schon ca. 5GB RAM. -Wenn das Cluster dann aber zum Beispiel 158.976 Nodes hat, so wie das aktuell schnellste HPC, steigt der RAM Verbrauch und wird vermutlich die 32GB RAM pro Node deutlich übersteigen\cite{xCAT_docs, top500list}. +Das ist vorallem wichtig, wenn die Speicher-Voraussetzungen von IBM beachtet werden: ein kleines Cluster, mit weniger als 16 Nodes, braucht schon ca. 5GB \acrshort{ram}. +Wenn das Cluster dann aber zum Beispiel 158.976 Nodes hat, so wie das aktuell schnellste \acrshort{hpc}, steigt der \acrshort{ram} Verbrauch und wird vermutlich die 32GB \acrshort{ram} pro Node deutlich übersteigen\cite{xCAT_docs, top500list}. \begin{figure} \centering \includegraphics[width=\textwidth]{images/Xcat-arch} @@ -65,15 +65,15 @@ Wenn das Cluster dann aber zum Beispiel 158.976 Nodes hat, so wie das aktuell sc \section{OpenHPC}\label{sec:openhpc} Ähnlich wie xCAT gibt es auch noch OpenHPC. OpenHPC ist ebenfalls eine open-source Anwendung, die von der Linux Foundation entwickelt wird. -Die Software wird nur in CentOS getestet, aber durch die starken Ähnlichkeiten zu zum Beispiel RHEL, sollte sie auch dort funktionieren. -Auch OpenHPC hat es sich zur Aufgabe gemacht, die Einrichtung eines HPCs zu vereinfachen, was natürlich dann auch zu reduzierten Betriebskosten des HPCs führt. +Die Software wird nur in CentOS getestet, aber durch die starken Ähnlichkeiten zu zum Beispiel \acrshort{rhel}, sollte sie auch dort funktionieren. +Auch OpenHPC hat es sich zur Aufgabe gemacht, die Einrichtung eines \acrshort{hpc} zu vereinfachen, was natürlich dann auch zu reduzierten Betriebskosten des \acrshort{hpc} führt. Durch einen einzigen Software-Stack mit standardisierten, getesteten Komponenten, hat der Administrator die Möglichkeit ohne großen Konfigurationsaufwand das Cluster einzurichten und zu nutzenn. Der Software-Stack besteht aus vielen verschiedenen einzelnen Tools, die in einzelne Kategorien eingeteilt werden können\cite{openhpc_docs}: \begin{itemize} \item Administration \item Compiler \item Entwicklung - \item I/O + \item \acrshort{io} \item Parallelisierung \item Performance Management \item Resource Management @@ -82,10 +82,19 @@ Der Software-Stack besteht aus vielen verschiedenen einzelnen Tools, die in einz Wie bei xCAT wird die Software zunächst nur auf dem Master-Node installiert, der dann später die Compute-Nodes mit der entsprechenden Software versorgt und auch die Aufgaben verteilt. -Auch wenn OpenHPC von der Linux Foundation entwickelt wird, sind viele große Unternehmenm wie Dell, Fujitsu, Lenovo, Intel oder HP an der Entwicklung beteiligt. +Auch wenn OpenHPC von der Linux Foundation entwickelt wird, sind viele große Unternehmen wie Dell, Fujitsu, Lenovo, Intel oder HP an der Entwicklung beteiligt. Diese Unternehmen setzen die Software dann zum Teil auch in Clustern ein\cite{openhpc_presentation}. \section{Anwendungssoftware}\label{sec:anwendungssoftware} -% [1] https://www.google.de/books/edition/Operating_Systems_for_Supercomputers_and/le62DwAAQBAJ -% Containerisierung [1, S.12] -% AI, ML, DL, Big Data, Cloud [1, S.13] \ No newline at end of file +Für was kann die Leistung eines \acrshort{hpc} genutzt werden? + +Oft werden die Cluster mithilfe von Containern genutzt. +Containerisierung ist eine Virtualisierungsmethode, bei der die Gäste (Instanzen eines Betriebssystems) isoliert voneinander den Kernel des Hostsystems nutzen. +Im Gegensatz zu anderen Virtualisierungsmethoden ist die Containerisierung ressourcenschonender. +Die Container haben in \acrshort{hpc} den Vorteil, dass sie vom Host-Betriebssystem und den System-Librarys getrennt sind. +Betriebssystem Aktualisierungen haben keinen Einfluss auf die Software, die in den Containern läuft\cite[S. 12]{gerofi2019operating}. + +Die meisten \acrshort{hpc} werden vom Militär, von Regierungen, von der Industrie oder von Forschern genutzt. +Dabei werden oft mithilfe von \acrshort{ai}, \acrshort{ml} oder \acrshort{dl}, Berechnungen durchgeführt\cite[S. 12f]{gerofi2019operating}. +Die Rechenleistung wird unter anderem für Wettervorhersagen, die Öl- und Gasförderung, den Bereich der Physik und Quantenmechanik verwendet. +Mit einem einzelnen \acrshort{pc} oder Server wären solche Berechnungen nicht möglich oder würden extrem lange dauern\cite{intel_what_is_hpc}. \ No newline at end of file diff --git a/includes/acronyms.tex b/includes/acronyms.tex index 5da9932..c20be75 100644 --- a/includes/acronyms.tex +++ b/includes/acronyms.tex @@ -1,3 +1,10 @@ \makenoidxglossaries -\newacronym{identifier}{short version}{long version} -%\newacronym[plural=plural short version]{identifier}{short version}{long version} +\newacronym{hpc}{HPC}{High Performance Cluster} +\newacronym{ram}{RAM}{Random Access Memory} +\newacronym{cpu}{CPU}{Central processing unit} +\newacronym{rhel}{RHEL}{RedHat Enterprise Linux} +\newacronym{io}{I/O}{Input/Output} +\newacronym{ai}{AI}{Artificial Intelligence} +\newacronym{ml}{ML}{Machine Learning} +\newacronym{dl}{DL}{Deep Learning} +\newacronym{pc}{PC}{Personal Computer} diff --git a/main.bib b/main.bib index 204ee2c..8bc2654 100644 --- a/main.bib +++ b/main.bib @@ -49,6 +49,12 @@ url = {https://docs.google.com/presentation/d/15qU-o2qD5EIq-IwqwvDmCacURVle1bnnhUHN-q8swMs}, } +@online{intel_what_is_hpc, + author = {Intel Corporation}, + title = {Was ist HPC?}, + note = {Letzter Zugriff: 29.10.2021}, + url = {https://www.intel.de/content/www/de/de/high-performance-computing/what-is-hpc.html}, +} % Bilder @online{top500image, author = {Benedikt.Seidl},