Direkt zum Inhalt

Das Problem der granularen Medien ist nicht nur 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 es zu Wettlaufsituationen kommt, wenn beide Threads dieselben Daten manipulieren. Dies kann durch die Verwendung von Semaphoren erreicht werden, obwohl dies nur wenig Zeit kostet. 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 Boxes 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 möglicher Kollisionen aus dem Bounding-Box-Algorithmus. Diese Liste kann geteilt und auf völlig unabhängige Weise überprüft werden. Mit der Liste der Kontakte 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.

Authors
Alexander Schinner
Klaus Kassner
Journal
Molecular Dynamics on Parallel Computers, pages 239-249, World Scientific
Veröffentlicht
1999
x