Cloud-effiziente Modellierung und Simulation von magnetischen Nanomaterialien

Cloud-effiziente Modellierung und Simulation von magnetischen Nanomaterialien

Dieses Projekt wendet Cloud-Technologie auf die Materialwissenschaften an und hat dabei einen starken Fokus auf die zu Grunde liegenden Algorithmen. Es geht im Projekt um die Modellierung und um die numerische Simulation von nanomagnetischen Materialien mit Hilfe einer Rechen-Cloud. Letzteres ist bislang nicht effizient möglich. Anwendungen des Projekts liegen in der Entwicklung und Konstruktion von nicht-flüchtigen Bitspeichern.

Magnetische Materialien können über die Maxwell-Gleichungen und die sogenannte Landau-Lifschitz-Gilbert Gleichung (LLGE) beschrieben werden. Die LLGE modelliert das statische und dynamische Verhalten von kleinen magnetischen Dipolen, die in bestimmten Materialien unter dem Einfluss eines äußeren magnetischen Schreibfeldes erzeugt und verändert werden. Die Hauptaufgabe des Projekts ist, es Maß geschneiderte Algorithmen und Löser (sog. Solver) für die LLGE zu entwickeln, die genau zu den spezifischen Eigenschaften von Rechen-Clouds passen. Deren Eigenschaften sind eine schnelle Intra-Server- und eine langsame Inter-Server-Kommunikation. Um die LLGE Cloud-effizient berechnen zu können, müssen somit neue algorithmische Ansätze entwickelt, implementiert und getestet werden. Das Ziel dabei ist es, alle forschungsrelevanten Simulationen über nicht-flüchtige, nanoskalige Computer-Speicher in einer üblichen Rechen-Cloud ausführen zu können, weil sich die zu Grunde liegenden Algorithmen dafür eignen. Das Projekt eröffnet so einer großen Zahl von Forschern den Zugang zur Simulation und Konstruktion zukünftiger Rechner-Hauptspeicher, weil besondere Hilfsmittel wie Rastertunnelmikroskope, Supercomputer oder Parallelrechner weniger wichtig werden.

Motivation und technischer Hintergrund

Nanomagnetische Materialien haben beim Entwurf von Rechnern erhebliches Interesse auf sich gezogen, weil daraus hergestellte Bitspeicher extreme Speicherdichten sowie permanente Datenspeicherung ohne äußere Energiezufuhr haben. Man geht davon aus, dass die Hauptspeicher aller zukünftigen Rechner aus solchen Materialien aufgebaut sein werden. Die bisher eingesetzten Silizium-Speicherchips werden abgelöst werden, genau so, wie sie vor vier Jahrzehnten die Ringkernspeicher abgelöst haben.

Wenn die Rechenmodelle von nanomagnetischen Materialien genau genug sind, und wenn deren numerische Simulation schnell und einfach machbar ist, dann kann eine teure Laborausstattung, beispielsweise in Form von Rastertunnelmikroskopen, reduziert werden. Die Zeit und das Geld, das zuvor in Laboratorien investiert wurde, kann statt dessen dafür verwendet werden, sich auf diejenigen Fragestellungen zu konzentrieren, die simulativ nicht beantwortbar sind. Außerdem weisen Simulationsläufe den experimentell arbeitenden Wissenschaftlern die Wege, die den größten Erfolg versprechen und beschleunigen so den Fortschritt auf diesem Gebiet. Darüberhinaus ist es einer der Vorteile von Simulationen, dass alle prinzipiell möglichen Materialien, Anfangs- und Randbedingungen leicht zugänglich sind, indem die Eingabedatensätze für den Simulator variiert werden.

Parallel zu dieser viel versprechenden Entwicklung bei der Rechnerorganisation und -architektur, ist das Cloud Computing zur allgegenwärtige Methode für Datenspeicherung und -verarbeitung geworden, u.a. deswegen, weil nur diejenigen Leistungen bezahlt werden müssen, die tatsächlich von einem entsprechenden Anbieter bezogen werden, und weil eine Cloud sehr flexibel auf die Zahl der Benutzer reagieren kann, die von ihr bedient werden, insbesonders auch was die Konfiguration virtueller Maschinen anbetrifft. Firmen, Institutionen und Einzelpersonen profitieren vom Cloud Computing, indem sie ihre Rechen- und Speicherbedarfe an kommerzielle Cloud-Diensteanbieter (sog. CSPs) auslagern. Derartige Cloud-Dienste reichen von einfachen Daten-Backups bis hin zu ganzen virtuellen Daten- und Rechenzentren. Das macht Cloud Computing auch für Wissenschaftler attraktiv, denn Forscher brauchen nicht mehr ihre eigene IT-Infrastruktur vorhalten, sondern können dies den CSPs überlassen, die die verschiedenen Benutzeranforderungen durch eine virtualisierte IT erfüllen. Wegen dieser Vorteile wollen Wissenschaftler Clouds auch für das Hochleistungsrechnen und für Simulationen einsetzen.

Die Kombination von nanomagnetischen Materialien und Cloud-Technologie erscheint vielversprechend, denn sie würde es einer großen Zahl von Forschern erlauben, zukünftige Rechner zu simulieren und zu konstruieren, und zwar mit den Mitteln, die sie bereits an der Hand haben. Andernfalls wird dieses Gebiet auf denjenigen Kreis von Wissenschaftlern beschränkt bleiben, die Zugang zu besonderer Laborausstattung und auf einen Supercomputer oder zumindest einen Parallelrechner haben. Leider zeigt es sich, dass beides, Nanomaterialien und Cloud Computing, ihre jeweils eigenen Probleme haben, die gelöst werden müssen, bevor eine größere Forschergemeinde das Gebiet der nanoskaligen Bitspeicher betreten kann. Dies ist der Grund, weshalb es dieses Projekt gibt. 

Hochleistungsrechnen und Simulation mit Cloud Computing

Wie unter anderem in [1], [2] gezeigt wurde, werden übliche Clouds dann schwierig, wenn sie für Hochleistungsrechnen (HPC) und Simulationen eingesetzt werden sollen. Der Grund dafür ist, dass viele existierende HPC- und Simulationscodes keine ausreichende Effizienz aufweisen, wenn sie auf einer Cloud anstelle eines Supercomputers oder Parallelrechners ausgeführt werden. Außerdem sind viele Codes aufgrund zu geringer Beschleunigungsfaktoren (Speed-Ups) in der Cloud nicht skalierbar, selbst wenn man die Zahl der Rechenknoten, die für die HPC-Anwendung zur Verfügung stehen, deutlich erhöht. In Folge dessen ist die effiziente Ausführung von HPC-Codes auf Standard-Clouds nicht leicht möglich und in vielen Fällen nicht einmal lohnenswert. Der Hauptgrund für diese Verhalten liegt in der geringen Leistungsfähigkeit des Datenaustauschs zwischen Cloud-Servern in Bezug auf deren Bandbreite und Latenz. Eine Cloud ist von ihrem Prinzip her nämlich ein verteiltes System, und besteht aus einer Menge von Servern, die über Ethernet gekoppelt sind. D.h. Daten werden mit Hilfe eines lokalen Netzwerkes ausgetauscht, mit der Konsequenz, dass eine übliche Cloud kein Superrechner ist und nicht einmal ein Parallelrechner.

Außerdem haben wurde z.B. in [1], [2] heraus gefunden, dass es nicht reicht, das Cloud-Kommunikationssystem, das praktisch immer Ethernet-basiert ist, auf Infiniband oder Myrinet aufzurüsten, um damit die Cloud in einen Parallelrechner zu verwandeln. Der Grund dafür ist, dass es ist oft nicht möglich ist, diese Hardware auf eine effiziente Weise in das Cloud-Betriebssystem zu integrieren. Wir haben bei OpenStack als Cloud OS gemessen, dass selbst eine Inter-Server-Kopplung mittels 40 Gbit/s-Infiniband dieselbe Latenz aufweist wie eine Kopplung über 1 Gbit/s-Ethernet und nur eine Nettodatenrate von ca. 3 Gbit/s erreicht. Das bedeutet, dass Infiniband alleine die Leistungsunterschiede zwischen Cloud und Parallelrechnern bzw. Supercomputern nicht abmildern kann. Statt dessen müssen weitere Maßnahmen angewendet werden, um Clouds HPC-fähig zu machen. 

Eine dieser Maßnahmen resultiert aus der Erkenntnis, dass Bandbreite und Latenz in der Cloud einer dreistufigen Hierarchie folgen: die schnellste Kommunikation existiert zwischen den Cores derselben CPU, weil diese über einen gemeinsamen Speicher, d.h. entweder über den Level 2- oder den Level 3-Cache der CPU-Chips abläuft. Diese Kopplung erlaubt es, 16 Byte in ca. 1 ns zu übertragen. Die zweitschnellste Kommunikation besteht zwischen den CPUs im selben Server, weil diese über den Hauptspeicher des Servers abgewickelt werden kann, der gemeinsam für alle CPU-Sockel ist. Dies erlaubt es, 1 Byte in ca. 1 ns zu übertragen was 1/16 des vorigen Maximalwertes darstellt. Die langsamste Kommunikation gibt es zwischen den Servern, weil dafür ca. 1 ns pro Bit benötigt wird. Damit besteht ein Leistungsunterschied von ungefähr Faktor 128 zwischen der Intra-Server- und der Inter-Server-Kommunikation. Das ist um eine Größenordnung mehr als bei einem Parallelrechner und um zwei Größenordnungen mehr als bei einem Supercomputer. Numerische Algorithmen müssen dies berücksichtigen, um Cloud-effizient zu sein. Es bedeutet letztlich, dass Cloud-effiziente Algorithmen wenig Inter-Server- und viel Intra-Server-Kommunikation haben sollten. 

Außerdem sind die Rechner in einer Cloud typischerweise leistungsfähige Multi Core Server. Das ist ein wichtiger Unterschied zum verteilten Rechnen, bei dem keine Aussagen über die Intra-Server- und Inter-Server-Leistungen gemacht werden können, denn es handelt sich dabei um völlig heterogene Rechner, die über das Internet gekoppelt sind. Das bedeutet, dass sowohl innerhalb der Rechner als auch zwischen ihnen die erreichbaren Bandbreiten und Latenzen des Datenaustauschs stark variieren können.

Wegen der beschriebenen dreistufigen Kommunikationshierarchie in Standard-Clouds sollten existierende Algorithmen und Löser für mathematische, physikalische, chemische und biologische Probleme neu überdacht und ggf. substantiell verändert werden, um lokale Interprozesskommunikation so weit wie möglich auszunutzen, und um so selten wie möglich auf entfernte Daten zugreifen zu müssen. Existierende HPC-Codes wurden jedoch für Parallelrechner und Supercomputer geschrieben und können nur durch substantielle konzeptionelle und algorithmische Änderungen an die dreistufige Kommunikationshierarchie einer Cloud angepasst werden. In diesem Projekt wird dieser Anpassungsprozess anhand der LLGE exemplarisch dargestellt.

Literaturliste

  1. H. Richter, Vortrag, About the Suitability of Clouds in High-Performance Computing, International Supercomputer Conference Cloud&Big Data, Sept. 28–30, Frankfurt, Germany, 2015 auf Einladung der Veranstalter (Dr. Gentzsch).
  2. H. Richter and A. Keidel and R. Ledyayev, Über die Eignung von Clouds für das Hochleistungsrechnen (HPC), in IfI Technical Report Series ISSN 1860-8477, IfI-15-03, www.in.tu-clausthal.de/forschung/technical-reports/ifi1503richter.pdf, editor: Department of Computer Science, Clausthal University of Technology, Germany, 2015.
  3. P. Ivanovic, H. Richter, A. Bozorgmehr, Cloud-Efficient Modelling and Simulation of Magnetic Nano Materials, Bericht 2015-2016, Simulationswissenschaftliches Zentrum Clausthal-Göttingen, editors: A. Herzog, T. Hanschke, www.simzentrum.de, 2017.
  4. P. Ivanovic, H. Richter, High-Performance Computing and Simulation in Clouds, Clausthal-Göttingen International Workshop on Simulation Science (SimScience 2017), Apr 27, 2017, Göttingen, Germany.

Antragstellender Wissenschaftler

  • Prof. Dr. Harald Richter