Einen Supercomputer bauen
Brauchst du eine Maschine, die hunderte Trillionen Gleitkomma-Berechnungen die Sekunde liefern kann? Oder brauchst du eine Bar-Story, wie der Supercomputer in deinem Keller einen Schalter umgelegt hat? Deinen eigenen High Performance Compute Cluster, auch Supercomputer genannt, zu bauen, ist eine Herausforderung, die jeder erfahrene Geek mit einem Wochenende freier Zeit und etwas Geld zum Verbrennen erreichen kann. Technisch gesehen ist ein moderner Mehrprozessor-Computer ein Netzwerk aus Computern, die parallel zusammenarbeiten, um ein Problem zu lösen. Dieser Artikel beschreibt kurz die einzelnen Schritte im Prozess und konzentriert sich auf Hardware und Software.
1. **Bestimme zuerst die benötigten Hardware-Komponenten und die Ressourcen.** Du brauchst einen Head Node, mindestens ein Dutzend identische Rechenknoten, einen Ethernet Switch, eine Stromleiste und ein Rack. Bestimme die elektrischen Anforderungen, die nötige Kühlung und den erforderlichen Platz. Entscheide außerdem, welche IP-Adresse du für deine privaten Netzwerke möchtest, wie du die Knoten benennst, welche Software-Pakete du installieren möchtest und welche Technologie die parallele Rechenleistung bereitstellen soll (mehr hierzu später).

Auch wenn die Hardware teuer ist, ist die in dieser Anleitung aufgeführte Software kostenlos und meistens auch Open Source.
Wenn du sehen möchtest, wie schnell dein Supercomputer theoretisch wäre, verwende dieses Tool: http://hpl-calculator.sourceforge.net/.
2. **Baue die Rechenknoten.** Du musst die Rechenknoten zusammenbauen oder bereits zusammengebaute Server beschaffen.

Wähle ein Server-Gehäuse, das maximale Anforderungen in Bezug auf Platz, Kühlung und Energieeffizienz erfüllt.

Oder du kannst etwa ein Dutzend veraltete Server nutzen, deren Ganzes die Summe ihrer Teile überwiegt, dir aber eine beträchtliche Stange Geld spart. Alle Prozessoren, Netzwerkkarten und Motherboards sollten für das gesamte System identisch sein, damit sie gut zusammenspielen. Vergiss natürlich nicht den RAM und den Speicherplatz für jeden Knoten und mindestens ein optisches Laufwerk für den Head Node.
3. **Installiere die Server im Rack.** Beginne unten, so dass das Rack nicht kopflastig ist. Du brauchst hierfür einen Freund, der dir hilft - die Server können sehr schwer sein und sie in die Schienen zu dirigieren, die sie im Rack halten, ist schwierig.
4. **Installiere den Ethernet Switch über dem Server-Gehäuse.** Nimm dir einen Moment, um den Switch zu konfigurieren. Ermögliche Jumbo-Rahmengrößen von 9.000 Bytes, stelle die IP-Adresse auf die statische IP-Adresse ein, die du in Schritt 1 bestimmt hast, und schalte unnötige Routing-Protokolle wie SMTP Snooping ab.
5. **Installiere die PDU (Power Distribution Unit).** Je nachdem, wie viel deine Knoten bei maximaler Last brauchen, brauchst du wahrscheinlich 220 Volt für einen Hochleistungsrechner.
6. **Wenn du alles installiert hast, kannst du mit der Konfiguration beginnen.** Linux ist das Betriebssystem der Wahl für HPC Clusters – es bietet nicht nur die ideale Umgebung für wissenschaftliche Berechnungen, sondern es kostet auch nichts, um es auf hunderten oder sogar tausenden Knoten zu installieren. Stelle dir vor, wie viel es kosten würde, auf all diesen Knoten Windows zu installieren!

Beginne mit der Installation der neuesten Version des BIOS und der Firmware für das Motherboard, welche auf allen Knoten gleich sein sollten.
Installiere auf jedem Knoten deine bevorzugte Linux-Distribution mit einer grafischen Benutzeroberfläche für den Head Node. Beliebte Alternativen sind CentOS, OpenSuse, Scientific Linux, RedHat und SLES.
Der ursprüngliche Autor dieses Artikels empfiehlt nachdrücklich die Verwendung der Rocks Cluster Distribution. Zusätzlich zur Installation all der für die Funktion eines Compute Clusters notwendigen Tools verwendet Rocks eine tolle Methode für die sehr schnelle eigenständige "Verteilung" vieler Instanzen an die Knoten mit PXE Boot und der Red Hat "Kick Start" Prozedur.
7. **Installiere die Message Passing-Oberfläche, den Resource Manager und andere notwendigen Libraries.** Wenn du im vorigen Schritt Rocks nicht installiert hast, musst du die erforderliche Software manuell einrichten, um die parallelen Rechenmechanismen zu aktivieren.

Als Erstes brauchst du ein portables Bash Management System wie den Torque Resource Manager, mit dem du Tasks auf mehrere Rechner aufteilen und verteilen kannst.
Kombiniere Torque mit dem Maui Cluster Scheduler, um die Einrichtung abzuschließen.
Als Nächstes musst du die Message Passing Oberfläche installieren, die für die einzelnen Prozesse auf den separaten Rechenknoten nötig ist, um die gleichen Daten zu teilen. OpenMP sollte keine Frage sein.
Vergiss nicht die Multi-Threading Math Libraries und Compiler für den Aufbau der parallelen Rechenprogramme. Habe ich erwähnt, dass du einfach Rocks installieren solltest?
8. **Vernetze die Rechenknoten miteinander.** Der Head Node sendet die Rechenaufgaben an die Rechenknoten, die wiederum das Ergebnis zurückschicken müssen und auch untereinander Nachrichten schicken. Je schneller desto besser.

Verwende ein privates Ethernet-Netzwerk, um alle Knoten im Cluster zu vernetzen.
Der Head Node kann auch als NFS, PXE, DHCP, TFTP und NTP Server über das Ethernet-Netzwerk fungieren.
Du musst dieses Netzwerk von öffentlichen Netzwerken trennen, was sicherstellt, dass die übertragenen Pakete nicht anderen Netzwerken in deinem LAN in die Quere kommen.
9. **Teste den Cluster.** Das Letzte, was du tun solltest, bevor du die geballte Rechenleistung deinen Benutzern zur Verfügung stellst, ist, seine Leistung zu testen. Der HPL (High Performance Lynpack) Benchmark ist eine beliebte Wahl zum Messen der Rechenleistung des Clusters. Du musst es mit allen möglichen Optimierungen, die dein Compiler für die gewählte Architektur bietet, von der Quelldatei kompilieren.

Du musst natürlich mit allen möglichen Optimierungen für deine Plattform von der Source-Datei kompilieren. Wenn du z. B. CPUs von AMD hast, kompiliere mit Open64 mit dem Optimierungslevel -0fast.
Vergleiche deine Ergebnisse auf TOP500.org, um deinen Cluster mit den 500 schnellsten Supercomputern der Welt zu vergleichen!
{"url": "https://de.wikihow.com/Einen-Supercomputer-bauen", "language": "de"}