Gromacs wurde entwickelt von ScalaLife und finanziert von der European Research CouncilGromacs ist ein vielseitiges Open-Source-Paket zur Analyse der Molekulardynamik biochemischer Moleküle. Aufgrund seiner Beliebtheit haben wir uns entschieden, Gromacs zu verwenden, um die Schritte zur Parallelisierung eines einzelnen Jobs über mehrere Rechenkerne hinweg zu demonstrieren. Das ursprüngliche grundlegende Gromacs-Tutorial finden Sie hier. werden auf dieser Seite erläutertund ein weiteres Parallelisierungs-Tutorial werden auf dieser Seite erläutert.
Unser Beispiel simuliert eine Phospholipidmembran, bestehend aus 1024 Dipalmitoylphosphatidylcholin (DPPC)-Lipiden in einer Doppelschichtkonfiguration mit 23 Wassermolekülen pro Lipid, insgesamt also 121,846 Atomen. Bei größeren Problemen empfiehlt sich die Parallelisierung Ihres Jobs auf mehreren Dynos, um die Laufzeit zu verkürzen. Durch die erfolgreiche Parallelisierung Ihres Jobs auf zwei Dynos können Sie die Laufzeit Ihres Jobs potenziell um 50 % reduzieren.
Als wir unser Beispiel auf vier Prüfständen parallelisierten, halbierte sich die Laufzeit.
Wie Sie sehen, konnten wir bei der Parallelisierung auf vier Kernen (im Vergleich zur Ausführung auf einem Kern) keine vierfache Laufzeitverbesserung feststellen. Verzögerungen treten auf (a) bei der Jobzerlegung und (b) bei der Nachrichtenübermittlung zwischen den verschiedenen am Job beteiligten Dynos auf. Darüber hinaus führt eine nicht gut durchgeführte Zerlegung zu zusätzlichen Verzögerungen durch das daraus resultierende Lastungleichgewicht.
Glücklicherweise bietet Gromacs seinen Nutzern ein Zeiterfassungstool, mit dem sie all diese Faktoren im Auge behalten können. Öffnen Sie dazu einfach die Datei „job-name“.log mit einem Texteditor:
Die Zeiteinheit ist hier CPU-Sekunden. Sie können die tatsächliche Zeit, die für jeden Teil des Jobs aufgewendet wird, berechnen, indem Sie diesen Wert durch die Anzahl der beteiligten Dynos teilen, in diesem Fall vier Dynos. Domänenzerlegung, Wartezeiten, Kommunikation und Lesen/Schreiben sind einige der Faktoren, die uns daran hindern, eine optimale Skalierung zu erreichen. Fortgeschrittene Benutzer können jedoch die von Gromacs bereitgestellten Daten nutzen, um aus ineffizienten Läufen zu lernen und eine effizientere Parallelisierung zu entwickeln.
Melden Sie sich für eine Demo an
Erfahren Sie mehr darüber, wie Rescale den HPC-Cloud-Bereich transformiert.
