[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 メーリングリストの案内