管理者ガイド NAREGI Middleware Mediator 2008 年 10 月 国立情報学研究所
ドキュメントリスト 管理者ガイドグループ 管理者ガイド NAREGI Middleware IS(Distributed Information Service) 管理者ガイド NAREGI Middleware IS(Distributed Information Service) - LRPSConfig - 管理者ガイド NAREGI Middleware SS(Super Scheduler) 管理者ガイド NAREGI Middleware GridVM(Grid Virtual Machine) 管理者ガイド NAREGI Middleware Portal 管理者ガイド NAREGI Middleware PSE(Problem Solving Environment) 管理者ガイド NAREGI Middleware WFT(GUI Workflow Tool) 管理者ガイド NAREGI Middleware GVS (Grid Visualization System) 管理者ガイド NAREGI Middleware DataGrid 管理者ガイド NAREGI Middleware CA(Certification Authority) 管理者ガイド NAREGI Middleware UMS(User Management Server) 管理者ガイド NAREGI Middleware Authorization Service 管理者ガイド NAREGI Middleware Renewal Service 管理者ガイド NAREGI Middleware SBC(Synchronous Data Transfer Library) i
利用者ガイドグループ 利用者ガイド NAREGI Middleware IS(Distributed Information Service) 利用者ガイド NAREGI Middleware Portal 利用者ガイド NAREGI Middleware PSE(Problem Solving Environment) 利用者ガイド NAREGI Middleware PSE(Problem Solving Environment) - Command line Interface - 利用者ガイド NAREGI Middleware WFT(GUI Workflow Tool) プログラミングガイド NAREGI Middleware WFT(GUI Workflow Tool) 利用者ガイド NAREGI Middleware GVS(Grid Visualization System) - Client Module - 利用者ガイド NAREGI Middleware GVS(Grid Visualization System) - Parallel Visualization Module - 利用者ガイド NAREGI Middleware CA(Certification Authority) 利用者ガイド NAREGI Middleware UMS(User Management Server) 利用者ガイド NAREGI Middleware Authorization Service 利用者ガイド NAREGI Middleware Renewal Service 利用者ガイド NAREGI Middleware SBC (Synchronous Data Transfer Library) 利用者ガイド NAREGI Middleware Mediator Copyright 2004-2008 National Institute of Informatics, Japan. All rights reserved. This file or a portion of this file is licensed under the terms of the NAREGI Public License, found at http://www.naregi.org/download/. If you redistribute this file, with or without modifications, you must include this notice in the file. ii
目次 第 1 章 Mediatorの導入...1 1.1 導入の概要... 1 1.2 動作環境... 1 1.2.1 必要なハードウェア...1 1.2.2 必要なソフトウェア...1 1.2.3 対応コンパイラ...1 第 2 章 Mediatorのインストール...3 2.1 インストールの概要... 3 2.2 インストール前の作業... 3 2.2.1 インストール前の注意事項...3 2.2.2 配布パッケージの解凍...3 2.2.3 環境変数の設定...4 2.3 インストールの作業... 4 2.3.1 コンパイル リンク インストール...4 2.4 インストール結果の確認... 4 2.5 インストールに失敗した場合の対処方法... 6 2.6 アクセス権限の設定... 6 2.7 インストール後の動作確認... 6 2.7.1 MPIを使用した実行の確認手順...6 2.7.2 MPIとSBCを使用した実行の確認手順...8 2.8 補注... 13 2.8.1 部分インストール方法...13 2.8.1.1 SBCがインストールされていない環境の場合...13 2.8.1.2 NAREGIミドルウェアがインストールされていない環境の場合...14 第 3 章 Mediatorの実行時環境の提供... 16 第 4 章 Mediatorの起動 / 停止と保守について... 17 4.1 前提ソフトのアップグレードに伴う再ビルドについて... 17 第 5 章 Mediatorのアンインストール方法... 17 5.1 アンインストール前の作業... 17 5.2 アンインストールの作業... 17 iii
5.3 アンインストール結果の確認... 18 第 6 章 Mediator のアップグレードインストール方法... 18 iv
第 1 章 Mediator の導入 1.1 導入の概要本ドキュメントでは Mediatorのインストール 及び運用操作方法について説明します 1.2 動作環境 1.2.1 必要なハードウェア Mediator のインストールの際に最小限必要なハードウェアについて述べます ただし 実行時にはアプリケーションが解こうとする問題の規模に応じて メモリ容量が必要となります [Linux 環境 ] CPU: IA-32 メモリ : 10MB 以上 ハードディスク : 10MB 以上 [AIX 環境 ] CPU: PowerPC(POWER4) メモリ : 10MB 以上 ハードディスク : 10MB 以上 1.2.2 必要なソフトウェア [Linux 環境 ] OS: Linux(Centos 5,OpenSUSE 10) その他 : glibc2.5, GlobusToolkit 4.0.5, j2sdk 1.5, gcc 3.2 以降, 同期ファイル転送ライブラリ ( 本パッケージと同時にリリースされた版 ) [AIX 環境 ] OS: AIX Version5.2 その他 : GlobusToolkit 4.0.5, j2sdk 1.5, 1.2.3 節の AIX 用各コンパイラ, 同期ファイル転送ライブラリ ( 本パッケージと同時にリリースされた版 ) 1.2.3 対応コンパイラ [Linux 環境 ] gcc3.2 以降 [AIX 環境 ] IBM XL C Version 6 IBM XL Fortran version 8 release 1 1
なお 以下の場合については動作を保証いたしません (1) 上記以外のコンパイラを使用した Mediator のコンパイル リンク (2) 上記以外のコンパイラでコンパイルしたプログラムと Mediator とのリンク (3) (1) で作成した Mediator の実行および (1) をリンクしたプログラムの実行 (4) (2) で作成したプログラムの実行 AIX, PowerPC and Power4 are trademarks of IBM Corporation in the US and other countries. RED HAT is a registered trademark of Red Hat, Inc. Globus and Globus Toolkit are trademarks held by the University of Chicago. NFS is a trademark of Sun Microsystems, Inc. Java is a trademark or registered trademark of Sun Microsystems, Inc. in the US and other countries. 2
第 2 章 Mediator のインストール 2.1 インストールの概要 Mediator は使用している環境においてソースコードからコンパイルしてインストールします 本インストール作業では Mediator 本体と ライブラリプログラム およびC 言語用のヘッダファイルをインストールします 重要 Mediator の全コンポーネントをインストールするには SBC が必要です 必ず SBC を先にインストールしてください SBC のインストールされていない環境用に SBC を利用しないコンポーネントのみ部分インストールする場合は 2.8.1.1 節を参照して作業してください 2.2 インストール前の作業 2.2.1 インストール前の注意事項以下では実際に Mediator をリンクしたユーザープログラムを実行するホストを計算ノードと呼んでいます Mediator をインストールする場所は任意ですが 以下の点に注意してください 1.Mediator のパッケージは クラスタ内の全計算ノードにインストールする必要があります 2. クラスタ内の各ノードの実行時環境が変わらないのであれば クラスタ内の各ノードから参照可能な NFS ディスク等にインストールすることが可能です 2.2.2 配布パッケージの解凍 Mediatorは ユーザープログラムを実行する計算ノード上にインストールします Mediatorのインストールディレクトリを作成し そこにパッケージファイル mediator.tar.gz を展開します ( 配布ファイル名がmediator.tar.gzと異なる場合がありますので 適宜読み変えて作業してください ) 本稿では パッケージファイルを /tmp 以下に置き /opt/naregi-mdl/tools 下に mediator というディレクトリを作成して そこを Mediator のインストールディレクトリとしています # cd /opt/naregi-mdl/tools # mkdir mediator # cd mediator # tar zxvf /tmp/mediator.tar.gz 3
./bin/./bin/mediator # 2.2.3 環境変数の設定コンパイルを行う前に 以下の環境変数の設定を行います (1) DEX_ROOT Mediatorのインストールディレクトリを設定します (2) MPIR_HOME, MPIROOT MPIがインストールされているディレクトリを指定します (3) GLOBUS_LOCATION GLOBUSがインストールされているディレクトリを指定します (4) SBC_ROOT SBCがインストールされているディレクトリを指定します (5) JAVA_HOME JAVAがインストールされているディレクトリを指定します AIXの場合は32ビットモード用 JAVAがインストールされているディレクトリです (6) PATH $JAVA_HOME/bin, $MPIR_HOME/binを先頭に追加します 2.3 インストールの作業 2.3.1 コンパイル リンク インストール $DEX_ROOT の下で 以下を実行してください コンパイルとリンクとインストールまでがすべて行われます # cd $DEX_ROOT # make.. # 以上でインストールは完了です (( 注 )make install の必要はありません ) 2.4 インストール結果の確認 (1) 端末にエラーメッセージが表示されていないか確認します 4
(2) 以下の3つのログファイルが出力されているか確認します (2-1) log.build GridMPI を用いたコマンドラインからの実行用バイナリをコンパイル リンクした際のログ (2-2) log.build.sbc 同期型ファイル転送を用いたコマンドラインからの実行用バイナリをコンパイル リンクした際のログ (2-3) log.build.is 同期型ファイル転送を用いた NAREGI Workflow Tool からの実行用バイナリをコンパイル リンクした際のログ (3) (2-1),(2-2),(2-3) の3つのログファイル中にエラーメッセージが表示されていないか確認します (4) 以下のコマンドを実行した結果出力されるファイルのリストが下記と同様になるか確認します # cd $DEX_ROOT # ls -1 bin lib include bin: mediator mediator_g mediator_s include: SBC.h SBC_proto.h dexlibrary.h dex_msgtag.h dpp_define.h dpp_extern.h dpr_bucket.h dpr_define.h dpr_extern.h dpr_finddest.h dpr_shlibmng.h version.h 5
lib: libdex.a libdex_g.a libdex_s.a 2.5 インストールに失敗した場合の対処方法インストール作業に失敗した場合は実行環境や環境変数を確認して適切な設定を行った後 以下のコマンドを実行してください # make clean # rm log.build* 上記の後 再度インストール作業を行ってください 2.6 アクセス権限の設定 $DEX_ROOT および $DEX_ROOT 以下の bin,lib,include ディレクトリとファイルを一般ユー ザから読み取り可能に設定します 作業例 : # cd $DEX_ROOT # chmod 755. bin lib include bin/* lib/* include/* 2.7 インストール後の動作確認すべての計算ノードにインストール後 インストールが正常に行われたことをテスト用プ ログラムを使用して以下の手順で確認します 注意 以下では テスト用プログラムをインストールしたディレクトリが共有ディスク上にあることを仮定しています 共有ディスクが無い場合には プログラムの実行直前に テストプログラムを実行する各計算ノードの同じパスの場所にテスト用プログラムのインストールディレクトリをコピーしてください 2.7.1 MPI を使用した実行の確認手順動作確認を行う前に 以下のものを用意してください 1 全計算ノードの一般ユーザのアカウント 2 1のアカウントにおける3 章の環境変数設定 (1) 一般ユーザでのログイン 6
一般ユーザアカウントで端末からログインします DEX_ROOT 環境変数に Mediator のインストールディレクトリが設定されていることを確認します 設定されていない場合は お使いのシェルのプロファイル (.profile 等 ) に設定後 ログインし直してください また プロファイル中で PATH 変数に $DEX_ROOT/bin を追加してください 例 : (sh,bash をお使いの場合 ) PATH=$DEX_ROOT/bin:$PATH (2) テスト用プログラムのコピー $DEX_ROOT/test/pmtest を適当なディレクトリにコピーします 例 : ~/work にコピーする場合 $ cp -r $DEX_ROOT/test/pmtest ~/work (3) テスト用プログラムのコンパイルコピーしたディレクトリに移動します 例 : $ cd ~/work/pmtest (3-1) 粒子プログラムのコンパイル Linux で実行する場合 make コマンドで粒子プログラムをコンパイルします 例 : $ make particle AIX で実行する場合 make -f Makefile.aix コマンドで粒子プログラムをコンパイルします 例 : (AIX) $ make -f Makefile.aix particle (3-2) メッシュプログラムのコンパイル Linux で実行する場合 make コマンドでメッシュプログラムをコンパイルします 例 : $ make mesh AIX で実行する場合 make -f Makefile.aix コマンドでメッシュプログラムをコンパイルします 例 : (AIX) $ make -f Makefile.aix mesh 7
(4) 設定以下のファイルを編集します 1 'm_conf' には mesh プログラムを実行する計算ノード名を記述します 例 :m_conf sig0001.naregi.org 2 'p_conf' には particle プログラムを実行する計算ノード名を記述します 例 :p_conf pbg2010.naregi.org 3 'med_conf' には Mediator プログラムを実行する計算ノード名を記述します 同じ 計算ノード名を 2 行記述します 例 :med_conf png1009.naregi.org png1009.naregi.org (5) テストプログラムの実行 以下のコマンドを実行します $./run (6) 実行結果の確認以下の出力結果を確認します 1 mout 2 pout $DEX_ROOT/test/pmtest 以下の同名のファイルと結果が一致するか比較します 2.7.2 MPI と SBC を使用した実行の確認手順動作確認を行う前に 以下のものを用意してください 1 全計算ノードの一般ユーザのアカウント 2 1のアカウントにおける3 章の環境変数設定 また 下記の動作環境を確認してください 3 'globus-url-copy' コマンド (Globus Toolkit に含まれるコマンドの 1 つ ) が計算ノード 間で相互に行えること 8
(1) 一般ユーザでのログイン一般ユーザアカウントで端末からログインします DEX_ROOT 環境変数に Mediator のインストールディレクトリが設定されていることを確認します 設定されていない場合は お使いのシェルのプロファイル (.profile 等 ) に設定後 ログインし直してください また プロファイル中で PATH 変数に $DEX_ROOT/bin を追加してください 例 : (sh,bash をお使いの場合 ) PATH=$DEX_ROOT/bin:$PATH (2) テスト用プログラムのコピー $DEX_ROOT/test/pmtest_sbc を適当なディレクトリにコピーします 例 : ~/work にコピーする場合 $ cp -r $DEX_ROOT/test/pmtest_sbc ~/work (3) テスト用プログラムのコンパイルコピーしたディレクトリに移動します 例 : $ cd ~/work/pmtest_sbc (3-1) 粒子プログラムのコンパイル Linux で実行する場合 make コマンドで粒子プログラムをコンパイルします 例 : $ make particle AIX で実行する場合 make -f Makefile.aix コマンドで粒子プログラムをコンパイルします 例 : (AIX) $ make -f Makefile.aix particle (3-2) メッシュプログラムのコンパイル Linux で実行する場合 make コマンドでメッシュプログラムをコンパイルします 例 : $ make mesh AIX で実行する場合 make -f Makefile.aix コマンドでメッシュプログラムをコンパイルします 9
例 : (AIX) $ make -f Makefile.aix mesh (4) 設定 (4-1)MPI の設定以下のファイルを編集します 1 'm_conf' には mesh プログラムを実行する計算ノード名を記述します 2 'p_conf' には particle プログラムを実行する計算ノード名を記述します 3 'med_conf' には Mediator プログラムを実行する計算ノード名を記述します 同じ計算ノード名を2 行記述します (4-2)SBC の設定 sbc.conf の以下の行を編集します 12 行目 :mesh を実行する計算ノード名と通信バッファの絶対パスを指定します 以下の形式で指定します MESH file:// 計算ノード名 / 通信バッファの絶対パス 23 行目 :particle を実行する計算ノード名と通信バッファの絶対パスを指定します 以下の形式で指定します PARTICLE file:// 計算ノード名 / 通信バッファの絶対パス 34 行目 :Mediator を実行する計算ノード名と通信バッファの絶対パスを指定します 以下の形式で指定します MEDIATOR file:// 計算ノード名 / 通信バッファの絶対パス [ 記述例 ] [BUFFER] MESH file://sig0001.naregi.org//home/user1/work/pmtest_sbc/wk2 PARTICLE file://pbg2010.naregi.org//home/user1/work/pmtest_sbc/wk1 MEDIATOR file://png1030.naregi.org//home/user1/work/pmtest_sbc/wk0 [/BUFFER] [CONNECTION] PARTICLE MEDIATOR GRID_GT MEDIATOR MESH GRID_GT [/CONNECTION] 説明 2 行目において mesh は sig0001.naregi.org で実行する設定にしています その際の通信バッファは /home/user1/work/pmtest_sbc/wk2 としています 3 行目において particle は pbg2010.naregi.org で実行する設定にしています その際の通信バッファは /home/user1/work/pmtest_sbc/wk1 としています 4 行目において Mediator は png1030.naregi.org で実行する設定にしています その 10
際の通信バッファは /home/user1/work/pmtest_sbc/wk0 としています (5) テストプログラムの実行 注意 (5-1) (5-2) (5-3) のプログラムは独立に実行されるのでは無く 互いにデータをやりとりしながら実行されます 以下の作業は時間をおかず連続して行ってください (5-1) メッシュプログラムの実行 1 mesh を実行する計算ノードにログインします 例 : $ rlogin sig0001.naregi.org 2 grid-proxy-init コマンドにより Globus の証明書を作成します 3 テストプログラムをコピーしたディレクトリに移動します 例 : $ cd ~/work/pmtest_sbc 4 以下のコマンドを実行します $./run.mesh >log.mesh & (5-2) 粒子プログラムの実行 1 particle を実行する計算ノードにログインします 例 : $ rlogin pbg2010.naregi.org 2 grid-proxy-init コマンドにより Globus の証明書を作成します 3 テストプログラムをコピーしたディレクトリに移動します 例 : $ cd ~/work/pmtest_sbc 4 以下のコマンドを実行します $./run.particle >log.particle & (5-3)Mediator の実行 1 Mediator を実行する計算ノードにログインします 例 : $ rlogin png1009.naregi.org 2 grid-proxy-init コマンドにより Globus の証明書を作成します 3 テストプログラムをコピーしたディレクトリに移動します 例 : $ cd ~/work/pmtest_sbc 4 以下のコマンドを実行します 11
$./run.mediator (6) 実行結果の確認 (6-1) 出力結果の確認以下の出力結果を確認します 1 mout 2 pout $DEX_ROOT/test/pmtest_sbc 以下の同名のファイルと結果が一致するか比較します (6-2)SBC の通信ログの確認 wk?/_sbclog* の各ファイルの末尾行が "SBC finish" という文字列を含むか確認します 例 : $ tail -1 wk?/_sbclog* ==> wk0/_sbclog_2_0 <== MEDIATOR(0) SBC finish time=1160041161.939453 ==> wk0/_sbclog_2_1 <== MEDIATOR(1) SBC finish time=1160041162.525325 ==> wk1/_sbclog_0_0 <== PARTICLE(0) SBC finish time=1160041161.996441 ==> wk2/_sbclog_1_0 <== MESH(0) SBC finish time=1160041162.575814 $ (7) クリーンアップ設定ミス等で正常終了しなかった場合は 再実行する前に必ず以下の手順でクリーンアップ作業を行ってください (7-1) 残存プロセスの確認 mediator_s および particle および mesh が実行された可能性のある計算ノードにログインし ( どの計算ノードで実行されたか分かっている場合は そのノードにログインし ) mediator_s, particle または mesh のプロセスが残っていないか ps コマンド等で確認します 12
例 : $ rlogin png1038.naregi.org $ ps x (7-2) 残存プロセスの消去 particle または mesh プロセスが残っている場合は kill します 例 : $ kill -9 12345 (7-3) 通信バッファの消去通信バッファディレクトリ下にファイルまたはディレクトリが残っている場合は それらを消去します 例 : $ rm wk?/* $ rm -r wk?/_sbc* (_sbc* というディレクトリが残っている場合 ) 2.8 補注 2.8.1 部分インストール方法 2.8.1.1 SBC がインストールされていない環境の場合 SBCがインストールされていない環境で使用する場合には 以下の項目に従って本章 2.2 節以降の作業を行うことで 部分インストールすることが可能です 12.2.3 項の作業において (1),(2),(6) の設定のみ行ってください (6) の設定は $MPIR_HOME/binの追加だけを行ってください 22.3 節の作業の前に $DEX_ROOT/config.sbcおよび $DEX_ROOT/config.isを削除するか リネームして下さい 2.3 節の作業後には bin,lib,include に以下のファイルのみが作成されます bin: mediator include: dexlibrary.h dex_msgtag.h dpp_define.h 13
dpp_extern.h dpr_bucket.h dpr_define.h dpr_extern.h dpr_finddest.h dpr_shlibmng.h version.h lib: libdex.a 2.8.1.2 NAREGI ミドルウェアがインストールされていない環境の場合 NAREGIミドルウェアがインストールされていない環境で使用する場合 もしくはNAREGI Workflow Tool 上で連成アプリケーションを構築 実行しない場合は 以下の項目に従って本章 2.2 節以降の作業を行うことで 部分インストールすることが可能です 12.2.3 項の作業において (1),(2),(3),(4),(6) の設定のみ行ってください (6) の設定は $MPIR_HOME/binの追加だけを行ってください 22.3 節の作業の前に $DEX_ROOT/config.isを削除するか リネームして下さい 2.3 節の作業後には bin,lib,include に以下のファイルのみが作成されます bin: mediator mediator_s include: SBC.h SBC_proto.h dexlibrary.h dex_msgtag.h dpp_define.h dpp_extern.h dpr_bucket.h dpr_define.h dpr_extern.h 14
dpr_finddest.h dpr_shlibmng.h version.h lib: libdex.a libdex_s.a 15
第 3 章 Mediator の実行時環境の提供 Mediator および Mediator API をリンクしたユーザーアプリケーションの起動は利用者が 行うため 実行環境の設定は利用者レベルで行います ただし 以下の環境変数は管理者からユーザに情報の提供が必要です (1) DEX_ROOT Mediatorをインストールしたディレクトリです (2) SBC_ROOT SBCをインストールしたディレクトリです (3) MPIR_HOME,MPIROOT MPIがインストールされているディレクトリです (4) GLOBUS_LOCATION Globusがインストールされているディレクトリです (5) JAVA_HOME JAVAがインストールされているディレクトリです AIXの場合は32ビットモード用 JAVAがインストールされているディレクトリです (6) PATH $JAVA_HOME/bin, $MPIR_HOME/binを先頭に追加します 16
第 4 章 Mediator の起動 / 停止と保守について Mediator および Mediator のライブラリをリンクしたユーザーアプリケーションの起動 終 了は利用者が利用者権限で行うため 管理者レベルでの起動 終了作業はありません 4.1 前提ソフトのアップグレードに伴う再ビルドについて GridMPI または SBC がアップグレードされた場合に Mediator 本体およびユーザーアプリケーションの再ビルド ( コンパイル リンク ) が必要になる場合があります 再ビルドが必要かどうかは GridMPI または SBC のアップグレードが一般のアプリに与える影響に依存します (1) ソース再コンパイルと再リンクが必要な場合 GridMPI または SBC を利用する一般アプリの再コンパイル リンクが必要な場合には Mediator 本体の再ビルドが必要です また Mediator と SBC を利用するユーザーアプリケーションについては 再コンパイル リンクが必要です (2) 再リンクのみが必要な場合 GridMPI または SBC を利用する一般アプリの再リンクのみが必要な場合にも Mediator 本体の再ビルドが必要です また Mediator と SBC を利用するユーザーアプリケーションについては 再リンクが必要です 再ビルドは 以下の手順で行ってください # cd $DEX_ROOT # make clean # make 第 5 章 Mediator のアンインストール方法 5.1 アンインストール前の作業 Mediator のインストールディレクトリをNFSで共有している計算ノード上に Mediator プロセスが残っている場合 アンインストールに失敗する場合があります すべての Mediator プロセスを kill してからアンインストールしてください 5.2 アンインストールの作業 Mediator をアンインストールするには $DEX_ROOT 以下と $DEX_ROOT ディレクトリを削除し てください 17
5.3 アンインストール結果の確認 $DEX_ROOT ディレクトリが存在しないことを確認してください 第 6 章 Mediator のアップグレードインストール方法 Mediator をアップグレードインストールするには 第 5 章の方法に従い旧バージョンの Mediator を一旦アンインストールし 同じディレクトリに本マニュアルの手順に従い最新版の Mediator をインストールしてください 旧バージョンを残しておきたい場合は 旧バージョンのインストールディレクトリとは別のディレクトリに新規にインストールして下さい 18