Benötigen Sie eine Maschine, die in einer Sekunde Billionen von Gleitkommaberechnungen durchführen kann? Oder brauchen Sie eine coole Geschichte über Ihren persönlichen Supercomputer, der in Ihrem Dorf das Licht ausgemacht hat? Der Bau eines Supercomputers ist eine interessante Herausforderung, wenn Sie ein reiches Genie mit etwas Freizeit sind. Technisch gesehen ist ein Multiprozessor-Supercomputer ein Netzwerk von Computern, die zusammenarbeiten, um ein Problem zu lösen. In diesem Artikel wird jede Phase seiner Erstellung kurz erläutert, wobei der Schwerpunkt auf Hardware und Software liegt.
Schritt
Schritt 1. Finden Sie zunächst heraus, welche Hardwarekomponenten Sie benötigen
Ein Hauptknoten, mindestens ein Dutzend identischer Rechenknoten, ein Ethernet-Switch, eine Stromverteilungseinheit (PDU) und ein Server-Rack. Informieren Sie sich auch über Strom, Kühlung und Platzbedarf. Geben Sie die IP-Adresse für das private Netzwerk, die Namen der Knoten, die Softwarepakete, die Sie installieren möchten, und die Technologie an, die Sie verwenden möchten, damit sie alle zusammenarbeiten, um paralleles Computing durchzuführen (mehr dazu weiter unten).
- Obwohl die benötigte Hardware teuer ist, ist die Software in diesem Handbuch vollständig kostenlos und größtenteils Open Source.
- Wenn Sie sehen möchten, wie schnell Ihr Supercomputer (theoretisch) sein wird, verwenden Sie dies:
Schritt 2. Erstellen Sie Rechenknoten
Sie können die benötigten Rechenknoten selbst zusammenstellen oder einen vorgefertigten Server verwenden.
- Wählen Sie ein Computerserver-Framework, das Platz, Kühlung und Energieeffizienz maximiert.
- Oder Sie können etwa ein Dutzend veralteter Server verwenden. Zusammen sind sie viel nützlicher als einzeln, und Sie können einiges sparen. Alle Prozessoren, Netzwerkadapter und Motherboards müssen gleich sein, um einen reibungslosen Betrieb des Systems zu gewährleisten. Vergessen Sie natürlich nicht die RAM- und Speicherkapazität für jeden Knoten und mindestens ein optisches Laufwerk für den Hauptknoten.
Schritt 3. Montieren Sie den Server, den Sie in das Server-Rack eingebaut haben
Beginnen Sie unten, um die Einwände oben zu vermeiden. Laden Sie einen Freund ein, Ihnen zu helfen, da überfüllte Serversets so schwer werden können, dass es schwierig wird, sie in Schubladen zu stecken.
Schritt 4. Montieren Sie den Ethernet-Switch oben auf dem Serverrahmen
Nutzen Sie diese Gelegenheit, um es zu konfigurieren: Geben Sie ihm eine Framegröße von 9000 Byte, stellen Sie die IP-Adresse auf die statische Adresse ein, die Sie in Schritt 1 angegeben haben, und deaktivieren Sie unnötige Routing-Protokolle wie SMTP-Snooping.
Schritt 5. Installieren Sie die Stromverteilungseinheit
Für High-Performance-Computing benötigen Sie möglicherweise 220 Volt, je nachdem, wie viel Strom der Knoten bei maximaler Last benötigt.
Schritt 6. Sobald alles installiert ist, können Sie den Konfigurationsprozess starten
Linux ist ein unverzichtbares Betriebssystem für Hochleistungs-Computing-Cluster, denn es ist nicht nur ideal für wissenschaftliches Rechnen, sondern auch 100% kostenlos. Bei Knoten, die Hunderte oder sogar Tausende erreichen, wird es definitiv sehr teuer, wenn Sie Windows verwenden!
- Beginnen Sie mit der Installation der neuesten Version des Motherboard-BIOS und der Firmware. Die installierte Version muss für alle Knoten gleich sein. Beginnen Sie mit der Installation der neuesten Version des Motherboard-BIOS und der Firmware, die auf allen Knoten gleich sein sollte.
- Installieren Sie die gewünschte Linux-Distribution auf jedem Knoten mit einer grafischen Oberfläche auf dem Hauptknoten. Beliebte Optionen sind CentOS, OpenSuse, Scientific Linux, RedHat und SLES.
- Der Autor empfiehlt dringend, die Rocks Cluster Distribution zu verwenden. Rocks installiert sofort alle Programme, die Ihr Supercomputer zum Funktionieren benötigt, und verwendet eine raffinierte Methode, um sich mit dem PXE-Boot- und "Kick Start"-Verfahren von Red Hat auf alle vorhandenen Knoten zu "teilen".
Schritt 7. Installieren Sie die Messaging-Schnittstelle, die Ressourcenverwaltung und andere wichtige Softwarebibliotheken
Wenn Sie Rocks im vorherigen Schritt nicht installiert haben, müssen Sie die Software für den parallelen Rechenmechanismus selbst vorbereiten.
- Zuerst benötigen Sie ein tragbares Bash-Management-System wie Torque Resource Manager, das die Aufgabenverteilung zwischen den Maschinen übernimmt.
- Koppeln Sie Torque mit dem Maui Cluster Scheduler, um die Einrichtung abzuschließen.
- Als Nächstes müssen Sie die Messaging-Schnittstelle installieren, die erforderlich ist, damit separate Rechenknoten dieselben Daten gemeinsam nutzen. OpenMP ist eine definitive Wahl.
- Vergessen Sie nicht die Multithreading-Mathematikbibliotheken und Compiler, um die benötigten parallelen Computerprogramme zu erstellen. Oder installieren Sie einfach Rocks, um es noch einfacher zu machen.
Schritt 8. Kombinieren Sie alle Rechenknoten zu einem Netzwerk
Der Hauptknoten sendet Rechenaufgaben an den Rechenknoten, der dann die Ergebnisse zurücksenden muss, während er Nachrichten miteinander austauscht. Je früher desto besser.
- Verwenden Sie ein privates Ethernet-Netzwerk, um alle Knoten in Ihrem Supercomputer-Cluster zu verbinden.
- Der primäre Knoten kann ein NFS-, PXE-, DHCP-, TFTP- und NTP-Server im Ethernet-Netzwerk sein.
- Sie müssen dieses Netzwerk vom öffentlichen Netzwerk trennen, um sicherzustellen, dass die gesendeten Pakete andere Netzwerke in Ihrem lokalen Netzwerk nicht stören.
Schritt 9. Testen Sie den von Ihnen erstellten Supercomputer
Bevor Sie von anderen verwendet werden, empfehlen wir Ihnen, zuerst die Leistung Ihres Supercomputers zu testen. HPL (High Performance Linpack) ist ein beliebter Benchmark zur Messung der Rechengeschwindigkeit von Supercomputern. Sie müssen aus dem Quellcode kompilieren, mit allen Optimierungsoptionen, die der von Ihnen verwendete Compiler für die von Ihnen gewählte Architektur bietet.
- Natürlich müssen Sie aus dem Quellcode mit allen möglichen Optimierungsoptionen für Ihre Plattform kompilieren. Wenn Sie beispielsweise eine AMD-CPU verwenden, kompilieren Sie diese mit Open64 mit der Optimierungsstufe -0fast.
- Vergleichen Sie Ihre Testergebnisse auf TOP500.org, um Ihren Supercomputer mit den 500 schnellsten Supercomputern der Welt zu vergleichen!
Tipps
- Für hohe Netzwerkgeschwindigkeiten werfen Sie einen Blick auf die InfiniBand-Netzwerkschnittstelle. Natürlich müssen Sie bereit sein, einen Premium-Preis zu zahlen.
- IPMI kann die Verwaltung großer Supercomputer-Cluster vereinfachen, indem es KVM-over-IP, Remote-Power-Cycle-Steuerung und andere Funktionen bereitstellt.
- Verwenden Sie Ganglia, um die Rechenlast auf Knoten zu überwachen.