Installation und Betrieb eines Beowulf Clusters in der Physikalischen Chemie
Der nachfolgende Artikel beschreibt die Installation eines Linux-Clusters, zuerst aus Sicht der Administratoren Thomas Lange und Constantin Hellweg. Thomas Lange ist Systemadministrator im Institut für Informatik, seit drei Jahren Debian-Developer und Autor der Software Fully Automatic Installation (FAI). Constantin Hellweg ist studentische Hilfskraft am Institut für Informatik und seit Beginn 2002 vor allem für Tests und Konfigurationen von FAI zuständig.
Im zweiten Teil beschreiben die Anwender Thomas Kraska, Björn Fischer, Norbert Lümmen und Roberto Rozas ihre Forschungsarbeiten auf dem Cluster. Thomas Kraska ist Privatdozent, Björn Fischer, Norbert Lümmen und Roberto Rozas sind Doktoranden am Institut für Physikalische Chemie.
Aus Sicht der Systemadministratoren
Im Juli 2001 bekam ich eine E-Mail aus der Physikalischen Chemie:
"Wir beabsichtigen in Kürze ein PC-Linux-Cluster zu installieren (25 Knoten) und wollten uns erkundigen, ob Sie evtl. Zeit/Interesse haben, Ihre Erfahrung bei der Installation von Linux-Clustern mit Ihrem FAI-System zu teilen."
Als Autor von FAI (Fully Automatic Installation), einer vollautomatischen Installation für Debian Linux und Solaris, war ich sehr an weiteren Erfahrungen beim Installieren von Clustern interessiert. In der Arbeitsgruppe waren zu dem Zeitpunkt fünf Arbeitsplatz-Rechner vorhanden, die mit SUSE-Linux betrieben wurden. Die Rechner wurden als Einzelplatz-Rechner konfiguriert und über NFS untereinander, bzw. mit SAMBA zu den Windows-Rechnern der Arbeitsgruppe verbunden.
Beim Blick auf die Hardware konnte ich noch einige nützliche Hinweise geben wie die Bestellung bootfähiger Netzwerkkarten, die eine Installation der Clients mit FAI über das Netzwerk erheblich vereinfachen. Auch hat sich die Anschaffung eines 2-fach KVM-Umschalters (Keyboard-Video-Mouse) und je eines 10 m langen Monitor- und Tastaturkabels als sinnvoll erwiesen, um im Notfall auch Konsolenzugriff auf jeden Client-Knoten zu haben.
In der Vorbesprechung wurden dann Fragen zu den technischen Details der Installation des Debian-Systems besprochen. Hier bestand noch Informationsbedarf, welche Dienste (z.B. NIS, NTP, NFS) in welcher Art und Weise sinnvoll installiert und konfiguriert werden sollten. Auch allgemeine Fragen zu Backup und Benutzerverwaltung mussten erörtert werden. In diesem Zusammenhang sei ein Handbuch von Peter Ganten mit dem Titel ,Debian GNU/Linux" erwähnt, in dem Debian-spezifische Details erläutert werden. Einige Monate später war die Hardware geliefert, das Regal aufgebaut, die Rechner hineingestellt und verkabelt. In den ersten zwei Tagen wurde der Masterknoten des Beowulf Clusters per Hand installiert. Einige Tage später war das Cluster dann betriebsbereit. Mit der damaligen Version von FAI musste noch vieles nachträglich per Hand angepasst und konfiguriert werden.
Viel Arbeit bereitete damals auch das Auffinden von Hardwaredefekten. Egal wie sorgfältig der Händler die Hardware testet, sofern dies überhaupt erfolgt, wird es beim Erwerb einer Vielzahl von PCs immer einige Defekte geben. Sie zu erkennen und beheben nimmt viel Zeit in Anspruch. Viele Details fallen erst im Laufe der Zeit auf. So wurden zum Beispiel neben einem nicht-funktionierenden Resetknopf einige Festplatten-Defekte ebenfalls erst später entdeckt. Das Cluster läuft seit der Anschaffung ohne große Unterbrechungen. Im Laufe der Zeit haben sich zwei Schwachstellen in der Hardware herausgestellt - Netzteile sowie CPU-Lüfter. Solchen Problemen sollte man direkt bei der Beschaffung vorbeugen, indem man spezielle, verlässlichere Komponenten bei der Ausschreibung der Hardware fordert.
Dieses Cluster lief nun ca. 2 Jahre fast unverändert und es wurden nur von Zeit zu Zeit Sicherheitsupdates eingespielt. Dies geschieht auf sehr einfache Weise mit dem Debianbefehl apt-get, der sich ferngesteuert auf allen Clusterknoten starten lässt. Nun stand ein Update auf die neue Debian und FAI Version an. Da inzwischen zwei neue Festplatten im Masterknoten eingebaut waren und einiges neu konfiguriert werden sollte, beschlossen wir eine komplette Neuinstallation des Clusters. Mit der neuen Version von FAI konnte nun auch der Masterknoten vollautomatisch installiert werden, da seine Konfiguration vor der Installation neu geplant und auf einem Notebook abgelegt wurde. Nach dem Backup aller wichtigen Daten und der Behebung kleiner Fehler in unserer Konfiguration installierte sich der Masterknoten innerhalb von acht Minuten. Bei der Installation der weiteren Clusterknoten wurde ein neues Hardwareproblem (defekter Hauptspeicher) entdeckt, welches wieder mehr Zeit in Anspruch nahm als die Installation eines einzelnen Knotens. Da dieses Cluster für mich die Möglichkeit bot, meine Software FAI einem Performancetest zu stellen, installierten wir nacheinander 1, 5, 10 und 20 Rechner gleichzeitig. Die Installationszeit für einen Rechner alleine betrug ca. 340 Sekunden und stieg für 20 Rechner nur sehr gering auf durchschnittlich 380 Sekunden an. Somit ist gezeigt, dass dieses Verfahren gut skaliert und sicherlich auch für größere Cluster ein geeignetes Installationswerkzeug ist. FAI eignet sich aber nicht nur für homogene Hardwareausstattungen wie in einem Cluster, sondern ist auch ohne Aufwandssteigerung ideal für sehr unterschiedliche Hardware, wie sie oft bei Arbeitsplatzsystemen vorgefunden wird. Dank seines einfachen Klassensystems kann eine Konfiguration aus fertig vordefinierten Bausteinen zusammengebaut werden, ohne sehr tiefen Einblick in die Systemadministration haben zu müssen. Außerdem garantiert diese Art der Installation eine identische Konfiguration aller Rechnerknoten. Die gesamte Neuinstallation dauerte zwei Tage, von denen die Datensicherung und Performancetests einen Großteil der Zeit in Anspruch nahmen.
Neben dem Cluster in der Physikalischen Chemie in Köln [1] wird FAI mittlerweile in sehr vielen verschiedenen Umgebungen eingesetzt [2]. In Saarbrücken wurden beispielsweise zwei Beowulf-Cluster der Physik mit FAI installiert. In Berlin administriert eine Arbeitsgruppe ca. 140 unterschiedliche Desktop-Rechner mit diesem Tool und das 100-Roboter-Projekt "centibots" nutzt FAI zu Installation seiner fahrenden Roboter. Sogar in der TOP 500 Liste der schnellsten Supercomputer der Welt werden zwei mit FAI installierte Cluster (120 Dual-AMD- und 90 Dual-Itanium-Knoten) gelistet.
Thomas Lange, Constantin Hellweg
Aus Sicht der Anwender
Das Linux-Cluster wurde im Sommer 2001 aus Mitteln eines Projektes, das durch das Ministerium für Wissenschaft und Forschung NRW gefördert wurde, angeschafft. Das Cluster besteht aus einem Masterknoten, der mit einer 40 GB SCSI-Festplatte und 256 MB RAM ausgestattet war. Er wurde später mit zwei 120 GB Festplatten nachgerüstet. Die ursprünglich 25 Client-PC haben ebenfalls 256 MB RAM und eine 20 GB IDE Festplatte. Der Masterknoten enthält einen Prozessor AMD Athlon XP mit einer Taktfrequenz von 1.2 GHz, die Clients einen entsprechenden 1-GHz-Prozessor. Des weiteren wurden auf Vorschlag des Autors von FAI die Client-PCs mit bootfähigen 3COM Netzwerkkarten ausgestattet, was die Installation sowie die Wartung der Clients mit dem FAI-System erheblich erleichtert. Der Masterknoten ist mit zwei Netzwerkkarten ausgestattet, von denen eine mit der Außenwelt kommuniziert und eine über einen 32-fach Switch mit den Client-PCs verbunden ist. Es sollte darauf hingewiesen werden, dass der Betrieb eines solchen Clusters besondere Anforderungen an die Infrastruktur stellt. So ist eine hinreichende Stromversorgung zu gewährleisten, die die eines üblichen Büroraums deutlich überschreitet. Ferner ist für eine ausreichende Klimatisierung des Raumes zu sorgen. Durch die Wärmeentwicklung sowie die Lärmentwicklung durch die Computer und die Klimaanlage ist dieser Raum nicht mehr als Arbeitsraum zu verwenden.
Als wir uns über die Installation des Clusters Gedanken machten und nach geeigneten Systemen suchten, sind wir auf das FAI System gestoßen. Wir haben daraufhin mit dem Autor von FAI Kontakt aufgenommen, der spontan seine Unterstützung bei der Installation zugesagt hat. Wir konnten dabei von der umfassenden Erfahrung profitieren, die sich nicht nur auf FAI sondern auch auf Debian-Linux bezog. Nachdem wir bislang SUSE-Linux eingesetzt hatte, ließen wir uns überzeugen, für das Cluster Debian/GNU Linux zu installieren. Zum einen unterstützte FAI zur dieser Zeit nur Debian, zum anderen läuft Debian sehr stabil und verfügt über ein sehr einfaches Softwareupdatesystem.
Nach der Bewältigung einiger Hardware- und Softwareprobleme, die oben bereits beschrieben wurden, konnte der Masterknoten des Clusters installiert werden. Mit einem Test-Client wurden dann die Parameter der Client-Installation über das Netzwerk ausgewählt. Im Anschluss konnten dann alle Clients über das Netzwerk vom Masterknoten aus automatisch installiert werden. Dazu muss lediglich die Hardware Adresse der Client-Netzwerkkarte ausgelesen und mit der Cluster-internen IP-Adresse in die Konfigurationsdateien auf dem Masterknoten eingetragen werden. Die Installation eines Clients beschränkt sich dann auf die Betätigung der Einschaltknopfes. Ist der Masterknoten einmal richtig konfiguriert, lassen sich neue Client-Rechner auf diese Weise sehr einfach hinzufügen, oder nach einem Hardwaredefekt schnell neu installieren.
![]()
Abbildung 1: Das Linux-Cluster
Um einen möglichst störungsfreien Betrieb der einzelnen Clients bei der Durchführung der Berechnungen zu gewährleisten, werden die Programme zwar von dem via NFS gemounteten home-Verzeichnis des Users auf dem Masterknoten gestartet, alle Ausgabedateien werden jedoch auf den lokalen Festplatten jedes Clients abgelegt. Im Vergleich zu anderen Cluster-Konfigurationen werden bei dieser Konfiguration die Rechnungen nicht durch einen, wenn auch seltenen Ausfall des Masterknotens, des Switches oder eines anderen Clients beeinträchtigt oder gar abgebrochen.
Auf dem Linux-Cluster werden molekulardynamische Simulationen durchgeführt. Dazu werden zum Teil selbst geschriebene Programme, zum Teil für spezielle Fragestellungen modifizierte Open-Source-Programme eingesetzt. Im Moment stehen Simulationen zur Bildung von flüssigen Partikeln (Aerosole) und Metallpartikeln aus der Gasphase im Vordergrund. Hinzu kommen soll die Abscheidung von Metallen aus der Gasphase an Oberflächen. Die Auswertung dieser molekulardynamischen Simulationen liefert eine Reihe von Informationen über die Bildung, Struktur und Eigenschaften von Partikeln auf atomarem oder molekularem Niveau. Diese Arbeiten stellen einen Beitrag zur Materialforschung dar.
Bei der Molekulardynamik werden die Bewegungsgleichungen der Atome oder Moleküle, die im Kraftfeld aller anderen Atome oder Moleküle beschleunigt werden, numerisch berechnet. Man gibt bei dieser numerischen Integration der Newtonschen Bewegungsgleichungen einen Zeitschritt vor, der in der Größenordnung von einer Femtosekunde liegt (1 fs = 10-15 s), und berechnet die Bewegung aller Atome für diesen Zeitschritt aufgrund der gegenseitigen Anziehung der Atome. Die Bewegung der Atome kann man in weiteren Schritten fortsetzen und erhält somit eine Abfolge von Konfigurationen, die man wie einzelne Bilder eines Films betrachten kann. Typische Simulationszeiten liegen bei einigen Nanosekunden (1 ns = 10-9 s) bis zu 100 Nanosekunden, was eine Million bis 100 Millionen Zeitschritte erfordert.
![]()
Abbildung 2: Zeitliche Entwicklung der Anteile der atomaren Strukturen im Laufe einer Simulation [4, 5]. Man erkennt zunächst die Bildung von ikosaedrischen Strukturen gefolgt von der Umwandlung in die kubisch-flächenzentrierte (fcc) und hexagonal dichtgepackteste Struktur (hcp). Bei kleinen Partikeln tritt im Gegensatz zur Bulk-Phase keine kubisch-raumzentrierte Phase (bcc) auf. Ebenfalls gezeigt ist eine Momentaufnahme von zwei Partikeln kurz vor einer Kollision (Koaleszens).
Die zur Durchführung solcher molekularen Simulationen notwendige Rechenzeit hängt stark von dem verwendeten Potentialmodell zur Beschreibung der molekularen Wechselwirkung ab. Bei der Untersuchung der Bildung von flüssigen Partikeln aus der Gasphase beschäftigen wir uns zur Zeit mit Methanol [3], für das unterschiedliche Potentialmodelle existieren. Man kann zum Beispiel einen sogenannten all-atom Ansatz benutzen, bei dem jedes Atom des Moleküls durch eine Wechselwirkungseinheit (Engl.: Site) wiedergeben wird. Im Fall von Methanol (CH3OH) hat man folglich sechs Sites pro Molekül. Für viele wissenschaftliche Probleme ist es jedoch hinreichend, die CH3 Gruppe durch nur eine Site anzunähern, was für Methanol zu drei Sites pro Molekül führt. Auf den Client-PCs benötigt man für eine Simulation von 1000 Methanol-Molekülen mit einem 3-Site-Potentialmodell und 2000 Argon-Atomen, die als Wärmebad dienen, pro Nanosekunde Simulationszeit 1,8 bis 2,6 Tage CPU-Zeit, je nach Dichte der Substanz. Um ausgehend von dem Sprung ins übersättigte Gebiet des Phasendiagramms wieder einen stabilen Zustand zu erhalten, sind je nach Temperatur und Dichte 20-30 Nanosekunden Simulationszeit notwendig.
Im Fall des 6-Site all-atom Ansatzes wird für eine Nanosekunde Simulationszeit 2,7 bis 3,5 Tage CPU-Zeit benötigt (Alle Angaben beziehen sich auf einen Athlon-Prozessor mit 1GHz). Während der Simulation wird in bestimmten Abständen die Molekül-Konfiguration in einer Datei abgespeichert, die im Anschluss ausgewertet wird. Der Speicherbedarf für die Konfigurationen bei dem 3-Site Modell liegen bei 5,8 GB und für das 6-Site Modell bei 9 GB für eine Simulation über 16 Nanosekunden.
Bei den Simulationen zur Bildung von Eisen-Nanopartikeln [4, 5] aus der übersättigten Gasphase ist es notwendig, ein Mehrkörperpotential zu verwenden, das effektiv die delokalisierten Elektronen berücksichtigt. Im Rahmen der Untersuchung wird die sogenannte Embedded-Atom-Method (EAM) verwendet, die die Wechselwirkung der Metallatome durch zwei Beiträge beschreibt: Ein Funktional der Elektronendichte am Ort eines Atoms, zu der die benachbarten Atome beitragen, und die Paarwechselwirkung der Atomrümpfe, für die zum Beispiel ein abgeschirmtes Coulomb-Potential benutzt werden kann. Setzt man bei diesen Simulationen 343 Eisenatome sowie 686 Argonatome als Wärmebad ein, so benötigt man für eine Nanosekunde Simulationszeit je nach Dichte und Temperatur 0,3 bis 1,9 Tage CPU-Zeit. Die Gesamtzeit einer typischen Simulation ist 16 Nanosekunden. Für die zuvor erwähnte Simulation von 16 Nanosekunden benötigt diese Konfigurationsdatei 3,5 GB Speicherplatz. Die anschließende Analyse dieser Datei wird mit Auswerteprogrammen durchgeführt, die zum Beispiel die atomare Struktur analysieren. In Abb. 2 ist eine Momentaufnahme von zwei Eisen-Partikeln kurz vor einer Kollision herausgegriffen, bei der jede Farbe/Graustufe einer bestimmten Struktur entspricht.
Der Einsatz von FAI stellt eine große Unterstützung für unsere Arbeit dar, da nach der Installation des Masterknotens die weitere Installation und Wartung des Clusters relativ wenig Zeit in Anspruch nimmt. Das System ist aus unserer Sicht sehr zu empfehlen. Weitere Informationen über FAI und Links zu weiteren FAI Benutzern bekommt man auf der FAI Webseite [2].
[1] http://van-der-waals.pc.uni-koeln.de/persons/LinuxCluster.html
[2] http://www.informatik.uni-koeln.de/fai/user.html
[3] B. Fischer, Diplomarbeit, Januar 2003.
[4] N. Lümmen, T. Kraska, Nanotechnology, in Druck, 2004.
[5] N. Lümmen, T. Kraska, Manuskript in Vorbereitung.