知識を追加する方法

Linux での MPI クラスタ

    次のタイプの解析は、MUMPS スパース ソルバーを使用して Linux クラスタ上で実行される場合、現在は(複数のコンピュータを使用して解析結果を求める)分散メモリ処理が実装されています(スパース ソルバーの設定については、該当する[解析パラメータ]ダイアログを参照してください)。

    • 線形材料による静解析
    • 線形または非線形材料モデルによる MES(Mechanical Event Simulation)
    • 非線形材料による静解析
    • Riks 解析
    • 定常流れ解析(3D および 2D 平面)
    • 非定常流れ解析(3D および 2D の平面)

    このような解析を実行するためには、MPI(メッセージ パッシング インタフェース)をインストールする必要があります。このインストール手順では次のシステム仕様を基準としていますが、他のオペレーティング システムでも同様に動作するはずです。

    • Linux クラスタ コンピューティング ノード用オペレーティング システム: Fedora Core 5、Bash シェル使用
    • リモート サブミッション PC 用オペレーティング システム: Windows XP
    • MPI バージョン: MPICH2 (バージョン 1.0.3)

    下の図は、Linux コンピューティング クラスタおよび Windows ベースのリモート実行 PC で構成されるシステムの概要を示したものです。Linux クラスタを構成するすべてのコンピュータが同一のファイル システムを共有するようにすることをお勧めします。この条件を満たしている場合、この共有ファイル システム上で次のインストールが実行されます。この条件を満たしていない場合は、各ステップの指示に従って、それぞれのノードでソフトウェアのインストールと設定を行います。

    Linux クラスタ コンピューティング 節点でのインストール

    1. Fedora Core 5 パッケージを からダウンロードし、Linux PC にインストールします。インストールの構成中に、ソフトウェア開発オプションを選択または追加することを強くお勧めします。このステップでは、MPICH ソース コードをコンパイルし、PC 上で MPD (Multi-Purpose Daemon)を実行することができます。ソフトウェア開発オプションを選択しなかった場合、またはこのオプションを使用しないようにシステムがあらかじめ設定されている場合は、インストールやテストのステップで表示されるメッセージに応じて、Python などの別パッケージのインストールが必要になることがあります。また、インストールの構成時に、ファイアウォールと SELinux を無効にすることもお勧めします。
    2. root ユーザでないユーザのアカウントを作成します。このユーザ アカウントは、Linux クラスタの分散プロセッサを実行する際に使用します。このガイドでは、このアカウントのユーザ名として algoruser を、そのパスワードには password を使用します。
    3. MPICH2 パッケージを からダウンロードします。テスト済みバージョンは 1.0.3 です。次の手順に従って簡単なインストールを行います(詳細については、MPICH2 のインストール マニュアルおよびユーザ ガイドを参照してください)。
      1. root としてログインします。
      2. ファイル mpich2-1.0.3.tar.gz を一時フォルダ(/tmp など)にコピーします。この一時フォルダに移動し、次のようにして解凍します。

        tar -zxvf mpich2-1.0.3.tar.gz

        このステップの後、先ほどの一時フォルダに新しいフォルダ mpich2-1.0.3 が作成されます。

      3. MPICH2 のインストール先となるフォルダ(/opt/mpich2-1.0.3 など)を作成します。このフォルダは、クラスタの共有ファイル システム上に作成することを強くお勧めします。別の場所に作成した場合は、インストールの後に、このフォルダをクラスタのすべての節点にコピーする必要があります。
      4. /tmp/mpich2-1.0.3 フォルダに移動し、次の方法で MPICH2 を構成およびビルドします。

        /configure -prefix=/opt/mpich2-1.0.3

        make

        make install

      5. インストールが完了したら、bin、include、lib などの新しいフォルダが /opt/mpich2-1.0.3 内に作成されたことを確認します。
    4. Fedora Core 5 のファイアウォールおよび SELinux が無効になっていない場合は、この時点で、[システム]メニューから[管理]、[セキュリティレベルとファイヤーウォールの設定]の順に選択し、すべてのクラスタ ノードに対してこの 2 つを無効にします。上級ユーザの場合はファイアウォールを有効にしてもかまいませんが、MPD サービスがファイアウォールを通過できるようにするために追加の設定が必要になります。SELinux を有効にすると、Fedora Core 5 の Samba ファイル共有サービスとの競合が発生するので、必ず無効にしてください。
    5. Linux システムと Windows システムの間でファイルを共有するため、クラスタのヘッド ノードで Samba サービスを開始します。(このサービスがヘッド ノードにインストールされていない場合は、[アプリケーション]メニューから[ソフトウェアの追加/削除]、[サーバー]の順に選択してインストール パッケージを探すことができます。[Windows ファイルサーバー]を選択してハイライト表示し、[適用]ボタンをクリックすると、パッケージをインストールできます。)
      1. [システム]メニューから、[管理]、[サーバー設定]、[Services]の順に選択します。smb サービスをオンにして、[開始]ボタンをクリックします。サービスが実行中になったことを確認します。
      2. インストールが完了したら、[システム]メニューから、[管理]、[サーバー設定]、[Samba]の順に選択します。ポップアップ ウィンドウで、[プレファレンス]メニューから[Samba のユーザ]を選択します。新しいユーザを追加し、Samba のユーザとして algoruser を選択します。Windows ユーザ名でも algoruser を使用し、パスワードを入力します。
      3. 次に、Linux ターミナルで、/home/algoruser/shared のようなフォルダを作成します。これは Samba の共有フォルダとして使用されます。Windows で作成されたモデルはこのフォルダにコピーされて、Linux 環境での分散処理用に使用されます。[共有を追加]をクリックし、このフォルダを Samba の共有に追加します。[共有名]に shared と入力し、[書き込み可能]と[表示]をオンにします。[アクセス]タブで、ユーザ algoruser のアクセスを許可します。
    6. xinetd サービスと rexec サービスをインストールして開始します。
      1. [アプリケーション]メニューから[ソフトウェアの追加/削除]、[サーバー]、[レガシーなネットワークサーバー]の順に選択します。[オプションパッケージ]ボタンをクリックし、rsh-server パッケージをオンにして、インストールを適用します。
      2. [アプリケーション]メニューから[ソフトウェアの追加/削除]を選択し、[検索]ボタンをクリックして xinetd と入力したら、検索を実行します。検索結果に表示された xinetd パッケージをチェック状態にして、[適用]をクリックしインストールを実行します。
      3. [システム]メニューから、[管理]、[サーバー設定]、[Services]の順に選択します。[On Demand Services]タブで、rexec サービスをチェック状態にします。
      4. [Background Services]タブで、xinetd サービスをチェック状態にして、[再起動]ボタンをクリックします。サービスの設定を終了するときは、それまでの設定を保存するようにします。
    7. MPD を起動します。MPD の起動は、一般ユーザのアカウント(この例では algoruser)を使って行うことをお勧めします。
      1. 次のコマンドを使用して、すべての節点でユーザのホーム フォルダに .mpd.conf ファイルを作成します。

        cd /home/algoruser

        touch .mpd.conf

        chmod 600 .mpd.conf

      2. エディタを使用して .mpd.conf を開き、次の行を追加します。

        MPD_SECRETWORD=yourpassword

      3. クラスタの MPD サービスを開始する方法はいくつかあります。MPD は各コンピューティング ノードで開始されるプロセスを管理しますが、最大限に活用するにはクラスタの PC のハードウェア構成も考慮に入れる必要があります。詳細については、MPICH2 のドキュメントを参照してください。たとえば、クラスタの K 個のノードすべてが同一の性能を持ち、かつ各ノードに N 個のコンピューティング コアがある場合、簡単に MPD を起動する方法として次のようなものがあります。
        1. ファイルを作成します(たとえば、/opt/mpich2-1.0.3/mpd.hosts)。このファイルの各行に、次のように個々のクラスタ ノードの名前を記述します。

          node1.company.com

          node2.company.com

          ......

          nodek.company.com

        2. 次のコマンドを使用して MPD を起動します。

          /opt/mpich2-1.0.3/bin/mpdboot -n K --ncpus=N -f /opt/mpich2-1.0.3/mpd.hosts

        3. 現在の MPD のステータスは、bin フォルダの mpdtrace コマンドを使用して確認できます。mpdallexi コマンドを使用すると、現在の MPD を終了できます。MPICH2 のインストール ガイドには、MPD のトラブルシューティングに関する章もあります。

      Linux PC を再起動したときは、MPD も手動で再起動する必要があります。

    8. ソフトウェアをクラスタのすべての節点にインストールします。詳細については、Linux のインストールに関するトピックを参照してください。クラスタの共有ファイル システムにもソフトウェアをインストールすることをお勧めします。
    9. Autodesk Simulation での MPICH2 のパスおよび分散ソルバーのライセンスを設定するために、次の行をユーザの bash プロファイル(上記の例では /home/algoruser/.bashrc)に追加します。

      export ALGOR_MPICH=/opt/mpich2-1.0.3

      export MALLOC_TRIM_THRESHOLD_=-1

      export MALLOC_MMAP_MAX_=0

    Linux にインストールした Autodesk Simulation および MPICH のテスト

    Autodesk Simulation および MPICH ソフトウェアを節点にインストールしたら、インタフェースから解析の送信を試みる前に、これらのインストールを手動でテストすることをお勧めします。

    1. Autodesk Simulation が 1 台のプロセッサで正常に動作するかどうかをテストします。このテストを実行するには、Windows コンピュータで、線形静的応力解析を行うための小規模なモデルを作成します。
      1. このモデルに対し、[解析]の[モデルをチェック]コマンドを実行します。
      2. 設計シナリオが保存されているフォルダ(たとえば my_sample_model.ds_data\1)内のすべてのファイル(ds.* および ds.mod\*.*)を、Linux マシンのフォルダ(たとえば /home/algoruser/example/) にコピーします。
      3. 別の Linux ターミナルを開き、コマンド ラインから、次のようにしてサンプル モデルをコピーしたフォルダに移動し、サンプル モデルを実行します。

        cd /home/algoruser/example/

        /opt/algor/ssap0 ds -run

        ただし、

        • /home/algoruser/example/ は、モデルのコピー先のフォルダです。
        • /opt/algor/ は、Autodesk Simulation ソフトウェアがインストールされた節点のフォルダです。
        • ssap0 は、線形材料による静解析のプロセッサの名前です。
        • ds は、設計シナリオが保存されているフォルダ内のモデルの名前です。
        • -run は、プロセッサをすぐに実行する実行時オプションです。
    2. MPI モードでこのモデルをテストします。コマンド ラインで、次のようにl ¬nmpi=N オプションを追加します。

      /opt/algor/ssap0 ds -run -nmpi=N

      N は、開始する分散処理の合計数です。

    Linux クラスタでの解析の実行

    クラスタが正常に動作していれば、次に示すページで説明するインタフェースからクラスタにアクセスすることができます。

    • クラスタへのリンクを作成します。『Autodesk Simulation ユーザ ガイド』の「一般的なオプション」>「[ツール]プルダウン メニューを使用する」>「[オプション]ダイアログ」>「[解析]タブ」>「[リモートホスト]タブ」のページを参照してください。
    • クラスタに解析を送信します。『Autodesk Simulation ユーザ ガイド』の「解析の設定と実行」>「解析を実行する」の「Linux オペレーティング システムで解析を実行する」を参照してください。最初のテストについて、解析ウィンドウで[節点数]を 1 に設定し、解析を開始します。正常に実行できたら、複数のコンピューティング ノードを使用して解析を繰り返します。

    Linux のスワップ ファイル

    スパース ソルバーは多くのメモリ容量を必要とするため、スパース ソルバー用のスワップ領域が十分でない場合は、Linux システムのスワップ領域を追加することが可能です。この設定は、Red Hat のマニュアルに従って次の方法で行うことができます。

    1. 新しいスワップ ファイルのサイズを MB 単位で判定し、その数値に 1024 を掛けてブロック サイズを決定します。たとえば、64 MB のスワップ ファイルのブロック サイズは 65536 となります。
    2. シェル プロンプトで root として次のコマンドを入力します。count には適切なブロック サイズを指定します。

      dd if=/dev/zero of=/swapfile bs=1024 count=65536

    3. mkswap /swapfile コマンドを使用して、スワップ ファイルを設定します。
    4. スワップ ファイルを(起動時に自動的にではなく)ただちに有効にするには、「swapon /swapfile」と入力します。
    5. スワップ ファイルが起動時に有効になるようにするには、/etc/fstab に次の記述を追加します。

      /swapfile swap swap defaults 0 0

    6. 新しいスワップ ファイルを追加して有効にする設定が終わったら、cat /proc/swaps または free コマンドの出力を見て、そのスワップ ファイルが有効になっていることを確認します。