HOME セキュリティ PCクラスタ ミドルウェア製品 ダウンロード 製品FAQ 会社案内 募集案内
HOME -> PCクラスタ・ソリューション -> グリッドコンピューティング -> Sun Grid Engine
Sun Grid Engine の機能をユーザの視点から見た利点にフォーカスして纏めたものです。活用の仕方で、今までになかった業務改善が可能となります。ソフテックは、現在いささか具体性に欠けた抽象論的グリッドコンピューティングが謳われている中で、「実用」のグリッド環境を提供することを第一の使命と考えております。
グリッドコンピューティングの最大のメリットは、計算資源を最大限有効に使用することが出来ることであり、様々な分野で生産性鋸有情に寄与します。



グリッドコンピューティングとは何?ユーザにとっての利点
どのような分野で有効か?
Sun Grid Engine のユーザ・管理者にとって便利な機能
Sun Grid Engine の優れた差別化機能
Sun Grid Engine 機能概要
ソフテックのコンサルティング・サポート内容
Sun は、Sun Microsytems, Inc. の登録商標です。
 ● グリッドコンピューティングとは何?ユーザにとっての利点

 グリッドコンピューティングとはネットワーク上の様々なリソース(コンピュータ、ストレージなど)を仮想的に 1 台のコンピュータとして利用可能にする技術です。グリッドコンピューティング環境を一言で言い表せば、「空いている複数の CPU リソースを常に管理し、ダイナミックにジョブをスケジューリングできる環境」と言うことになります。グリッドコンピューティングの基本技術は従来からのバッチシステムの延長ですので、小規模なクラスタシステムにおいてはバッチジョブシステムとして利用可能です。このようなシステムはクラスタグリッドと呼ばれます。弊社では Sun Grid Engine オープンソース版を使用したグリッドコンピューティングシステムの販売・構築支援サービスの提供を開始いたしました。また、Sun Microsystems 社の提供する商用 Sun Grid Engine / Sun Grid Engine Enterprise Edition (商用)に対しても構築、実装、コンサルティングサービスを開始いたします。

 Sun Grid Engine とは

Sun Grid Engine とは Sun Microsystems 社が公開しているグリッドコンピューティングシステム構築ソフトウェアです。現在機能の違いで 2 種類のプログラムが公開されています。

  • Sun Grid Engine
  • Sun Grid Engine, Enterprise Edition

Sun Grid Engine と Sun Grid Engine, Enterprise Edition の違いは適用できるシステムの規模とスケジューリング機能で、Sun Grid Engine, Enterprise Edition が高機能になっています。
SGEはオープンソースで開発が進められており、オープンソース版は‘Grid Engine’と呼ばれています。SGE と Grid Engine の機能は同一です。

 現在、弊社が提供するサービスは Sun Grid Engine または フリー Grid Engine を使用したグリッドコンピューティングシステム構築サービスとなっています。Sun Grid Engine, Enterprise Edition を使用したグリッドコンピューティングシステム構築サービスもサポートします。(以下、Sun Grid Engine を SGE と略します。)

 SGE の特徴・利点

 SGE でグリッドコンピューティングシステムを構築することで、ネットワーク上のリソースを有用に活用でき、生産性を高めることができます。グリッドコンピューティングの主な特徴、機能、利点を表 1-1 に示します。

表 1-1 グリッドコンピューティングの主な特徴、機能、利点

特徴

機能

利点

クラスタグリッドの構築

グリッドコンピューティングの基本構成です。クラスタ内のリソースを有効に利用できます。

リソースの使用率の向上および最適な管理が行えます。ユーザがリソースの状況を気にすることなく、本来の設計・開発業務に専念出来る環境を提供します。

動的なリソースのバランシング

スケジューリング機能により、投入されたジョブやユーザの要求に対応して、利用可能なリソースを動的に提供します。

リソースに対する容易なアクセスを提供するのでユーザはどのリソースが使用可能なのか考える必要はありません。アイドル状態のリソースは必要とされているジョブに割り当てられるのでリソースの利用率が向上します。

アレイジョブ

パラメトリックジョブ(同じジョブでパラメタを変更して繰り返し実行する)の実行を支援します。約 200,000 個のジョブを一度にサブミット可能です。

多数のジョブが発生するパラメトリックジョブの作業効率を改善します。

パラレルエンバイロメント(PE)管理

既存の並列アプリケーション(MPI または PVM インターフェースを利用したもの)の並列実行を管理可能です。

並列処理アプリケーションを効率良く実行可能です。

シャドウマスタホスト

マスタマシンに障害が発生した時、シャドウマスタとして定義されたホストが、グリッドの管理を引き継ぎます。

高可用性を実現します。

自動ジョブ再実行

ジョブ実行中のホストに障害が発生した時、他のホストでジョブを再実行します。

高可用性を実現します。


 SGE によるジョブ実行

 SGE におけるジョブ実行イメージを図 1-1 に示します。SGE と従来のバッチジョブシステムとでは、キューの概念が異なります。SGE ではユーザはキューを意識することなくジョブをサブミットできます。
ユーザがサブミットしたジョブにはスケジューリングにより自動的に利用可能なリソースが割り当てられます。
実行順序はジョブに付加されたプライオリティ、スケジューリング方式によってサブミット順番とは異なる場合があります。

SGE におけるジョブ実行

 ● どのような分野で有効か?

 グリッドコンピューティングは、現在、次のようなエンジニアリング現場・市場に最も有効です。compute-intensive なタスクが多く、非常に多くのリソースを使用する技術計算分野において、積極的に採用されています。最も重要なことは、ユーザは何も考慮することなく、システムリソースを有効に活用できることであり、これがトータル・ターン・アラウンドの削減に繋がります。また、この機能がオープンソース(フリー)のソフトウェアで可能であることも、大きなコスト削減効果をもたらします。是非、一度お試し下さい。
躊躇なさっている方も是非ご相談下さい。適切なアドバイスをさせていただきます。

  • EDA
  • MCAE (Parametric study)
  • バイオサイエンス
  • ジオ・サイエンス(地質、建設、土木、設計分野における計算業務)
  • Economics and Financial Modeling
  • ソフトウェア開発
  • デジタル画像の作成、医療画像、大規模画像の分割処理による高速化適用
  • ビジネス分野での定型処理(バックエンドを Linux-Grid で構築し、フロント部を Windows 環境でインタフェースを取る
 ● Sun Grid Engine のユーザ・管理者にとって便利な機能

PCクラスタシステムをグリッドコンピューティングシステムで運用すると、ユーザの様々な不満を解消できます。

 PCクラスタ内の PC を有効利用したい

 グリッドコンピューティングシステムを構築する目的は PCクラスタ内のコンピュータ(リソース)を有効活用することにありますグリッドコンピューティングシステムを利用しない場合、PCクラスタのユーザは「どこのコンピュータが利用可能なのか?」ということを意識しながらジョブを実行する必要があります。またコンピュータの負荷を一元的に管理していないため、各コンピュータの利用率が不均一になります。また、ユーザがコンピュータの空き状況や、負荷状況を気にしながらジョブを実行することはユーザに不要な負担となり、生産性を低下させる要因となります。図 2-1 にグリッドコンピューティングシステムを利用しない運用のイメージを示します。

グリッドコンピューティングシステムを利用しない運用

図 2-1 グリッドコンピューティングシステムを利用しない運用

 グリッドコンピューティングシステムを導入しますと、PCクラスタ内のリソースの状況はグリッドコンピューティングシステムが一元管理を行います。ユーザがグリッドコンピューティングシステムのコマンドを利用してジョブを投入すればグリッドコンピューティングシステムが適切なリソースをジョブに割り当てて実行し、結果をユーザに返します。

 グリッドコンピューティングシステムによってユーザは PCクラスタ内の状況を気にする必要が無くなり、本来の業務に専念できます。またコンピュータの利用率も向上します。図 2-2 にグリッドコンピューティングシステムを利用した運用のイメージを示します。

グリッドコンピューティングシステムを利用した運用

図 2-2グリッドコンピューティングシステムを利用した運用

 ひとつのプログラムに様々なパラメタを与えて効率良く実行したい

 1 つのプログラムに使用するパラメタを毎回変えて実行し、情報を取得する、このようなジョブは‘パラメトリックスタディジョブ’と呼ばれ、様々な現場で数多く実行されています。
 SGE ではパラメトリックスタディジョブを‘アレイジョブ’機能としてサポートしています。アレイジョブを構成するジョブは‘タスク’と呼ばれます。パラメトリックスタディジョブ自体は簡単な概念ですが、パラメトリックスタディジョブをサポートしていないバッチジョブシステムでは運用時に様々な問題が発生します。

項目

パラメトリックスタディジョブ
未対応システム

SGE

ジョブの投入

1ジョブずつの投入になるので、シェルスクリプトを使用して投入する。

ジョブを投入するqsubコマンドのオプションを指定することでパラメトリックスタディジョブをアレイジョブとして簡単に投入可能。

ジョブの管理

1ジョブずつ処理する。

アレイジョブとしてまとめて操作可能。タスク毎に操作も行える。


 急いで実行したいジョブを優先して実行したい

 急いで実行したいジョブがあるが、既に多くのジョブが投入されている。このような状況では、ジョブのプライオリティをより高優先度の値に変更してジョブを投入する方法が一般的です。SGE においてもジョブにプライオリティを付けて、スケジューリングを変更することができます。しかし、この方法では既に実行されているジョブに対してはプライオリティの効果はありません。もっとも優先度が高いジョブであっても、現在実行中のジョブが終わるまで待つことになります。

 SGE には実行中のジョブをサスペンドし、優先度の高いジョブを先に実行する機能があります。これはキューの機能として提供されます。優先ジョブ用のキューにジョブが投入された場合、エグゼキューションホストを共有する他のキューをサスペンドし、自キュー内のジョブを優先して実行できます。

 キューがサスペンドされると、そのキュー内で実行中のジョブもサスペンドされます。また、ジョブが存在していなかった場合、サスペンド中のキューは新しいジョブに割り当てられることはありません。また、優先ジョブ用のキューで実行されるジョブがなくなると、サスペンドは解除され、ジョブの実行を再開します。

 高可用性を実現したい

 グリッドコンピューティングシステムには長時間連続稼動できる安定性が求められます。SGE では以下の方法で高可用性を実現しています。

  • グリッドコンピューティングシステムを管理するホストの二重化

グリッドコンピューティングシステムを管理するホストは‘マスタホスト’と呼ばれます。マスタホストがダウンしますとグリッドコンピューティングシステム全体が停止することになります。つまり性能のボトルネックになります。SGE ではマスタホストをバックアップする‘シャドウマスタ’を定義しグリッドコンピューティングシステム全体の可用性を向上することが可能です。 シャドウマスタ使用時のイメージを図 2-3 に示します。

シャドウマスタイメージ

図 2-3 シャドウマスタイメージ

  • ジョブ実行中のホストに障害が発生したときの再実行機能

 ジョブ実行中のホストが何らかの障害でダウンした場合、SGEは該当ジョブを他のホストで自動的に再実行します。再実行のイメージを図 2-4 に示します。

ジョブ再実行機能

図 2-4 ジョブ再実行機能

 ● Sun Grid Engine の優れた差別化機能

 シャドウマスタ機能

 グリッドコンピューティングシステムにおいてジョブを管理するホスト(マスタホストと呼ばれます)は非常に重要です。このホストが停止すると、バッチジョブシステム全体が機能しなくなるからです。

 SGE ではマスタホストをバックアップするシャドウマスタを定義することが可能です。シャドウマスタは常にマスタホストを監視し、マスタホストにあわせて情報を更新します。もし、マスタホストがダウンしたとき、シャドウマスタがマスタホストの機能を引継ぎ、グリッドコンピューティングシステムを管理します。これにより、グリッドコンピューティングシステムの可用性を高めることが可能です。

  プライオリティによるキュー制御

 キューのプライオリティによって同一ホスト上の他のキューを自動的にサスペンドすることが可能です。これにより高プライオリティキュー使用時は、他のキューをサスペンドし、高プライオリティキュー内のジョブを優先して実行できます。 キュー制御の様子を図 3-1に示します。

プライオリティによるキュー制御

図 3-1 プライオリティによるキュー制御

 ジョブ再実行

 ジョブ実行中のホスト(エグゼキューションホストと呼ばれます)がダウンしたとき、実行中のジョブを他のホストで自動的に再実行できます。このためホスト異常によるジョブ未実行ということが基本的にはなくなるため、ジョブ管理が容易になります。また、システムの可用性を高めることになります。

 アレイジョブ

 アレイジョブとは 1 つのプログラムのパラメタを変更しながら繰返し実行するジョブのことです。一般的にはパラメトリックスタディジョブと呼ばれます。パラメトリックスタディジョブの概念図を図 3-2 に示します。

 アレイジョブの特徴を以下に示します。

  • ジョブサブミットの簡略化

 従来のバッチジョブシステムではユーザが必要な個数分のジョブを投入する必要がありました。 SGE ではジョブをサブミットするコマンド(qsub コマンド)を 1 回使用するだけで複数のジョブをジョブアレイとしてサブミット可能です。


  • 簡単なジョブ管理

 従来のバッチジョブシステムではパラメトリックジョブは1ジョブずつ独立して存在します。そのため、パラメトリックジョブ全体に対して、削除、ホールドなどの操作が煩雑でした。
 SGE ではジョブアレイを操作するための ID が付加されますので、ジョブアレイ全体に対して操作を行う場合、この ID を使用することで簡単に行えます。また、ジョブアレイを構成するジョブ(タスクと呼ばれます)にはジョブアレイごとにユニークな ID が付加されます。個別のタスクを操作する場合は、タスク用の ID を使用します。複数のタスクをまとめて操作できるように ID の範囲指定も可能です。

パラメトリックスタディジョブ

図 3-2 パラメトリックスタディジョブ

 透過的なリモートコマンド実行

 SGE の qtcsh コマンドは tcsh のインタフェースを提供し、ユーザがあらかじめ指定したプログラムが入力されると自動的にバッチジョブシステム内のホストで実行します。

 例えば、画像処理などの高い CPU パワーが必要なプログラムを qtcsh コマンドの設定ファイルに定義しておけば、コマンドプロンプトから定義されたコマンドが入力されると SGE が適切なホストを割り当ててコマンドを実行します。ユーザはローカルとリモートの区別を意識することなく作業に専念できます。

 qtcsh による処理の流れを図 3-3 に示します。

qtcsh による透過的なリモートコマンド実行

図 3-3 qtcsh による透過的なリモートコマンド実行

 依存関係によるジョブ実行制御

 複数のジョブを組み合わせて処理を行う場合、ジョブの実行順序に依存関係を設定すると便利です。例えば図 3-4 に示すような複数の部分画像ファイルを作成し、最終的に 1 つの画像ファイルにまとめる処理の場合、部分画像ファイル作成処理はそれぞれ独立して実行できますが、1 つの画像ファイルにまとめる処理は部分画像の作成が終わった後に実行する必要があります。このような実行制御はジョブの依存関係を設定することで実現できます。

 このような処理を一つのジョブで実行することはもちろん可能ですが、処理を分割してジョブとすることにより次の利点が得られます。

  • リソースの有効活用

 エグゼキューションホストの空きが十分にある場合、複数のジョブを同時に実行することができます。1 つのジョブに記述した場合、各処理はシーケンシャルに実行されますので空いているリソースを有効に利用できません。

  • 耐障害性の向上

 実行中のホストに障害が発生した場合、再実行処理により他のホストで実行しますが、処理を分割することにより再実行の範囲が小さくなるので、障害回復のオーバヘッドを小さく出来ます。

ジョブ実行の依存関係

図 3-4 ジョブ実行の依存関係

シンプルで公平なスケジューリング

 多くのバッチジョブシステムで使用されている FIFO(first-in-first-out)方式のスケジューリングでは、先に多量のジョブを投入したユーザが資源を占有してしまうという問題が発生します。

 SGE ではこの問題を回避するため Equal-share-scheduling と呼ぶスケジューリング方式を実装しています。このスケジューリング方式では、各ユーザのジョブがなるべく公平に実行されます。そのため他のユーザが大量のジョブを投入していても、後から投入した自分のジョブが長時間待たされることはありません。

 なお、SGE/EE(Sun Grid Engine, Enterprise Edition)ではさらに柔軟なスケジューリング機能が利用可能です。弊社では、SGE/EE を使用した構築支援サービスも今後ご提供する予定です。

 システム稼動中に構成変更可能

 グリッドコンピューティングシステムを止めることなく、ホスト追加、キュー設定などの構成を変更できます。

 ●Sun Grid Engine 機能概要
 主な機能

 SGE で利用できる主な機能を示します。

  • インタラクティブジョブのサポート

     コンパイルやテスト実行などの対話実行が必要されるインタラクティブジョブを効率良く実行するためにスケジューリングします。

  • パラレルジョブのサポート

 MPI(Message Passing Interface)、PVM(Parallel Virtual Machine)で作成されたパラレルプルグラムに必要なリソースを適切に管理し、他のシングルジョブと同様にスケジューリングします。

  • ジョブ実行前後でシステム指定のプロシジャを実行可能

 キュー毎にジョブ実行前後に実行するプロシジャを定義できます。

  • ユーザ、グループによる権限の設定

ユーザ、グループによってキューの使用を制限することが可能です。また特定のユーザに管理者、オペレータといった権限を与え、権限レベルによってバッチジョブシステムの管理を分担することができます。

  • GUI によるジョブ管理、および、システム管理

 ジョブのサブミットや操作、キューの管理、システム構成の変更まで GUI で実行可能です。

  • ジョブ情報のロギング

 実行したジョブの情報(使用したキュー、実行時間など)をロギングし、様々なパラメタで検索可能です。

  • カレンダーによるキュー制御

 曜日、日時などでキューの動作を変更可能です。

  • 外部のスケジュールプログラムが利用可能

 ジョブスケジューラとして広く使用されている Maui Scheduler 3.2 と組み合わせて使用できます。

 動作条件

 SGE の動作条件を表 4-1 に示します。
 ジョブを実行するエグゼキューションホストでは、ジョブの特性に適したプロセッサ、メモリ容量、スクラッチ用ディスク容量が必要です。

表 4-1 SGE 動作条件

項目

条件

CPU

クロック数 200MHz 以上の IA-32 プロセッサ。他の多くのプロセッサもサポートされていますが、弊社では Pentium 4 などの IA-32 プロセッサに限定しております。

OS

Linux(2.2 以上のカーネルと glibc 2.1.3 以上が必要です。)他の多くのプラットフォームもサポートされていますが、弊社では x86 Linux / SPARC Solarisに限定しております。

メモリ

マスタホストでは 64MB 以上必要です。

共有ディスク容量

150MB 以上必要です。

 ● ソフテックのコンサルティング・サポート内容

 弊社では Grid Engine を実装した PCクラスタシステムの販売、および SGE を使用したグリッドコンピューティングシステムの実装を支援いたします。ソフテックのサービス・ミッションは、PCクラスタを販売することだけではなく、グリッド環境を実装することにより「お客様のビジネスの生産性を向上すること」にあります。これは、従来のPCクラスタ提供ベンダーが「売り切り」で、ユーザが本当に求めるサービスを提供できないものとは大きく異なります。ソフテックのサービスを活用することで、結果的に単なるPCの集まりから、生産性向上システムへ変身し、結果的に非常に高い投資対効果を発揮することでしょう。
 主な実装・作業項目は以下の通りです。

 SGEのインストール・基本環境設定
   PCクラスタシステムに SGE をインストールし、各ホストに基本的な設定を行います。
  • SGE インストール
  • パス設定
  • 基本キューの設定
  • アドミニストレータ、サブミット、マスタ、エグゼキューションホストなどのホスト権限の設定
  • 管理者、オペレータのユーザ権限の設定
 各種パラメタの設定・調整
   SGE を効率良く使用するための各種パラメタ設定などを行います。
  • スケジューリング方式の調整
  • ユーザが同時に実行できる最大ジョブ数
  • 再スケジューリングまでの間隔調整
  • エグゼキューションホストダウン検出時間
 お客様のご要望に沿った、環境構築
   並列ジョブ実行用環境の設定などを行います。
  • インタラクティブキューの設定
  • パラレルエンバイロメントの設定
  • MPI環境との調整
  • シャドウマスタの設定
 アプリケーション処理、実行処理の自動化等を含めたカスタマイズ構築
   エンジニアリング環境において、生産性を向上するためのアプリケーションを含めた環境構築を行います。
  • グリッドコンピューティング環境の最終目標は、生産性の向上です
  • 生産性向上のためのあらゆるご要望を承ります
  • ジョブスクリプトの開発
  • 管理者教育、ユーザ教育
弊社WEBサイトに関するご意見・お問い合せは www@softek.co.jp までお寄せください。
Copyright(c) 2002 SofTek Systems Inc. All Rights Reserved
.
株式会社ソフテック