Graphische Ausgabe mit Multiprozessprogramm
-
Hallo Leute,
ich schreibe zur Zeit an einem Programm zur Lösung linearer Gleichungssysteme.
Ich möchte jetzt das Verhalten der Matrix der linearen Gleichungen graphisch darstellen. Das heißt bei jedem Iterationsschritt (bzw alle 100 Schritte) soll die Veränderung der Werte in einem Fenster dargestellt werden. Das ist für einen Prozess nicht schwer.
Ich möchte das ganze aber für bis zu 16 Prozesse machen. Als Bibliothek zur Parallelisierung benutze ich MPI. MPI stellt ja das MPE Interface zur Verfügung. Das macht aber sein eigenes Fenster auf. Ich möchte gerne, dass das aber auch in ein von mir kreiertes Fenster geschrieben wird.Jetzt die Frage:
Wie mache ich es, dass mehrere Prozesse in das selbe Fenster schreiben können?Danke schonmal
Meaculpa
-
obwohl ich mpi nicht kenne tippe ich mal auf das "standard - vorgehen"; also shared memory für die daten die das fenster darstellen soll (welches wahrscheinlich ebenfalls als eigener prozess läuft) und semaphoren um den zugriff zu regeln.
-
Danke für die Idee, aber die Prozesse laufen auf 8 SMP-Maschinen. D.h. das mit dem Shared Memory geht nicht.
Trotzdem Danke.
-
Du könntest einen FIFO anlegen, der die Daten zum Fenster (Monitor) schaufelt. Du könntest natürlich auch einfach pipen, du könntest einzelne Files für die jeweiligen Prozesse anlegen, die dann vom Monito-Programm (das Fenster) upgedated werden. Oder du machst das über eine Server-Client-Architektur, der Server wäre dein Monitor, die Kommunikation wird per Sockets geregelt.
MfG Kimmi
-
FIFO ist für einen Cluster nicht optimal, Client-Server-Architektur mit Sockets klingt schon besser.
Wobei ich aber dazusagen muss, dass ich überhaupt keine Ahnung von MPI habe, insofern bin ich vermutlich kein guter Ansprechpartner.