#format rst #language de MiniCluster =========== Hubert Högl, 11.4.2021 Siehe auch die Beschreibung zur Installation von Michael Schäferling (VPN nötig!): https://ti-wiki.informatik.hs-augsburg.de/doku.php?id=rt-labor_miniitx-cluster .. contents:: .. sectnum:: .. figure:: https://hhoegl.informatik.hs-augsburg.de/pub/minicluster/Minicluster-3-2023-01.jpg :target: https://hhoegl.informatik.hs-augsburg.de/pub/minicluster/Minicluster-3-2023-01.jpg :width: 700 :align: center Foto vom 22. März 2023. Neu hinzugekommen sind im März die Relais am oberen Bildrand. Damit kann man aus der Ferne die Reset- und Power-Signale der vier Worker-Nodes betätigen, um z.B. das Verhalten beim Ausfall eines der Boards zu testen. | Motivation ---------- Der "MiniCluster" (siehe z.B. Definition `Cluster `_) ist ein preiswerter selbstgebauter Rechencluster, der für verschiedene Experimente verwendet werden soll, für die man eben ein kleines Cluster benötigt. Wir haben in etwa folgende Ausstattung: * Ein "Hauptrechner" `AMD Ryzen Embedded V1000 4X4 Box `_ mit 16 GByte RAM Der Rechner ist im Intranet der Hochschule sichtbar (Anbindung mit 1 GBit/s) und ist die Anlaufstation des Clusters. Über den zweiten Ethernet Anschluss der 4X4 Box geht es auf einen Gigabit Switch, an dem die "Worker" des Clusters angeschlossen sind. Der Hauptrechner kann die Reset-Leitung der einzelnen Worker betätigen (muss noch implementiert werden). Damit sollen die Worker z.B. automatisiert mit Linux installiert werden können. * Vier "Worker Nodes" gibt es, das sind preiswerte Mini-ITX Boards mit Intel N3000 oder N4000 Prozessoren und jeweils 8 GB Speicher. * Als Zugabe ist noch ein `Jetson Nano `_ Board vorhanden, für Experimente die etwas "KI Power" erfordern. Somit ist ziemlich klar sichtbar, dass wir es nicht auf einen Preis im "High-Performance Computing" abgesehen haben, aber für einen gut funktionierenden Demonstrator sollte es allemal reichen. Dafür liegen unsere Ausgaben auch nur bei ein paar hundert Euro. Anregungen für Experimente -------------------------- Meine aktuelle Ideenliste für Experimente mit dem Cluster enthält folgende Stichpunkte: * Docker und Docker Swarm https://www.docker.com * Kubernetes https://kubernetes.io/de (Alternativen mit kleinerem Fussabdruck sind MicroK8 (https://microk8s.io), K3s (https://k3s.io) und Minikube (https://minikube.sigs.k8s.io/docs/). .. (Beispiel: Master Projekt "HSA Web Services" vom Sommer 2020 nochmal nachvollziehen https://r-n-d.informatik.hs-augsburg.de:8080/hws/hws) Rook https://rook.io * Terraform mit KVM Provider * `Minio `_ distributed Object Store (AGPLv3), Beschreibung "`distributed minio `_" * `Proxmox `_ - KVM Virtualisierung - Ceph (verteiltes Dateisystem auf mehreren Knoten - ZFS Filesystem * Apache Spark https://spark.apache.org * `IPython Parallel Computing `_ * Python "multiprocessing", unterstützt durch *Ray Actors* https://docs.ray.io/en/latest/multiprocessing.html * *Jug* Parallelization Framework (Python) https://jug.readthedocs.io/en/latest/ * `DRBD `_ - Distributed Replicated Storage System Mit DRBD und Pacemaker (https://clusterlabs.org/pacemaker, ein Cluster Resource Manager) kann man einen Hochverfügbarkeits-Cluster bauen. * Gluster https://www.gluster.org * Ceph https://ceph.io * OpenMP, https://www.openmp.org * Open MPI, https://www.open-mpi.org * `Slurm Job Scheduler `_ * `Dask `_ - Paralleles Rechnen mit Python (kann auch mit Job Scheduler wie *Slurm* kombiniert werden) * `Cronicle `_ is a multi-server task scheduler and runner * FOG Project https://fogproject.org * FAI https://fai-project.org * Tensorflow auf Cluster (ähnlich c't Artikel in Heft 12/2021, `TensorFlow auf 4 RPis `_). * Firewalls * Load Balancer, `GNU parallel `_, `rush `_ * Sprache Elixir, virtuelle Maschine "BEAM" kann auf unterschiedlichen Knoten eines Clusters laufen. Zugangsdaten ------------ Den Hauptrechner erreicht man nur aus dem Intranet der Hochschule. Der DNS Name ist ``cluster4x4.informatik.hs-augsburg.de`` (IP 141.82.48.160). Sie bekommen Login und Passwort von mir zugeschickt, wenn Sie einen Versuch mit dem Rechner machen möchten. Die vier Nodes sind wie folgt an den Hauptrechner angeschlossen. .. figure:: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/schema.png :target: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/schema.png :width: 600 Die Nodes kommen über den Hauptrechner auch ins Intenet. Auf den Fotos weiter unten sieht man die Nodes 1 bis 4 von links nach rechts im Rack verbaut. .. Die Nodes sind auch im Intranet erreichbar: 141.82.48.161 - cluster-node1.informatik.hs-augsburg.de 141.82.48.162 - cluster-node2.informatik.hs-augsburg.de 141.82.48.163 - cluster-node3.informatik.hs-augsburg.de 141.82.48.164 - cluster-node4.informatik.hs-augsburg.de Jetson Nano: 192.168.0.5 cluster-node1 - Board: `J1900I-C (Asus) `_ - RAM: 8 GByte - MAC: 1c:87:2c:46:f9:a2 - SSD: SanDisk SSD Plus 240GB cluster-node2 - Board: `J1900I-C (Asus) `_ - RAM: 8 GByte - MAC: 1c:87:2c:46:74:fd - SSD: SanDisk SSD Plus 240GB cluster-node3 - Board: `Q1900B-ITX (Asrock) `_ - RAM: 8 GByte RAM - MAC: 70:85:c2:0d:91:5c - SSD: SanDisk SSD Plus 480GB cluster-node4 - Board: `J4205-ITX (Asrock) `_ - RAM: 8 GByte - MAC: MAC: 70:85:c2:83:29:90 - SSD: SanDisk SSD Plus 480GB Jetson Nano - Board: https://developer.nvidia.com/embedded/jetson-nano-developer-kit - IP: 192.168.0.11 Hinweis: Die ASUS Boards booten nicht, wenn kein Monitor angeschlossen ist. Abhilfe schafft ein `Dummy-HDMI `_ Adapter. Bilder ------ [23.6.2021 aktuelle Fotos siehe http://hhoegl.informatik.hs-augsburg.de/Fotos/_build/minicluster/index.html#/0] Der MiniCluster wird in den nächsten Tagen (Mitte April 2021) fertig, deswegen fehlen noch ein paar Sachen auf den Bildern. Den kompletten Aufbau und die Planung dazu hat Michael Schäferling erledigt. Die Schreinerei der Hochschule hat den schönen Holzrahmen gemacht. | .. figure:: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/front.jpg :target: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/front.jpg :width: 300 Die Vorderansicht. Die Worker Boards sind auf Plexiglas Platten montiert, die in den Rahmen geschoben werden können - tolle Idee, © M. Schäferling! Dadurch können die Worker leicht gegen Leistungsfähigere ausgetauscht werden, sollte mal wieder Geld dasein. | .. figure:: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/bottom.jpg :target: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/bottom.jpg :width: 200 Die untere Hälfte des Rahmens. Hier sind die SSD Festplatten mit der gleichen Befestigungsart auf Plexiglas montiert. | .. figure:: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/top.jpg :target: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/top.jpg :width: 200 Von oben. Das Jetson Nano Board muss noch angeschlossen werden. Zur Zeit ist es noch in der originalen Verpackung. | .. figure:: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/back.jpg :target: http://hhoegl.informatik.hs-augsburg.de/pub/minicluster/back.jpg :width: 300 Blick auf die Rückseite. Man sieht, dass in den ATX Netzteilbuchsen der Worker Boards die kleinen Spannungswandler stecken, die nur eine 12V Gleichspannung am Eingang benötigen. Alle 12V Leitungen werden von einem einzigen leistungsfähigen Meanwell Netzteil mit ca. 200 Watt gespeist, das noch im Rack befestigt werden muss. Die komplette Leistungsaufnahme des MiniCluster wird sich im Bereich von ca. 50 Watt (Leerlauf) bis 120 Watt (Volllast) bewegen.