Direkt zum Inhalt

Das Problem der granularen Materialien ist nicht allein ein Problem der Materialeigenschaften, sondern auch ein Problem der Strukturen. Um diese interessanten Systeme zu untersuchen, verwendet man Molekulardynamiksimulationen. Das Ziel der hier vorgestellten Arbeit war es, ein Programm zu haben, das auf preiswerten High-End Shared-Memory-Workstations laufen kann. Dazu haben wir eine schnelle thread-basierte Simulation von polygonalen Partikeln entwickelt.

Ein Thread ist eine unabhängige Sequenz von Programmcode innerhalb eines Prozesses. Wenn man also zwei Threads in einem Programm hat, das auf einer Maschine mit zwei Prozessoren läuft, werden die beiden Threads parallel ausgeführt und teilen sich denselben Speicher. Es muss jedoch verhindert werden, dass eine Race Condition entsteht, wenn beide Threads dieselben Daten bearbeiten. Dies kann durch die Verwendung von Semaphoren erreicht werden, was allerdings einen geringen Zeitaufwand bedeutet. Die bessere Lösung ist, die Algorithmen so zu gestalten, dass jeder Thread einen separaten Teil der Daten manipulieren kann.

Im ersten Schritt sucht das Programm nach Kollisionen der Bounding-Boxen der Partikel, indem es auf die Liste aller Boxen zurückgreift. Da wir zwei Threads verwenden, teilen wir den Algorithmus in zwei Threads für die X- und Y-Achse auf. Der zweite Schritt ist eine schnelle Methode, um den Abstand zwischen zwei Polyedern zu berechnen, indem die nächstgelegenen Punkte gefunden und verfolgt werden. Hier erhalten wir eine Liste der möglichen Kollisionen aus dem Bounding-Box-Algorithmus. Diese Liste kann auf völlig unabhängige Weise geteilt und überprüft werden. Wenn wir die Liste der Kontakte haben, können wir die Kräfte aus dieser Liste auch parallel berechnen, da ein Kontakt nicht von anderen Kontakten beeinflusst wird. Nun kann der Differentialgleichungslöser für jedes Teilchen in der Simulation gestartet werden. Auch hier befinden sich alle Informationen in einer Struktur, so dass die Threads ihre Arbeit ohne Kommunikation oder die Verwendung von Semaphoren erledigen können.

Wir werden unsere parallelen Versionen von Algorithmen für die Simulation von granularen Materialien vorstellen. Das Programm ist so konzipiert, dass es optimale Bedingungen für die Parallelisierung im gemeinsamen Speicher bietet.

Authors
Alexander Schinner
Klaus Kassner
Veröffentlichungsdatum
1999
Veranstaltung
Molecular Dynamics on Parallel Computers
Ort
Jülich, German
x