Может кто-нибудь предложить хороший способ понять, как работает MPI? - PullRequest
6 голосов
/ 17 января 2011

Может кто-нибудь предложить хороший способ понять, как работает MPI?

Ответы [ 3 ]

4 голосов
/ 17 января 2011

Если вы знакомы с потоками, то вы рассматриваете каждый узел как поток (до некоторой степени)

Вы отправляете сообщение (работу) на узел, и он выполняет некоторую работу, а затем возвращает вам некоторые результаты.

Подобное поведение между потоком и MPI:

Все они включают разбиение работы и обработку ее отдельно.

Все они будут иметь накладные расходы, когда задействовано больше узлов / потоков, накладные расходы MPI более значительны по сравнению с потоками, передача сообщений вокруг узлов приведет к значительным накладным расходам, если работа не будет аккуратно разбита на разделы, и вы можете получить время передачи сообщений> вычислительные время, необходимое для обработки работы.

Различия в поведении:

У них разные модели памяти, каждый узел MPI не делит память с другими и ничего не знает об остальном мире, если вы не отправите ему что-то.

2 голосов
/ 17 января 2011

Здесь вы можете найти некоторые учебные материалы http://www.mcs.anl.gov/research/projects/mpi/

1 голос
/ 19 января 2011

Параллельное программирование является одним из тех предметов, которые «по своей сути» сложны (в отличие от «случайной» сложности, как отметил Фред Брукс).

Я использовал Параллельное программирование в MPI Питера Пачеко. Эта книга дает хороший обзор основных тем MPI, доступных API и общих шаблонов для построения параллельных программ.

...