Запустить поток на удаленной машине

Я новичок в кластерном программировании. У меня есть кластер из 6 компьютеров, и я хочу реализовать код, состоящий из нескольких потоков, чтобы эти потоки выполнялись на разных компьютерах, а затем возвращать выходные данные на главный компьютер.

Как я могу реализовать такую ​​задачу? Я пытался использовать pvm и mpich2, но не смог найти такие положения. Пожалуйста помоги.

0

Решение

Взгляните на hpx. Это в https://github.com/STEllAR-GROUP/hpx

Вот ссылка на pdf презентации о hpx на c ++ сейчас

https://github.com/boostcon/cppnow_presentations_2013/blob/master/tue/managing_asynchrony_in_cpp.pdf?raw=true

3

Другие решения

Когда вы говорите, что хотите иметь несколько потоков на нескольких машинах, вы имеете в виду потоки на этих машинах, а не процессы? Если так, то почему? MPI в целом (будь то Open MPI, MPICH или какая-либо другая реализация) делает именно это и может даже комбинироваться с Open MP для обеспечения многопоточности на этих машинах. Быстрый поиск в Google, вероятно, предоставит тысячи учебных пособий о том, как это настроить.

Однако работа этих библиотек потребует некоторых изменений в коде с вашей стороны. Они не волшебные. Вам необходимо явно передать важные данные с помощью сообщений. Есть много полезных функций, чтобы сделать это максимально эффективным.

1

По вопросам рекламы [email protected]