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