2010-12-16 7 views
0

Ich bin auf der Suche nach einer Inter-Prozess-Barriere-Implementierung. Prozesse sind im gemeinsamen Speicher (dh auf der gleichen ndoe).Barrier Implementierung für Interprozess in Shared Memory

Prozesse sind MPI-Prozesse. Ich möchte die MPI_Barrier-Funktion nicht verwenden, da die allgemeine Richtlinie für die gesamte MPI-Implementierung aktiv ist. Ich möchte, dass meine Prozesse so lange schlafen, wie sie warten.

Die Einschränkungen:

  • in C sein sollte, vielleicht in C++
  • kein spinlock, es könnte so verwenden Semaphore
  • Linux OS

Ich bin zuversichtlich, dass es Tausende von existiert Barrier Implementierung, aber ich finde keine ?!

Danke

Antwort

3

pthread_barrier ist die POSIX API für Barrieren. Sie können in gemeinsam genutzten Arbeitsspeicher leben, wenn Sie sie entsprechend initialize.

+0

Es klingt großartig! Ich versuche es. –

1

Sie sollten Boost überprüfen. Ich glaube, dass es ein interprocess Modul hat, das Sie verwenden können.