1) TBB разделяет циклы на несколько потоков пула потоков, чтобы использовать все процессоры одной машины.Таким образом, вы должны запустить только один процесс на машину.Больше процессов будет бороться друг с другом за процессорное время.Количество процессов на машину задается параметрами в вашем хост-файле:
# my_hostfile
192.168.0.208 slots=1 max_slots=1
...
2) Предоставление каждой машине соответствующего объема работы в соответствии с ее производительностью не является тривиальным.Самый простой подход - разделить рабочую нагрузку на небольшие части работы, отправить их рабам, собрать их ответы и дать им новые части работы, пока вы не закончите.На моем сайте есть пример (на немецком языке).Вы также можете найти там некоторые ссылки на руководства и учебные пособия.
3) Каждый процесс получает номер (processID) в вашей программе на
MPI_Comm_rank(MPI_COMM_WORLD, &processID);
Мастер имеет processID == 0. Возможно, другие получают слоты в порядке вашего файла хоста,Другая возможность состоит в том, что они назначаются в порядке установления соединений с подчиненными.Я этого не знаю