Starten Sie 16.384 Windows-Apps auf einem Linux-Supercomputer in nur 5 Minuten
- MIT-Forscher entwickeln ein Modell, das innerhalb von 5 Minuten gleichzeitig 16.384 Windows-Anwendungen auf Linux-Supercomputern ausführt.
- Dazu verwendeten sie die LLMapReduce-Technologie von Lincoln Lab zusammen mit der Wine Windows-Kompatibilitätsschicht.
Da die Geschwindigkeit des Mooreschen Gesetzes abnimmt, ist es notwendig geworden, Parallelverarbeitung zu verwenden, um die Anwendungsleistung zu steigern. Neuronale Netze, physikalische Simulation und Datenanalyseanwendungen entwickeln sich rasant weiter und nutzen die Leistungsfähigkeit der Parallelverarbeitung, um ihr Leistungsziel zu erreichen.
Um solche datenintensiven Anwendungen auszuführen, benötigen Sie verschiedene Software, die auf bestimmten Betriebssystemen basiert, wie z. B. Microsoft Windows, das über langjährige Erfahrung in der Implementierung von Parallel Computing verfügt.
Allerdings laufen die 500 besten Supercomputer der Welt auf Linux und sind in der Lage, interaktive Anwendungen auf Tausenden von Kernen in Sekundenschnelle auszuführen. Normalerweise werden virtuelle Maschinen (VMs) verwendet, um Windows-Programme auf Linus-Computern auszuführen, was den Anwendungen einen hohen Overhead auferlegt.
Die Ausführung mehrerer VMs auf einem Supercomputer kann pro virtueller Maschine mehrere Sekunden (manchmal Minuten) dauern. Die Skalierung auf Tausende von Kernen in bestehenden Supercomputern führt sicherlich zu Effizienz- und Leistungsproblemen, was es schwierig macht, Unmengen von Windows-Anwendungen gleichzeitig auf einem Supercomputer auszuführen.
Jetzt hat ein Forscherteam am MIT eine neue Technik entwickelt, mit der Windows-Anwendungen schnell auf Tausenden von Prozessoren eines modernen Supercomputers gestartet und ausgeführt werden können. Insbesondere haben sie den Start von 16.000 Windows-Anwendungen innerhalb von 5 Minuten demonstriert (jede Anwendung wird von einem Kern verwaltet).
Wie funktioniert es?
Um Windows-Anwendungen schnell auf einem Linux-Supercomputer zu starten, verwendeten die Forscher die LLMapReduce-Technologie (Multi-Level Map-Reduce) von Lincoln Lab zusammen mit der Windows-Kompatibilitätsebene Wine. Für Hochleistungsrechnen ändert die mehrstufige Planung den Analysecode geringfügig, um zahlreiche Datensätze mit einem einzigen Jobstart zu verarbeiten.
Der MIT SuperCloud-Software-Stack verfügt über eine benutzerfreundliche Schnittstelle, die Zugriff auf LLMapReduce ermöglicht, um Tausende von Aufgaben effizient in einem Cluster auszuführen. Dadurch werden komplexe parallele Planungs-, Abhängigkeitsauflösungs- und Aufgabenübermittlungsaufträge auf eine Codezeile reduziert und gleichzeitig die Aufgabenleistung durch Minimierung der Latenz jeder Aufgabe erhöht.
Da LLMapReduce nicht auf einer bestimmten Sprache basiert, funktioniert es mit jeder ausführbaren Datei, was es ideal macht, mehrere Wine-Instanzen gleichzeitig zu starten.
Komponenten des SLURM-Schedulers | Mit freundlicher Genehmigung von Forschern
Sie verwendeten einen Open-Source-Jobplaner namens Slurm Workload Manager, um Ressourcen schnell zu identifizieren, sie Aufgaben zuzuweisen, die Aufgabenausführung auf den zugewiesenen Ressourcen zu planen, sie zu starten, die Aufgabe während der Ausführung zu überwachen und eine Epilog-Bereinigung durchzuführen, wenn die Aufgabe beendet ist.
Referenz:arXiv:1808.04345
Ergebnisse
Startzeiten und Startraten von Windows-Instanzen
Die Forscher implementierten ihr System auf einem Supercomputer mit 648 Rechenknoten (jeder Knoten verfügt über nicht weniger als 64 Xeon Phi-Verarbeitungskerne) mit insgesamt 41.472 Kernen. Sie führten eine einzelne Window-Instanz auf 1, 2, 4, 8… 256 Knoten aus, gefolgt von 2, 4, 8… 64 Instanzen auf jedem der 256 Knoten, was insgesamt 16.384 gleichzeitige Instanzen ergab.
Lesen Sie:Speicherverarbeitungseinheiten können KI-Algorithmen effizient implementieren
Die Ausführung aller dieser Instanzen dauerte fast 5 Minuten und ermöglichte so eine breite Palette ausführbarer Windows-Anwendungen auf Supercomputern. Das Team plant, diese Fähigkeit auf eine größere Anzahl von Prozessoren auszudehnen, die vielfältigere Programme ausführen.
Industrietechnik
- Metallfestigkeitstabelle:Welches Material hat die ideale Metallfestigkeit
- Schaltung mit Schalter
- Wie schreibe ich ein nützliches und effektives Standardwartungsverfahren?
- ECAD für einfaches Kabelbaum-Industriedesign
- Sprühsilikonversiegelung:Ihre richtige Wahl für Elektronikanwendungen
- Die 15 modernsten High-Tech-Städte der Neuzeit
- Warum Sie Rohrverschraubungen nicht untereinander mischen sollten
- Arbeitsplatzentwicklung ist die neue Personalentwicklung
- 8 verschiedene Arten von Cloud Computing im Jahr 2021
- Kostenlose Unterstützung beim Unternehmenswachstum für Hersteller