(57)【要約】【課題】  コンピュータ資源の仮想化、および、適切なインターフェースを通じて仮想資源にアクセスするサービスを利用可能にする。【解決手段】  本発明にかかる計算資源を割り当てる方法は、共有資源ドメイン内の複数のアプリケーションおよびグリッド仮想システムを実行すること、計算資源を複数のアプリケーションに割り当てることであって、アプリケーショントランザクションを処理すること、計算資源がアイドルである場合に、複数のアプリケーションに関連した計算資源をグリッド仮想システムに動的に再割り当てすること、再割り当てすることに応答して、グリッドサービスの可用性を登録すること、グリッド仮想システム内での実行用にグリッドジョブをスケジューリングすること、および、スケジューリングすることに応答して、少なくとも１つの再割り当てパラメータを変更すること、を含む。【選択図】図１
2006085712.tif 000002
【特許請求の範囲】
【請求項１】
計算資源を割り当てる方法であって、
共有資源ドメイン内の複数のアプリケーションおよびグリッド仮想システムを実行することと、
計算資源を前記複数のアプリケーションに割り当てることであって、アプリケーショントランザクションを処理することと、
前記計算資源がアイドルである場合に、前記複数のアプリケーションに関連した計算資源を、前記グリッド仮想システムに動的に再割り当てする（２０１）ことと、
前記再割り当てすることに応答して、グリッドサービスの可用性を登録する（２０３）ことと、
前記グリッド仮想システム内での実行用にグリッドジョブをスケジューリングする（２０５）ことと、
前記スケジューリングすることに応答して、少なくとも１つの再割り当てパラメータを変更することと
を含む方法。
【請求項２】
前記実行することは、
前記複数のアプリケーションおよび前記グリッド仮想システムのそれぞれについて仮想パーティションを設けること、
を含む
請求項１に記載の方法。
【請求項３】
前記グリッドジョブの完了に応答して、少なくとも１つの再割り当てパラメータを変更すること
をさらに含む請求項１に記載の方法。
【請求項４】
前記複数のアプリケーションの性能データを収集すること
をさらに含む請求項１に記載の方法。
【請求項５】
サービスレベル目標を考慮して前記性能データを解析すること
をさらに含み、
前記再割り当てすることは、前記解析することに応答して実行される
請求項４に記載の方法。
【請求項６】
前記少なくとも１つの再割り当てパラメータを変更することは、
前記グリッド仮想システムの最小資源量を定義することであって、スケジューリングされた各グリッドジョブをサポートすること
を含む
請求項１に記載の計算資源を割り当てる方法。
【請求項７】
複数の計算資源（１２１）と、
複数のアプリケーション（１０６）と、
グリッド仮想システム（１０９）と、
前記複数のアプリケーションと前記グリッドシステムとの間で前記複数の計算資源を割り当てる管理プロセス（１０７）と、
を備え、
前記管理プロセスが、計算資源割り当ての変更を行うときに、
前記管理プロセスは、前記グリッド仮想システムに関連したデーモン（１１０）へ、第１のメッセージを通信し、
前記デーモンは、前記第１のメッセージの受信に応答して、グリッド登録オペレーションを実行し、グリッドジョブのスケジューリングに応答して、前記管理プロセスへ第２のメッセージを通信し、前記管理プロセスは、前記第２のメッセージの受信に応答して、前記グリッド仮想システム用の計算資源を予約する
計算システム。
【請求項８】
前記グリッドジョブの実行が完了すると、前記デーモンは、第３のメッセージを前記管理プロセスへ通信する
請求項７に記載の計算システム。
【請求項９】
前記管理プロセスは、前記第３のメッセージに応答して、前記予約された計算資源を、前記複数のアプリケーションの１つへの再割り当て用に利用可能にする
請求項８に記載の計算システム。
【請求項１０】
前記管理プロセスは、複数のサービスレベル目標を使用して、前記複数の計算資源を再割り当てする
請求項７に記載の計算システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は、包括的には、グリッドコンピューティングサービスを提供することに関する。
【背景技術】
【０００２】
グリッドコンピューティングには、異なるプラットフォームに基づく異種資源を共有して、分散コンピューティングをサポートすることが必要となる。
概念レベルでは、グリッドコンピューティングは、家庭用電気機器への電力供給になぞらえることができる。
この比喩は、コンピュータが計算「能力」のジェネレータの役割を果たし、アプリケーションが計算「電気機器」となり、ソフトウェアインフラストラクチャがそれらの間の相互作用の管理を担当するユーティリティの役割を果たすものである。
このような計算資源の供給を容易にするために、グリッドをサポートするハードウェアおよびソフトウェアには、或るレベルの可用性の「保証」および消費側のアプリケーションに公開されたグリッドへの標準インターフェースが提供される。
【０００３】
グリッドコンピューティングには、通常、コンピュータ資源の仮想化、および、適切なインターフェースを通じて仮想資源にアクセスするサービスを利用可能にすることが必要となる。
例えば、オープンソースのＧｌｏｂｕｓ  Ｔｏｏｌｋｉｔは、オープングリッドサービスアーキテクチャ（ＯＧＳＡ（Open Grid Services architecture））によるグリッドシステムを構築するためのソフトウェアフレームワークを提供する。
多くのタイプの分散アプリケーションが、このようなグリッドシステムによって利用可能にされた資源を利用し、公開されたインターフェースを使用して並列にコード部を実行することができる。
グリッド機能を使用する分散／並列アプリケーションの一例は、地震工学シミュレーションネットワーク（ＮＥＥＳｇｒｉｄ）アプリケーションである。
【０００４】
ＯＧＳＡグリッドシステムは、グリッドサービスの可用性を公開する多数のメカニズム、グリッドサービスへのアクセスを可能にする多数のメカニズム、およびグリッドサービスのインスタンスの寿命管理を実行する多数のメカニズムを提供する。
具体的には、ＯＧＳＡモデルによって、グリッドシステムは、レジストリサーバにサービス識別情報を記憶することが可能になる。
サービスをインスタンス化しようとするアプリケーションは、レジストリサーバに問い合わせを行って、利用可能なサービスを識別することができ、それらのサービスの特性を決定することができる。
アプリケーションは、適切なサービスを突き止めると、サービスのインスタンスを作成して、当該アプリケーションが要求した仮想資源を取得することができる。
インスタンス化されたサービスは、使用中に維持することができ、通知メッセージを通信することができ、さまざまなＯＧＳＡメカニズムを使用して管理オペレーションを受けることができる。
適当な時に、ＯＧＳＡメカニズムに従って、インスタンス化されたサービスを終了または破棄することもできる。
【発明の開示】
【課題を解決するための手段】
【０００５】
一実施の形態では、計算資源を割り当てる方法は、共有資源ドメイン内の複数のアプリケーションおよびグリッド仮想システムを実行すること、計算資源を複数のアプリケーションに割り当てることであって、それによって、アプリケーショントランザクションを処理する、計算資源を複数のアプリケーションに割り当てること、計算資源がアイドルである場合に、複数のアプリケーションに関連した計算資源をグリッド仮想システムに動的に再割り当てすること、再割り当てすることに応答して、グリッドサービスの可用性を登録すること、グリッド仮想システム内での実行用にグリッドジョブをスケジューリングすること、およびスケジューリングすることに応答して、少なくとも１つの再割り当てパラメータを変更すること、を含む。
【０００６】
別の実施の形態では、コンピューティングシステムは、複数の計算資源と、複数のアプリケーションと、グリッド仮想システムと、複数のアプリケーションとグリッドシステムとの間で複数の計算資源を割り当てる管理プロセスと、を備え、管理プロセスが計算資源割り当ての変更を行う場合に、管理プロセスは、グリッド仮想システムに関連したデーモンへ第１のメッセージを通信し、デーモンは、第１のメッセージの受信に応答して、グリッド登録オペレーションを実行し、グリッドジョブのスケジューリングに応答して、管理プロセスへ第２のメッセージを通信し、管理プロセスは、第２のメッセージの受信に応答して、グリッド仮想システム用の計算資源を予約する。
【０００７】
別の実施の形態では、コンピュータ可読媒体は、通信インターフェースを介して仮想計算資源へのアクセスをグリッドアプリケーションに提供する仮想グリッドシステムを作成するコードと、複数のアプリケーションおよび仮想グリッドシステムの間で資源を動的に割り当てるコードと、仮想グリッドシステムに関連したオペレーションをサポートするようにグリッドシステムデーモンを定義するコードと、を備える。
動的に割り当てるコードが資源を仮想グリッドシステムに割り当てると、グリッドシステムデーモンは、グリッドアプリケーションによるインスタンス化用にグリッドサービスの可用性を登録する。
グリッドアプリケーションが、インスタンス化されたグリッドサービスを使用した実行用にグリッドジョブをスケジューリングすると、グリッドシステムデーモンは、動的に割り当てるコードへメッセージを通信し、動的に割り当てるコードは、仮想グリッドシステムと共に資源を予約することによってそのメッセージに応答し、グリッドジョブをサポートする。
【発明を実施するための最良の形態】
【０００８】
いくつかの代表的な実施の形態は、共有資源ドメインからグリッドシステムへ資源を利用可能にして、分散アプリケーションをサポートするシステムおよび方法を対象とする。
ここで図面を参照して、図１は、代表的な一実施の形態による共有資源ドメイン内のシステム資源を動的に割り当てるシステム１００を示している。
【０００９】
システム１００は、複数の保護ドメイン１０１−１〜１０１−３を含む。
適切な保護ドメインの一例は、サーバプラットフォームの資源を仮想化し、かつ、ソフトウェア分離および望ましい管理特性を提供する仮想パーティションである。
パーティション１０１−１〜１０１−３は、共有資源ドメインを形成する。
すなわち、パーティション間に資源を再割り当てすることができる。
例えば、サーバプラットフォームのプロセッサ１２１およびメモリ１２２の特定部分をパーティション１０１−１〜１０１−３間に割り当てることができる。
パーティション１０１は、ネットワークインターフェース１０４や入出力（ＩＯ）インターフェース１０５等の他の資源を共有することができる。
【００１０】
例としてネットワークインターフェース１０４およびＩＯインターフェース１０５へのアクセスを割り当てるのに、適切なキューイングメカニズムおよびスケジューリングメカニズム（図示せず）を使用することができる。
代表的な一実施の形態は、仮想パーティションを使用するものとして説明されるが、実施の形態を実施するのに任意の適切な計算環境を使用することができる。
具体的には、割り当ての対象になる少なくとも１つの資源を有するどのコンピュータシステムも、一実施の形態を使用して、どのソフトウェアプロセスがその資源へのアクセスを受け取るかを決定することができる。
【００１１】
各パーティション１０１内の処理を制御するのに、ディスクリートなオペレーティングシステム（ＯＳ）（１０２−１〜１０２−３）を実行することができる。
各アプリケーション（１０６−１〜１０６−２）または数組のアプリケーションが、パーティション１０１−１〜１０１−２内で実行される。
アプリケーションをサポートするのに２つのパーティション１０１を示しているが、アプリケーション実行用の任意の適切な個数のパーティションを、いくつかの代表的な実施の形態に従って使用することができる。
アプリケーション１０６−１〜１０６−２は、例えば企業体のさまざまなデータセンタオペレーションをサポートすることができる。
パーティション１０１−１および１０１−２内において、性能モニタ１０３−１および１０３−２は、アプリケーション１０６−１〜１０６−２に関連したオペレーションを監視するソフトウェアプロセスである。
例えば、性能モニタ１０３は、選択されたタイプのトランザクションを実行するのに必要な時間の長さを調べることができる。
あるいは、性能モニタ１０３は、パーティション１０１−１および１０１−２に割り当てられたプロセッサ、ＩＯ周辺機器、ネットワークインターフェース、または他の資源に関連した利用率を監視することもできる。
性能モニタ１０３によって収集された性能メトリックは、グローバルワークロードマネージャ（ｇＷＬＭ（global workload manager））１０７へ通信される。
【００１２】
ｇＷＬＭ１０７は、性能メトリックを使用してパーティション１０１−１〜１０１−３間に資源を割り当て、サービスレベル目標（ＳＬＯ（service level objective））１０８を達成するソフトウェアプロセスである。
ＳＬＯ１０８は、パーティション１０１−１〜１０１−２内のアプリケーション１０６−１および１０６−２の所望の動作目標を定義する。
例えば、特定のタイプのトランザクションを完了する所望の時間の長さを１ミリ秒に等しくなるように指定するＳＬＯを定義することができる。
あるいは、資源の利用率を８５％未満に維持すべきことを指定するＳＬＯを定義することもできる。
アプリケーション１０６がＳＬＯを達成しそうにない場合、ｇＷＬＭ１０７は、１つまたは複数のプロセッサ１２１を各仮想パーティション１０１に追加して割り当てて、アプリケーションの性能不振を改善することができる。
メモリ、ストレージ資源、ネットワーキング資源、オペレーティングシステム資源等の任意の適切な資源をこのようにして割り当てることができる。
また、ＳＬＯ１０８は、他の割り当てルールを記憶することもできる。
例えば、ＳＬＯ１０８は、最小資源割り当て等を記憶することができる。
【００１３】
パーティション、性能モニタ、およびワークロードマネージャの実施に関連したさらに詳細な内容は、２００２年７月２６日に出願された「Dynamic management of virtual partition computer workloads through service level optimization」と題する米国特許出願第１０／２０６，５９４号に見つけることができる。
この米国特許出願は、参照により本明細書に援用される。
【００１４】
アプリケーション１０６−１および１０６−２の特性のため、システム資源は、大部分の時間、アイドルとなることがある。
例えば、データセンタオペレーションが受ける負荷は、「バースト的」である頻度が高い。
すなわち、短期間の間、負荷が高く、それ以外はアイドルである。
したがって、システム１００は、仮想パーティション１０１−３内でグリッド仮想システム１０９を実行するのに使用することができ、それによって、それ以外はアイドルな資源を有用な活動状態にすることが可能になる。
グリッド仮想システム１０９は、物理資源を仮想化して、仮想化した資源をグリッドアプリケーション（計算グリッド１１１等）に利用可能にするソフトウェアフレームワークである。
【００１５】
グリッド仮想システム１０９はグリッドサービスデーモン１１０を備える。
グリッドサービスデーモン１１０は、グリッドアプリケーションの資源の仮想化のためのサポートサービスを提供することができる。
グリッドサービスデーモン１１０は、仮想グリッド資源の可用性を計算グリッド１１１に登録することができる。
また、グリッドサービスデーモン１１０は、適切なインターフェースを実施して、計算グリッド１１１が、既知のグリッドインターフェースおよびプロトコルを使用してグリッドサービスをインスタンス化することを可能にすることもできる。
インスタンス化されたサービスを使用すると、計算グリッド１１１は、ジョブをスケジューリングして、分散アプリケーションの実行をサポートすることができる。
【００１６】
グリッドサービスデーモン１１０のオペレーションは、ｇＷＬＭ１０７によって部分的に制御される。
例えば、アイドルな資源が仮想パーティション１０１−１または１０１−２から割り当て解除されると、ｇＷＬＭ１０７は、その資源を仮想パーティション１０１−３に利用可能にすることができ、適切なメッセージをグリッドサービスデーモン１１０へ通信することができる。
これに応答して、グリッドサービスデーモン１１０は、物理資源に対応する仮想資源の可用性を計算グリッド１１１に登録することができる。
計算グリッド１１１は、グリッドサービスデーモン１１０によって公開された１つまたは複数のインターフェースを通じて１つまたは複数のグリッドサービスをインスタンス化することができる。
グリッドジョブがスケジューリングされると、グリッドサービスデーモン１１０は、グリッドポリシー更新メッセージをｇＷＬＭ１０７へ通信することができる。
グリッドポリシー更新メッセージは、ｇＷＬＭ１０７に、仮想パーティション１０１−３内に十分な資源を保持させて、スケジューリングされたジョブに使用される各サービス（複数可）に関連したサービス品質（ＱｏＳ）特性をサポートさせることができる。
例えば、ｇＷＬＭ１０７は、再割り当ての対象ではない仮想パーティション１０１−３のＳＬＯ１０８内に最小資源割り当てを記憶することができる。
グリッドジョブが完了すると、グリッドサービスデーモン１１０は、ｇＷＬＭ１０７に通知することができる。
ｇＷＬＭ１０７は、パーティション１０１−３に関連した資源を、パーティション１０１−１および１０１−２への再割り当てに利用可能にすることによって応答することができる。
【００１７】
図２は、代表的な一実施の形態によるグリッドサービスを提供するフローチャートを示している。
ブロック２０１では、グリッド仮想システムによって仮想化される共有資源ドメイン内の資源が再割り当てされる。
ブロック２０２では、資源割り当て変更がグリッドサービスデーモンへ通信される。
ブロック２０３では、サービスの可用性が、グリッドサービスデーモンによって、グリッドアプリケーションまたはグリッドレジストリに登録される。
ブロック２０４では、１つまたは複数のグリッドサービスが、グリッドアプリケーションからの１つまたは複数のメッセージに応答してインスタンス化される。
【００１８】
ブロック２０５では、グリッドジョブがスケジューリングされて実行される。
ブロック２０６では、グリッドポリシー更新メッセージが、グリッドサービスデーモンからｇＷＬＭへ通信されて、資源が、スケジューリングされたジョブに必要とされていることが示される。
ブロック２０７では、グリッド仮想システム用の資源がｇＷＬＭによって予約されて、スケジューリングされたグリッドジョブがサポートされる。
【００１９】
ブロック２０８では、グリッドジョブが完了する。
ブロック２０９では、グリッドポリシー更新メッセージが、グリッドサービスデーモンからｇＷＬＭへ通信されて、予約された資源がもはや必要とされていないことが示される。
ブロック２１０では、先に予約された資源（複数可）が、別のパーティションによって要求されると、グリッド仮想システムからの再割り当てに利用可能にされる。
【００２０】
本発明の要素は、ソフトウェアで実施されると、基本的には、必要なタスクを実行するコードセグメントとなる。
このプログラムまたはコードセグメントは、コンピュータ可読媒体に記憶することもできるし、搬送波で実施されたコンピュータデータ信号、または、搬送波によって変調された信号により伝送媒体を介して伝送することもできる。
この「コンピュータ可読媒体」には、情報を記憶または転送できるあらゆる媒体を含めることができる。
コンピュータ可読媒体の例には、電子回路、半導体メモリデバイス、ＲＯＭ、フラッシュメモリ、消去可能ＲＯＭ（ＥＲＯＭ）、フロッピー（登録商標）ディスケット、コンパクトディスクＣＤ−ＲＯＭ、光ディスク、ハードディスク、光ファイバ媒体、無線周波（ＲＦ）リンク等が含まれる。
コードセグメントは、インターネットやイントラネット等のコンピュータネットワークを介してダウンロードすることができる。
【００２１】
図３は、代表的な一実施の形態に従って適合されたコンピュータシステム３００を示している。
中央処理装置（ＣＰＵ）３０１はシステムバス３０２に接続される。
ＣＰＵ３０１は任意の汎用ＣＰＵとすることができる。
しかしながら、本発明は、ＣＰＵ３０１が、本明細書で説明するような本発明のオペレーションをサポートする限り、ＣＰＵ３０１のアーキテクチャによって制限されるものではない。
バス３０２は、ランダムアクセスメモリ（ＲＡＭ）３０３に接続される。
ＲＡＭ３０３は、ＳＲＡＭ、ＤＲＡＭ、またはＳＤＲＡＭとすることができる。
ＲＯＭ３０４もバス３０２に接続される。
ＲＯＭ３０４は、ＰＲＯＭ、ＥＰＲＯＭ、またはＥＥＰＲＯＭとすることができる。
ＲＡＭ３０３およびＲＯＭ３０４は、当該技術分野で既知のように、ユーザデータおよびシステムデータならびにプログラムを保持する。
【００２２】
また、バス３０２は、入出力（Ｉ／Ｏ）コントローラカード３０５、通信アダプタカード３１１、ユーザインターフェースカード３０８、および表示カード３０９にも接続される。
Ｉ／Ｏカード３０５は、ストレージデバイス３０６をコンピュータシステムに接続する。
ストレージデバイス３０６は、ハードドライブ、ＣＤドライブ、フロッピーディスクドライブ、テープドライブの１つまたは複数等である。
ストレージデバイス３０６は、計算ドメイン間での資源の割り当てを制御するソフトウェアまたは実行可能コードを記憶することができる。
例えば、ストレージデバイス３０６は、代表的な一実施の形態によるｇＷＬＭ１０７およびグリッドサービスデーモン１１０を実施する実行可能コードを記憶することができる。
【００２３】
通信カード３１１は、コンピュータシステム３００をネットワーク３１２に接続するように適合される。
ネットワーク３１２は、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、イーサネット（登録商標）ネットワーク、またはインターネットネットワークの１つまたは複数とすることができる。
ユーザインターフェースカード３０８は、キーボード３１３やポインティングデバイス３０７等のユーザ入力デバイスをコンピュータシステム３００に接続する。
表示カード３０９は、ＣＰＵ３０１によって駆動されて、表示デバイス３１０の表示を制御する。
【００２４】
共有資源ドメインをグリッド仮想システムのオペレーションと共に動的に管理することによって、いくつかの代表的な実施の形態は、多数の利点を提供することができる。
具体的には、固定された割り当てアーキテクチャが使用される場合、資源を再構成するのに、手動介入が必要となる。
データセンタのワークロードまたは他のワークロードが十分に高いことから、資源を追加して性能を改善する場合に、システム運用管理が介入して資源を再構成することが、その高いワークロードに対処するのに十分な時間内で行われることはまずない。
したがって、いくつかの代表的な実施の形態は、物理資源を必要に応じて適切なアプリケーションによって動的に使用できるように、計算グリッドに物理資源を専用化することを避ける。
これに加えて、いくつかの代表的な実施の形態は、再割り当てオペレーションが、グリッドアプリケーションの実行に過度に干渉することも阻止する。
すなわち、グリッドジョブがスケジューリングされる時、十分な資源を予約して、スケジューリングされたグリッドジョブをサポートすることができる。
【図面の簡単な説明】
【００２５】
【図１】代表的な一実施の形態による共有資源ドメインおよびグリッド仮想システムを備えるシステムを示す図である。
【図２】代表的な一実施の形態による資源の割り当ておよびグリッドサービスの提供を行うフローチャートである。
【図３】代表的な一実施の形態による別のシステムを示す図である。
【符号の説明】
【００２６】
１０４・・・ネットワークインターフェース，
１０５・・・Ｉ／Ｏインターフェース，
１０９・・・グリッド仮想システム，
１１０・・・グリッドサービスデーモン，
１１１・・・計算グリッド，
１２２・・・メモリ，
３０５・・・Ｉ／Ｏアダプタ，
３０８・・・ユーザインターフェースアダプタ，
３０９・・・表示アダプタ，
３１１・・・通信アダプタ，
３１２・・・ネットワーク，
【図１】
2006085712.tif 000003
【図２】
2006085712.tif 000004
【図３】
2006085712.tif 000005