Anhand der gefundenen Programmstruktur wurden die Ansatzpunkte bestimmt, an denen eine Parallelisierung am aussichtsreichsten erschien. Diese Stellen sind in der obengenannten Struktur in den Punkten 5. und 7. zu finden. An diesen Stellen wird vom Programm in jedem Schritt eine Anzahl von Bäumen generiert, die voneinander unabhängig sind und daher auch unabhängig in Bezug auf ihre Kanten optimiert werden können.
Für die Parallelstruktur von pfastDNAml wurde das in
Abb. 5.1 gezeigte Konzept entworfen.
![]() |
Bei diesem Konzept wird die Arbeit, den Maximum-Likelihood-Wert eines Baumes zu berechnen und damit dessen Kantenlängen, von jeweils einem Slave erledigt. Während dies geschieht, können weitere Bäume, die der Master-Prozeß in der Zwischenzeit generiert hat, gleichzeitig von weiteren Slave-Prozessen berechnet werden, da der Master-Prozeß nicht mehr auf die Berechnung des zuletzt generierten Baumes warten muß.
Die Kommunikation zwischen den einzelnen Prozessen ist abhängig von der Rechnerplattform, auf der gerechnet werden soll. Um von dieser rechnerspezifischen Kommunikation unabhängig zu sein, wird die schon erwähnte PARMACS-Befehlsbibliothek (Kap. 3.2.5) verwendet. Diese stellt Befehle zur Verfügung, die einen standardisierten Zugriff auf die Kommunikationsmöglichkeiten der zugrundeliegenden Plattform ermöglichen. Die Implementierung der Kommunikation geschieht für den Benutzer transparent, d.h. er muß sich keine Gedanken über die Implementierung der systemspezifischen Kommunikation machen.
Ziel dieser Parallelisierung ist es, die Laufzeit des Programms durch Erhöhung der Anzahl der Slave-Prozesse auf ein erträgliches Maß zu drücken. Hierzu wurden in dieser Arbeit Laufzeituntersuchungen durchgeführt.
Programmtechnisch gesehen, handelt es sich bei den Master- und Slave-Prozessen um dasselbe ausführbare Programm, das nach seinem Start auf einem Knoten der benutzten Parallelplattform selbständig erkennt, ob es als Master- oder Slave-Prozeß aufgerufen wurde. Dieses mußte aus Gründen der besseren Portabilität sein, da es Parallelplattformen gibt, auf denen in alle reservierten Knoten nur dasselbe Programm geladen werden kann (, )[persönliche Kommunikation]keller-mitteilung.