これが繰り返しの質問ではないことを願っていますが、ローカル クラスターでワークロードのバランスをとる際に問題が発生しています。これは私の現在の MPI ホストファイルです。
#The Hostfile for Open MPI
#Master Node, 'slots=2' is used because we are running an 2-core machine
localhost slots=2
#Slave nodes, 8-core machines as well
slave1-ip slots=2
slave2-ip slots=2
slave3-ip slots=2
を実行するmpirun -np 4 --hostfile my_hostfile program
と、最初にローカル ホストですべての計算を実行することが優先されます。
たとえば、私の nqueens コードでは、最後の計算の分布は次のとおりです。
Node 1 computed load of 1963
Node 2 computed load of 0
Node 3 computed load of 0
Node 4 computed load of 1
ただし、ホストファイルを変更して行を に変更するlocalhost slots=2
とlocalhost slots=1
、すべての計算がスレーブ ノードで実行され、より均一な分散が得られます。
Node 1 computed load of 497
Node 2 computed load of 486
Node 3 computed load of 493
Node 4 computed load of 488
マスター スレッドの負荷を分散して、マスター ノードとスレーブ ノードの両方に作業を分散させる方法はありますlocalhost slots=2
か? これを指定するある種の設定ファイルはありますか?--loadbalance
フラグを試しましたが、何もしませんでした。
PS クラスターをセットアップするときは、このチュートリアルに従いました: http://techtinkering.com/2009/12/02/setting-up-a-beowulf-cluster-using-open-mpi-on-linux/