PM/SCIについて


PM/SCIは、Omni/SCASHを、 SCIのネットワーク環境上で使用する事を目的として作成しました。 現時点では、single user環境上でのみ、Omni/SCASHを使用すること ができます。

PM/SCIは、Scali社のScaSCIを使用して実装されています。 このため、PM/SCIを使用する為には、 Scali社から提供されているScaSCI、ScaSCIadap、ScasSCIddkを インストールする必要があります。 また、PM/SCIは、バイナリ配付には含まれていないため、 SCoreのソースを再コンパイルする必要があります。

サーバ及び計算ホストへの SCore のインストール

最初に、EIT ないしは手動でイーサネットを使用した SCore をインストールしてください。

サーバホストでの PM/SCI のインストール

  1. Scali ヘッダファイルのインストール

    ScaSCI、ScaSCIadp、ScaSCIddkのRPMパッケージを、 Scali社のWEBページ かtらダウンロードして以下のようにインストールしてください.

            # rpm -i ScaSCI.rpm
            # rpm -i ScaSCIddk.rpm
            # rpm -i ScaSCIadap.rpm
    
  2. SCore パッケージのインストール
    もしまだソースファイルを展開していない場合はソー スモジュールの展開のページを読んでください。

    PM/SCIを組み込んだSCoreをコンパイルするためには、 サイト依存ファイルに次の行を追加する必要があります。

        SCASCI_HOME = /opt/scali
    

    PM/SCI が使用できる SCore を作成するために、以下を実行してください。
        # cd /opt/score/score-src/
    # echo SCASCI_HOME = /opt/scali >> adm/config/site
    # make distclean
    # ./configure --option=site
    # make
    # rsh-all -g pcc -norsh rdist -c /opt/score/deploy @host:
    

計算ホストの PM/SCI のインストール

すべての計算ホストに対して以下の設定を行ってください。
  1. Scali SCI 環境の設定
    SCali SCI 環境を設定していなのでしたら、以下のように Scali SCI パッケージをインストールしてください。
            # rpm -i ScaSCI.rpm
            # rpm -i ScaSCIddk.rpm
            # rpm -i ScaSCIadap.rpm
    
    それから、すべての計算ホストでモジュールをコンパイルします。
            # KERNEL_HEADER_BASE=/usr/src
            # KERNEL_DIR=linux-2.4
            # export KERNEL_HEADER_BASE KERNEL_DIR
            # mkdir -p ~/scascibuild
            # cd ~/scascibuild
            # /opt/scali/kernel/rebuild/configure
            # make
    
    ScaSCI ドライバの "Makefile" は SSP 環境を仮定しています。 もし、SSP 環境をもっていないのでしたら、 /scascibuild/Linux/Makefile の
            install:
                    scarcp libkmatch.a $K/userkv`cat uname.ver`.a
                    scash rm -f $K/ssci.o
    
    という部分を以下のように変更してください。
            install:
                    cp libkmatch.a $K/userkv`cat uname.ver`.a
                    rm -f $K/ssci.o
    
    変更しましたら、以下のコマンドを実行して ScaSCI モジュールをインストールします。
            install:
                    cp libkmatch.a $K/userkv`cat uname.ver`.a
                    rm -f $K/ssci.o
    
  2. PM/SCIのドライバーのコンパイル
    PM/SCIのドライバーのソースは、 /opt/score/src/score-4.2.core/pm2/arch/sci/driver/linux ディレクトリにあります。 Makefile を修正して kernel のソースディレクトリを指定してください。 defaultでは、以下のようになっていま。
            KERNEL_DIR = /usr/src/linux-2.4
    
    次のコマンドを実行してドライバーをコンパイルします。
            # rsh-all -g pcc -norsh rdist -c /opt/score/score-src/SCore/build @host:
            # rsh-all -g pcc -norsh rdist -c /opt/score/score-src/SCore/pm2 @host:
            # scout -g pcc
            # cd /opt/score/score-src/SCore/pm2/arch/sci/driver/linux
            # scout make
    
  3. PM/SCI ドライバのインストール
    以下の手順に従って、PM/SCI、および、ScaSCIを、 各Compute Hosts にインストールして下さい。
            # scout 'cp /opt/score/score-src/SCore/pm2/arch/sci/driver/linux/pm_sci.o \
              /lib/modules/`uname -r`/kernel/drivers/char'
            # scout cp /opt/score/score-src/SCore/pm2/arch/sci/tools/pm_sci.rc /etc/rc.d/init.d/pm_sci
            # scout /sbin/chkconfig --add pm_sci
            # scout /opt/score/score-src/SCore/pm2/arch/sci/tools/mkpmscidev
            # exit
    
ドライバのインストールの後でシステムを再起動してください。

サーバ上での SCore の設定

  1. PM/SCI 設定ファイルの作成
            # cd /opt/score/score-src/SCore/pm2/arch/sci/tools
            # ./mkpmsciconf -g pcc -set -f ./pmsci.conf
            # mv ./pmsci.conf /opt/score/etc/pmsci.conf
    
  2. scoreboardデータベースの設定
    /opt/score/etc/scoreboard.db を以下のように作成します。 以下はサーバホストが server.pccluster.org、 計算ホストが comp0.pccluster.org から comp3.pccluster.org の場合の例です。
    /* PM/Ethernet */
    ethernet        type=ethernet -config:file=/opt/score/etc/pm-ethernet.conf
    /* PM/SCI */
    sci             type=sci -config:file=/opt/score/etc/pmsci.conf
    #define PCC     MSGBSERV(server.pccluster.org:8766) \
                    cpugen=pentium-iii speed=800 smp=1 \
                    network=ethernet,sci group=pcc
    comp0.pccluster.org     PCC
    comp1.pccluster.org     PCC
    comp2.pccluster.org     PCC
    comp3.pccluster.org     PCC
    
  3. サーバホストをリブートしてください。

Omni OpenMP on SCASH のテスト

PM/SCI を使用した Omni OpenMP on SCASH が動くかどうか確認するために、 /opt/omni/lib/openmp/examples/scash-tEst ディレクトリにあるサンプル プログラムを動かしてください。

  1. CG

    $ cd /opt/omni/lib/openmp/examples/scash-test/cg
    $ make
    $ ./cg-makedata data
    final nonzero count in sparse number of nonzeros  =          1853104
    Fri Nov  2 17:34:48 JST 2001
    $ scout -g pcc
    $ scrun ./cg-omp data
    SCore-D 4.2 connected.
    <0:0> SCORE: 4 nodes (4x1) ready.
    read file ..
    omp_num_thread=1
    omp_max_thread=4
    read done ...
        0    1.4483e-13     19.99975812770398
        1    1.3444e-15     17.11404957455056
        2    1.3412e-15     17.12966689461433
        3    1.3074e-15     17.13021135811924
        4    1.2853e-15     17.13023388563526
        5    1.2249e-15     17.13023498794818
        6    1.2164e-15     17.13023504989156
        7    1.1879e-15     17.13023505375095
        8    1.1349e-15     17.13023505401005
        9    1.1087e-15     17.13023505402842
       10    1.0767e-15     17.13023505402978
       11    1.1344e-15     17.13023505402988
       12    1.0106e-15     17.13023505402988
       13    9.9676e-16     17.13023505402989
       14    9.3180e-16     17.13023505402989
    time = 88.405219, 5.893681 (0.000000e+00 - 8.840522e+01)/15, NITCG=25
    $ exit
    

  2. C 言語で書かれた Laplace

  3. Laplace written in C

    $ cd /opt/omni/lib/openmp/examples/scash-test/laplace
    $ make
    $ scout -g pcc
    $ scrun ./lap-omp
    SCore-D 4.2 connected.
    <0:0> SCORE: 4 nodes (4x1) ready.
    sum = 0.579817
    iter=50, time=4.40174
    $ exit
    
  4. F77 で書かれた Laplace

    $ cd /opt/omni/lib/openmp/examples/scash-test/laplace-f77
    $ make
    $ scout -g pcc
    $ scrun ./lap-omp
    SCore-D 4.2 connected.
    <0:0> SCORE: 4 nodes (4x1) ready.
     sum=  52.1801176
     time=  4.04782808
     end..
    $ exit
    


PCCC logo PCクラスタコンソーシアム

$Id: pmsci.html,v 1.4 2002/03/08 06:24:21 hirose Exp $