Барьерная реализация для межпроцессного взаимодействия в разделяемой памяти - PullRequest
0 голосов
/ 16 декабря 2010

Я ищу реализацию межпроцессного барьера.Процессы находятся в разделяемой памяти (т. Е. На одном и том же).

Процессы MPI.Я не хочу использовать функцию MPI_Barrier, потому что общая политика для всей реализации MPI - активное ожидание.Я хочу, чтобы мои процессы спали до тех пор, пока они ожидают.

Ограничения:

  • должно быть в C, возможно в C ++
  • без спин-блокировки, чтобы он мог использоватьсемафор
  • linux OS

Я уверен, что существуют тысячи барьерных реализаций, но я не нахожу их?!

Спасибо

Ответы [ 2 ]

3 голосов
/ 16 декабря 2010

pthread_barrier - это API POSIX для барьеров. Они могут жить в разделяемой памяти процесса, если вы инициализируете их соответственно.

1 голос
/ 16 декабря 2010

Вы должны проверить Boost.Я считаю, что он имеет межпроцессный модуль, который вы можете использовать.

...