MPI を使用して、単一のマスター プロセッサとワーカー/クライアント プロセッサがあるタスク スケジューラを開発したいと考えています。各ワーカーには、計算に必要なすべてのデータがありますが、作業するインデックスはマスターから取得します。計算の後、ワーカーはデータをマスターに返します。問題は、一部のプロセスが高速になることと、一部が低速になることです。各反復でマスターが (ブロッキング/非ブロッキング) データを送受信するようにループを実行すると、割り当てられた前のインデックスから現在のワーカーからデータを受信するまで、次のステップに進むことができません。要するに、ワーカーの計算に時間がかかりすぎると、それが制限要因になり、ノンブロッキング手法が使用されていても、マスターは次のワーカーにインデックスを割り当てることができなくなります。
私は、MPI はこれを行うためのパラダイムではないかもしれないと考え始めています。Python は、タスク スケジューリングを行うための優れたプラットフォームでしょうか?