Barrière pour la mise en oeuvre inter processus dans la mémoire partagée
-
10-10-2019 - |
Question
Je cherche une mise en œuvre de la barrière inter-processus. Les processus sont dans la mémoire partagée (ie. Sur le même ndoe).
Les processus sont les MPI. Je ne veux pas utiliser la fonction MPI_Barrier, parce que la politique générale pour toute la mise en œuvre de MPI est en attente active. Je veux que mes processus de sommeil aussi longtemps qu'ils attendent.
Les restrictions:
- devrait être en C, peut-être en C ++
- pas spinlock, il pourrait utiliser sémaphores
- linux OS
Je suis convaincu qu'il existe des milliers de mise en œuvre de la barrière, mais je ne trouve pas!
Merci
La solution
pthread_barrier
est l'API Posix pour les obstacles. Ils vivent dans le processus mémoire partagée si vous initialize en conséquence.
Autres conseils
Vous devriez vérifier Boost. Je crois qu'il a un module interprocessus que vous pouvez utiliser.