Machine Learning Cluster am Campus Lingen

Aufbau eines Machine Learning Clusters

Herausforderung

Für den Aufbau eines Machine Learning Clusters am Standort Lingen sind einige relevante Aspekte zu berücksichtigen. Dazu zählen unter anderem die Wärmeentwicklung, die Gewährleistung gewisser Sicherheitsstandards, der Strombedarf etc. Beispielsweise sind die Serverschränke in unserem Serverraum auf den Strombedarf limitiert und die Klimaanlage kann nur begrenzte Abwärme abführen. Entsprechend sind diese Faktoren bei der Hardware-Zusammenstellung zu berücksichtigen. In diesem Kontext ist ein weiterer Aspekt, die möglichst maximale Hardware-Leistung für das Machine Learning Clusters im festgelegten Projektbudget zu generieren. 

Vorgehen

Zunächst erfolgte der Aufbau erster Server mit ausgewählter Gaming Hardware. Dies hat den Hintergrund, dass Benchmarks auf der jeweiligen Hardware mit künstlichen neuronalen Netzen zur Bildklassifikation durchgeführt wurden. Für die Benchmarks wurden alle relevanten Hardware-Sensordaten mithilfe eigener Skripte beobachtet sowie dokumentiert. Aus diesen Werten bzw. Daten konnten Anpassungen an der (neuen) Hardware-Konfiguration vorgenommen werden, um Engpässe zu vermeiden.

Grafikkarten statt Prozessoren

Im Vergleich zu Prozessoren bieten Grafikkarten bei Fließkommaberechnungen eine deutlich bessere Leistung zu einem günstigeren Preis. Als Beispiel benötigt das ResNet50 zum Trainieren (mit ImageNet Datensatz) etwa 1018 Gleitkommaoperationen. Folglich wird für dieses Training im geplanten Cluster theoretisch 51 Minuten benötigt. Da für maschinelles Lernen Fließkommaberechnungen essenziell sind, haben wir ein reines Grafikkarten Cluster aufgebaut, um die maximale Leistung aus dem festgelegten Budget zu gewinnen. In der Vergleichsgrafikken (s.u.) ist zu erkennen, dass die GPU deutlich schneller ist als CPUs.

Die Trainingsdauer einer Epoche des Resnet50 bei BatchSize32 und 100.000 Bildern in 200 verschiedenen Klassen.

Auswahl der Grafikkarte

Für die Wahl der passenden Grafikkarte wurde die GIGABYTE GeForce GTX 1080 Ti, ASUS GeForce RTX 2080 Ti TURBO, NVIDIA TITAN RTX und NVIDIA Tesla T4 miteinander verglichen, um die weitere Cluster-Planung zu präzisieren. Die NVIDIA TITAN RTX und ASUS GeForce RTX 2080 Ti TURBO bieten nahezu identische Leistungsmerkmale. Die Titan RTX Grafikkarte unterscheidet sich in diesem Kontext nur mit einem höheren Speicher, jedoch für einen deutlich höheren Preis. Im weiterem Vergleich positioniert sich die Tesla T4, aufgrund der Leistungenmerkmale, hinter der GeForce RTX 2080 Ti.

In den ersten Testservern mit Gaming Hardware stieg die Temperatur der Grafikkarten stark an. Nach gründlichen Untersuchungen wurde festgestellt, dass ein falsches Kühlungssystem dies verursachte. Für die Problemlösung haben wir eine Grafikkarte mit Blower-Cooler-Technik ausprobiert. Die Blower-Cooler-Variante ermöglicht es, dass die warme Luft der Grafikkarte nach hinten herausgeleitet wird (s. Grafik). Demzufolge befindet sich keine heiße Luft im Server und es ergänzt sich mit dem Front-To-Back Luftstrom in Servergehäusen. Für den Cluster-Aufbau wurde daher die Blower-Cooler Variante sowie die GeForce RTX 2080 Ti, aufgrund ihrer Leistungsmerkmalen, gewählt.

Clustermanagement

Für die explizite Verwaltung des Clustersmanagements wird von uns Slurm (Simple Linux Utility for Ressource Management) eingesetzt. Es basiert auf einem Batch-System, wodurch eine Annahme sowie Bearbeitung von Rechenjobs möglich ist. Jeder Nutzer formuliert seinen Rechenjob in einem Bash-Skript mit entsprechender SLURM-Syntax. Dadurch werden Hardware-Ressourcen wie Anzahl der Rechenkerne, Laufzeit, Speicher, etc. angefordert. Diese Informationen werden von Slurm genutzt, um einen Job zu starten, sofern die benötigen Ressourcen im Cluster zur Verfügung stehen. Sind alle Ressourcen belegt, werden sämtliche Jobs in einer Warteschlange abgelegt.

Ausstattung des Machine Learning Clusters

Server Deepspace 6 Deepspace 7-9 Demonsrun (Login-Server)  Demonsrun 1-6
CPU Intel(R) Core(TM) i5-6600K CPU 3.5GHz Intel(R) Core(TM) i7-7700K CPU @A 4.20 GHz

Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz

Je 2x Intel(R) Xeon(R) Silver 4216 CPU @ 2.10GHz

GPU 1x ASUS GeForce RTX 2080 Ti Turbo 11GB 3x Gigabyte 1080 Ti 11GB Je 4x Gigabyte GeForce RTX 2080 Ti Turbo Blower Edition 11GB
RAM 32 GB Je 64 GB 96 GB  Je 192 GB

 

Bilder des Clusters