Implementierung unter PVM



Next: Zusammenfassung Up: Iterative Tiefensuche auf einem Previous: Ergebnisse

Implementierung unter PVM

  
Figure: Das Prozeßmodell für die Implementierung von AIDA* unter PVM

Bei der Implementierung von AIDA* unter PVM konnte das in Abbildung 3 dargestellte Prozeßmodell nicht beibehalten werden. Jeder Task in PVM ist ein Unix-Prozeßund verfügt somit über seinen eigenen Speicherbereich, so daßein Array, auf das Worker- und Kommunikations-Tasks gemeinsam zugreifen, nicht möglich ist. Die Abbildung 7 zeigt das Prozeßmodell für die Implementierung unter PVM. Dabei wird das Array dem Kommunikations-Task zugeordnet, der auch die erste Phase ausführt. Dieser startet den Worker-Task auf demselben Host, und schickt ihm auf Anfrage Knoten aus dem Array. Hat ein Worker alle Knoten aus dem Array ,,seines`` Kommunikations-Tasks abgearbeitet, so verschickt dieser eine Arbeitsanfrage an einen Nachbar-Task. Obwohl alle Hosts über einen gemeinsamen Bus verbunden sind, werden die Anfragen unter den Prozessoren wie auf einem Ring der Reihe nach an alle Prozessoren weitergeleitet. Lediglich die Arbeitspakete werden direkt an den anfragenden Prozessor zurückgeschickt.



Volker Schnecke
Mon Dec 19 15:48:20 MET 1994