[SCore-users-jp] マルチユーザモードでのCPU利用ポリシーについて
kameyama @ pccluster.org
kameyama @ pccluster.org
2002年 3月 27日 (水) 21:53:52 JST
亀山です.
In article <20020327211406N.m-kawaguchi @ pst.fujitsu.com> 川口貢 <m-kawaguchi @ pst.fujitsu.com> wrotes:
> 仮に以下のようなSMPモデルの計算ノードを利用した
> SCoreクラスタが構築されていたとします。
>
>
> 計算ノード1 計算ノード2 計算ノード3
> +---------+ +---------+ +---------+
> |○ ○ | |○ ○ | |○ ○ |
> |CPU0 CPU1| |CPU0 CPU1| |CPU0 CPU1|
> +---------+ +---------+ +---------+
> <------------------ group ALL -------------->
>
>
> (1) 今、SCoreのマルチユーザモードで、このgroup ALLに対し、
> nodes=3x1でジョブ投入したとします。
> # scout -g ALL
> # scored
>
> $ scrun -scored=XX,nodes=3x1 ...
>
> すると、おそらく各計算ノード1〜3のCPU0が利用されると思います。
> この状態で新たににnodes=3x1でジョブを投入した場合、
> 利用されるCPUはどれでしょうか?
> 空いている各計算ノード1〜3のCPU1に割り当てられるのでしょうか?
SCore-D では計算ノードの割り当てはホスト単位で行われます.
設定にもよりますが. この場合2 つのプロセスはタイムシュアリングで動
くことになると思います.
> (2) 利用したいCPUを意図的に指定してジョブ実行させる
> 方法は存在するのでしょうか?
> (例) 計算ノード1のCPU0と計算ノード2のCPU1と
> 計算ノード2のCPU0、CPU1の4並列で実行したい。
そもそも linux では特別なパッチをあてない限り,
特定のプロセスを特定のプロセッサで動かすことはできません.
# その patch を見たのは大分前なので, 現在でもそのような
# patch が存在するかどうかは分かりません.
よって, SCore-D で CPU を特定するのは不可能です.
実際は, SCore-D ではどの CPU を使うかではなく,
そのホストでいくつのプロセスを動かすかを制御しています.
> (3) scrunコマンドでジョブを実行させた場合、
> 計算ノードで、どのCPUが利用されているかを知る手段を教えて下さい。
>
> 例えば、
> $ scrun -scored=XX,nodes=1x1+1x2 ....
> と実行すると、SCoreのログには以下のようなメッセージが出力されますが、
> この結果が該当しますでしょうか?
>
> SYSLOG: Login accepted: user1 @ prime1.localdomain:33727, JID:26, \
> Hosts: 1(1x1)@1+2(1x2)@0, Priority: 1, Command: /home/example/mpi/cpi
> ~~~~~~~~~~~~~~~~~
# single user ですが 8x2 の環境で 1x1+1x2 を指定したら login fail
# になってしまいました.
# + は条件の違った計算ホストがないと使用できないのでしたっけ?
たしか 1 番目から 1 個の host が 1x1 で, 0 番目から 1 個の host が 1x2 で
割り当てられた, と読むと思いました.
from Kameyama Toyohisa
SCore-users-jp メーリングリストの案内