ソフテック・トップページへ
ホーム 製品 セキュリティ・サービス HPCサービス ダウンロード 企業情報

PGI Cluster Development Kit
PGI CDK の構成・インストール時の留意事項
PGI CDK 製品概要 > CDK の留意事項
 

PGI CDK のソフトウェア構成・設定時の留意事項

PGI CDK コンパイラのライセンス形態と制約事項

PGI CDK製品に含まれる PGIコンパイラを使用する際のライセンス形態は、FLEXlm形式のライセンスとなります。下記に本製品のライセンス形態と制限事項を説明致します。

   表 1 コンパイル時のライセンスの形態

ライセンスタイプ 内容
FLEXlm形式 任意のユーザアカウントでコンパイラを使用できます。コンパイルを同時に行えるユーザ数の制限があります。また、ネットワークカードが実装されている必要があること、およびライセンスサーバデーモンを起動する必要があります。


FLEXlm形式 任意のユーザアカウントでコンパイラを使用できます。コンパイルを同時に行えるユーザ数の制限があります。また、ネットワークカードが実装されている必要があること、およびクラスタのマスタノード上にライセンスサーバデーモンを起動する必要があります。
(ご参考) PGI CDK製品と PGI Server 製品の機能、ライセンス形態の違いについて

表 1 のコンパイルを同時に行えるユーザ数は、ご購入頂きました製品タイプによって異なります。また、同じ組織のネットワークにつながったPC クラスタ以外の Linux マシン上でも PGI コンパイラをインストールしていただければコンパイル可能です。また、表 2 には、各並列プログラミング・モデルに応じての制約事項を示しました。 CDK製品の各ライセンスによる制限については、こちらのページにても、ご確認ください

   表 2 並列実行時のライセンスによる制約

並列実行形態 内容
共有メモリシステム(SMP上での)
自動並列実行、OpenMP並列実行
並列実行スレッド数は、最大 256 まで
分散メモリシステム(クラスタ上での)
自動並列実行 HPF並列実行
High Performance Fortran(HPF) による PGI CDK の購入ライセンスに応じて 64、256 CPU までの並列コンパイル・実行機能
分散メモリシステム(クラスタ上での)
MPI 並列実行
MPICH の使用による実行モジュールは、実行 CPU 数の制約はありません。
PGDBG, PGPROF で分析可能な
並列 CPU数
デバッガ等のツールでの並列分析可能な最大 CPU 数は PGI CDK の購入ライセンスの「プロセス数(64 と 256 のライセンス有り)」に依存します。


PGI CDK のインストール準備、PCクラスタ環境の確認

PGI CDK の対応プロセッサ並びにLinux OS環境

● 対応プロセッサ

32-bit x86, 64-bit AMD64 technology あるいは Intel 64プロセッサベースのシステム。 なお、PGI コンパイラは、、 マルチコア・ プロセッサ対応となっております。
【注意】
クラスタ内の各システムのCPUタイプにおいて、32-bit x86 と64-bit (either AMD64 or EM64T)の混在するシステム構成は、PGI CDK ではサポートしていません。全てのクラスタ・ノードは、同じCPUタイプ(32-bit x86あるいは64-bit AMD64 あるいは 64-bit Intel64)でなければなりません。また、クラスタ・ノードが64-bitのCPUタイプの場合は、フロントエンド・ノードも64-bit CPUタイプのものでなければなりません。

● 対応Linuxディストリビューション
  対応する Distibutions のページでお確かめください。
【注意】
クラスタ内の各ノードに実装されたの Linux ディストリビューションとそのバージョンは、全て同一であることが必要です。これは、使用する GNU の glibc のバージョンを合わせるための措置であり、異なるバージョンが存在する場合は、そのノードでの実行ができない場合があります。

● PCクラスタのネットワーク
 Giga-bitネットワーク等のEthernet クラスタ , InfiniBand (OFED)
【注意】
通信媒体は、TCP/IP Ethernet あるいは、InfiniBand 通信機構を有し、OFED ソフトウェア並びにそのドライバーが実装されているシステムに限定しております。Myrinet 等の高速通信媒体用の MPICH ライブラリ等の実装は CDK のインストーラではできませんのでご注意下さい。また、PGDBG(MPI並列デバッガ)も TCP/IP Ethernet(p4)、MVAPICH(InfiniBand) 対応のものとなっております。

PGI CDK の制約事項


 PCクラスタの構成

図1は典型的なPCクラスタの構成を示したものである。PGI CDKは、以下のようなシステム構成の上に、クラスタ・ユーティリティをインストールします。ここで、以降の説明で使用する言葉の定義を行います。一般にクラスタシステムは、役割の異なるマスタノードとスレーブノードと言う二つのノード構成に分類されます。本書の以降では、マスタノードは「フロントエンド・ノード」と称し、スレーブノードは、「クラスタ・ノード」と称します。



                  図 1 PCクラスタの基本的構成

PGI CDKでは、フロントエンド・ノードクラスタ・ノードの機能を以下のように定義しています。

【フロントエンド・ノード】

クラスタ内における開発環境(コンパイル等)とバッチジョブ投入・監視等のためのフロントエンド機能を持つものと定義します。「マスタノード」とも言います。基本的には、インターラクティブなタイム・シェアリングで使用する環境とします。但し、バッチ処理システムの中で計算を行うノードの一つとして共用するような構成も可能です(この機能の選択は、インストール中に指示します)。
また、このノードは、組織内のパブリック・ネットワークとのゲートウェイとしても機能するように、一般には、二つのネットワークカードが実装されるはずです。上図の例では、外側のネットワークインタフェース(eth0) に対するホスト名として cluster と定義しています。また、クラスタ内部のプライベート・ネットワーク側(eth1) は、ホスト名 master として定義し、このネットワークにクラスタ・ノードが接続されております。PGI CDK はこのプライベート・ネットワーク側の全ノードに対して必要なユーティリティ・ソフトウェアのインストールを行います。なお、PGI コンパイラをクラスタ以外の任意のマシンにインストールし、ネットワーク・フローティング・ライセンスで使用する場合、本ノードがライセンスを管理するFLEXlmライセンスサーバとなるため、eth0 の MAC アドレスを常に確認するため、eth0 が組織内のグローバルなアドレスを持つことがライセンス・サーバのネットワーク接続性の問題を回避できます。(フロントエンド・ノード内の eth0 と eth1 間は、TCP/IP パケットが透過的であることが必要です)
さらに、一般的な PCクラスタの構成では、このノード上にクラスタ・ワイドで共用できるファイルシステムを構築したNFS Serverの機能も有します。PGI CDK では、この共用ファイルシステムが存在すると言う前提でバッチ処理並びにMPI等の並列処理実行が可能となります。一般の共用ファイルシステムとして export するのは、ユーザの /home ディレクトリと共用で使用される多目的の/export (名称は一例です)が適当です。また、ユーザ管理に関しては本ノードで NIS Server の機能を提供し、各スレーブノードが NIS Client となるのが一般的です。

【クラスタ・ノード】

クラスタ内のバッチ・処理システムの中で計算を専門に行うノードとして定義します。「スレーブノード」とも言います。基本的には、各ノードにログインして使用する状況を想定していません(もちろん、ログインして使用することはできますが、この場合はバッチ処理システムの意味がなくなります)。また、PGI CDK の構成と設定では、このノードでコンパイルすることはできません

PGI CDK インストール前に決定すべき項目と確認事項

(1) PGI CDK のクラスタ構築範囲とLinuxシステムの必要要素

図2は、PGI CDKによりクラスタを構築する際のソフトウェアのインストールする範囲とクラスタシステムに必要となる設定に関して纏めたものです。注意すべき事項は次のとおりです。

フロントエンド・ノードから CDK ソフトウェアをインストールしますが、その際に指定するマスタノード名は、クラスタ・ノード側(プライベート・ネットワーク側)のネットワークカードに定義した「ホスト名」を指定してください。下記の例では 「master」 となります。各スクラスタ・ノードに対するソフトウェアのインストールでは、rsh あるいは SSH のリモート環境を利用して行います。

各ノードの Linux 環境は全て同一の Linux Kernel リビジョンであることが望ましいです。また、同様にシステムのライブラリである glibc も同一であることが必要です。その他にPGIコンパイラに必要なパッケージは、gcc-c、gcc-gfortran が Linux 上にインストールされていることが必要です。

フロントエンド・ノードにクラスタ全体が共有するファイルシステム(例/home、/export等)を NFS サーバとして起動し、プライベート・ネットワークに対してエキスポートしてください。クラスタ・ノード側では、この NFS ファイルシステムのクライアント設定をして下さい。

フロントエンド・ノード上で NIS サーバを起動してユーザ管理情報をクラスタ・ノードにおいて共有できるように NIS クライアント設定してください。

各ノードのシステム起動時のランレベル値(デフォルト値)を全て同じ値に設定してください。一般的には、3 あるいは5 となります。ランレベルを確認するコマンドは、/sbin/runlevel です。このコマンドの出力の数字が現在設定されているランレベルです。本来、クラスタでは常時稼働するプロセスを削減する意味でランレベル 3 が推奨されます。フロントエンド・ノードでは必要な場合のみ、ランレベル 5 にして GUI 等のユーティリティを使用することをお勧めします。PGI CDK は、インストール時にフロントエンド・ノードで現在稼働しているランレベルをシステム起動時のデフォルトのランレベルとして認識し、全クラスタ・ノードに対して、ブート時の PGI CDK ソフトウェアのデーモン起動スクリプトをそのランレベルで設定します。各ノードがそれぞれ異なったランレベルの場合、システム再起動時に必要なデーモンが起動されないことがあります。


(2) 各ノード間でのリモートシェル実行環境の確認

フロントエンド・ノード並びに各クラスタ・ノード間でリモード・シェル (rsh あるいは SSH) が動作可能な環境であることを確認してください。プライベート・ネットワーク側で設定されていない場合は、.rhosts あるいは hosts.equive の設定を行うか、SSH のリモートアクセス環境を設定してください。セキュアな環境を構築する場合は、フロントエンド・ノードにセキュアなゲートウェイ機能を実装して、パブリックなネットワークとの通信を制御してください。

ルート権限での rsh の利用では、/etc/securetty ファイルに "rsh" 行を追加する必要があります。また、必要に応じて、rexec、rlogin 等も追加してください。

リモートシェル環境が設定されていることの確認は、ルート権限並びにユーザ環境において以下のコマンドが動作することで確認できます。例えば 3 ノード構成の場合で、node1 から以下のコマンドを実行します。以下と同じ確認が master、node2 においても必要です。全てのノード間でリモート環境が設定されていない場合、インストール作業は失敗します。なお、rsh、ssh 共に 「パスワード(パスフレーズ)認証無し」 でアクセスできる環境でなければなりません。
(参考) http://www.softek.co.jp/SPG/Pgi/TIPS/public/general/mpich2_use.html#remote_sh

 $ rsh master date  あるいは $ ssh master date
 $ rsh node2 date あるいは $ ssh node2 date

PGI CDKの中に含まれるオープンソースのソフトウェアは、以下のリモートシェル環境で動作することを前提にしております。以下の全てのソフトウェアをインストールする場合、クラスタ内のリモート環境は、rsh あるいは、ssh の環境の構築が必要です。

MPICH 3.0.4 ssh環境(default) mpiexec -launcher オプションで使用リモート環境を選択可能。
MVAPICH2 ssh環境
Open MPI ssh環境

(3) ノード機能の構成の決定

フロントエンド・ノードがバッチ処理システム内での計算処理を担うかどうかにより、以下の二つ構成の形態を構築できます。予め、以下のいずれかの検討を行ってください。どちらでも構いませんが、MPI の並列ジョブをバッチとして投入した際は、△両豺隋▲侫蹈鵐肇┘鵐鼻Ε痢璽匹離轡好謄爐睚体鷭萢ノードの一つとして使用される場合があります。この場合、フロントエンド・ノードが他の用途で使用されているとき、ジョブの並列性能の劣化を来たす場合がありますが、一般に総ノード数が少ない場合は、△旅柔をとります。

フロントエンド・ノード(マスタノード)は「コンパイル機能、ジョブ投入機能」等のフロントエンド機能のみとし、クラスタ・ノード(スレーブノード)は「バッチ計算処理」のみの機能を担う構成
マスタノードも含めた全てのノードが「バッチ計算処理」のために使用するノード構成

,旅柔の場合、MPI のプログラムを実行する際には、何らかのバッチ処理システムを使用することが望ましいでしょう。PGI CDK 2010 以降には、バッチ処理システムはバンドルされておりませんので、必要な場合は、任意のバッチ処理システムを導入して下さい
複数の並列ジョブが投入された場合、バッチ処理システムが並列処理のための使用可能なノード情報を提供し、そのノード構成の中で並列処理が行われます。これは、並列処理で使用されるノードの選択をバッチ処理システムに委ねると言うことになります。△両豺腓眛瑛佑任垢、前述したようにマスタノードも含めた並列処理ノード構成となるため、ジョブの並列性能の劣化があり得ます。

PGI CDKインストール時に設問される主な事項

(1) PGIソフトウェアをインストールする場所(絶対パスを指定)
(2) フロントエンド・ノード(マスタノード)名の指定
(3) クラスタ(計算ノード)を構成する各ノードのホスト名の指定
(4) PGDBG が利用する MPI の Launcher のリモート環境の決定(rsh or ssh)

詳細な PGI CDK の日本語インストールマニュアルとCDK ユーティリティ(MPIプログラムのコンパイル等)の使用説明書が添付されます。インストール環境の準備さえ整えれば、15分程度で全てのユーティリティのインストール・設定が可能です。

PGI CDK製品のご提供マニュアル(ソフテック提供)

・PGI CDK 日本語インストール・マニュアル
・PGI CDK 搭載のソフトウェア使用法マニュアル(ソフテック著作)
 (MPICH, Open MPI, MVAPICH)
・ライセンス発行の手引き(日本語)
・PGI User's Guide(英語)
・PGI Tools Guide(英語)


<< 戻る


 ソフテックは、PGI 製品の公認正規代理店です

サイトマップ お問合せ
Copyright (C) SofTek Systems Inc. All Rights Reserved.