次の節では、もっとも重要な Grid Engine システムコンポーネントの機能について説明します。
Grid Engine システムの基本的なホストは、次の 4 種類です。
マスターホスト
実行ホスト
管理ホスト
発行ホスト
マスターホストは、クラスタ全体の動作の中心に位置づけられます。マスターホストでは、マスターデーモン sge_qmaster と スケジューラ デーモン sge_schedd が実行されます。この 2 つのデーモンは、キューやジョブなどのすべての Grid Engine システムコンポーネントを制御します。デーモンは、コンポーネントのステータスやユーザーのアクセス権などに関するテーブルを維持しています。
デフォルトでは、マスターホストが管理ホストでもあり発行ホストでもあります。
実行ホストは、ジョブの実行権を持つシステムです。したがって、実行ホストにはキューインスタンスが関連付けられています。実行ホストは、実行デーモン sge_execd を実行します。
管理ホストは、Grid Engine システムの管理処理をすべて実行する権限を持つホストです。
発行ホストでユーザーが発行および制御できるのは、バッチジョブだけです。特に、発行ホストにログインしたユーザーは、qsub コマンドでジョブを発行し、qstat コマンドでジョブステータスを監視し、Grid Engine システムの OSF/1 Motif グラフィカルユーザーインタフェースである QMON を使用できます。QMON については、「Grid Engine システムのグラフィカルユーザーインタフェースである QMON」に説明があります。
システムは、複数の種類のホストとして機能できます。
3 つのデーモンが Grid Engine システムの機能を提供します。
クラスタの管理およびスケジューリング処理の中心となる sge_qmaster は、ホスト、キュー、ジョブ、システム負荷、およびユーザーの権限についてのテーブルを維持します。sge_qmaster は、sge_schedd からスケジューリングに関する決定を受け取り、適切な実行ホストの sge_execd に処理を要求します。
スケジューリングデーモンは、sge_qmaster によってクラスタのステータスの最新ビューを維持します。スケジューリングデーモンは、スケジューリングに関する次の決定を行います。
どのジョブがどのキューに割り振られるか
共有、優先順位、または期限を維持するためにどのようにジョブを再整理し、優先順位を再設定するか
デーモンはこれらの決定を sge_qmaster に転送し、sge_qmaster は、要求された処理を開始します。
実行デーモンは、ホスト上のキューインスタンスおよびこれらのキュー インスタンス内のジョブの実行を担当しています。実行デーモンは、定期的にジョブステータスまたはホストの負荷などの情報を sge_qmaster に転送します。
キューは、1 台以上のホストで同時に実行できるジョブのクラス用のコンテナです。キューは、ジョブを移行できるかどうかなどの特定のジョブの属性を決定します。実行ジョブはその有効期間中キューに関連付けられています。キューに関連付けられていることで、ジョブで発生する事象の一部が影響を受けます。たとえば、キューが一時停止されると、そのキューに関連付けたすべてのジョブも一時停止されます。
ジョブをキューに直接発行する必要はありません。ジョブの要件プロファイルだけを指定すればすみます。プロファイルには、メモリー、オペレーティングシステム、使用可能なソフトウェアなどの要件が含まれます。Grid Engine ソフトウェア は、適切なキューと実行負荷が少ない適切なホストにジョブを自動的に割り振ります。指定したキューにジョブを発行すると、ジョブはそのキューと結合されます。結果として、Grid Engine システム デーモンは、負荷が少なくより適したデバイスを選択できなくなります。
キューは 1 台のホストに存在する場合と、複数のホストに及ぶ場合があります。このため、Grid Engine システムのキューはクラスタキュー とも呼ばれます。ユーザーと管理者は、クラスタキューを使用すると、1 つのキュー構成によって実行ホストのクラスタを同時に実行できます。クラスタキューに関連付けられた各ホストは、クラスタキューからそれぞれのキューインスタンスを受け取ります。
コマンド行ユーザーインタフェースは、次の作業を行う補助的なプログラム (コマンド) セットです。
キューの管理
ジョブの発行と削除
ジョブステータスのチェック
キューとジョブの一時停止と有効化
Grid Engine システムは、次の補助プログラムセットを提供します。
qmake – 標準 UNIX の make 機能の代わりです。qmake は、 make の各手順を適切なマシンのクラスタ間で分散する make の機能を拡張したものです。
qmod – 所有者がキューを一時停止したり、有効にしたりできるようにします。このキューと関連付けられている現在アクティブなプロセスすべても信号で伝えられます。
Grid Engine システムによる対話型アプリケーションのリモート実行。 qrsh は、標準の UNIX 機能である rsh と互換性があります
実行時に端末 I/O と端末コントロールをサポートするバッチジョブの発行。端末 I/O には標準出力、標準エラーおよび標準入力が含まれます
バッチジョブの終了までアクティブな発行クライアントの提供
Grid Engine ソフトウェア が制御する並列ジョブのタスクのリモート実行
qselect – 指定された選択基準に対応するキュー名のリストの印刷。qselect の出力は、通常選択されたキューセットに処理を適用するほかの Grid Engine システムコマンドに送信されます。
qsh – 負荷の少ないホストの xterm 内で対話型シェルを開く。このシェル内では全種類の対話型ジョブを実行できます。
qtcsh – 一般的に使用される UNIX C シェル (csh) の派生コマンド tcsh の、完全な互換性を持つ代用コマンド。 qtcsh は、指定アプリケーションの実行を適切で負荷が少ないホストに Grid Engine ソフトウェア を通して透過的に分散するという拡張機能を持ったコマンドシェルを提供します。