Я хочу разработать планировщик задач с использованием MPI, где есть один главный процессор, и есть рабочие/клиентские процессоры. Каждый рабочий имеет все данные, которые ему нужно вычислить, но получает индекс для работы от мастера. После вычисления рабочий возвращает некоторые данные мастеру. Проблема в том, что некоторые процессы будут быстрыми, а некоторые будут медленными. Если я запустил цикл, чтобы на каждой итерации главный отправляет и получает (блокирует/не блокирует) данные, то он не может перейти к следующему шагу, пока не получит данные от текущего рабочего из предыдущего присвоенного ему индекса. Суть в том, что работник занимает слишком много времени, чтобы вычислить, тогда он становится ограничивающим фактором, и мастер не может перейти к присвоению индекса следующему работнику, даже если используются неблокирующие методы. Можно ли пропустить присвоение работнику и перейти к следующему.Планирование задания MPI
Я начинаю думать, что MPI может и не быть парадигмой для этого. Будет ли python отличной платформой для планирования задач?
LAM/MPI предоставляет [подробный пример] (http://www.lam-mpi.org/tutorials/one-step/ezstart.php) того, что вы хотели бы реализовать. Обратите внимание, что терминология «мастер/ведомый» немного устарела и теперь называется «менеджер/работник» ради политической корректности. –