JP2011511360A - ハイブリッド型のコンピューティング環境を管理するためのシステムおよび方法 - Google Patents

ハイブリッド型のコンピューティング環境を管理するためのシステムおよび方法 Download PDF

Info

Publication number
JP2011511360A
JP2011511360A JP2010544945A JP2010544945A JP2011511360A JP 2011511360 A JP2011511360 A JP 2011511360A JP 2010544945 A JP2010544945 A JP 2010544945A JP 2010544945 A JP2010544945 A JP 2010544945A JP 2011511360 A JP2011511360 A JP 2011511360A
Authority
JP
Japan
Prior art keywords
operating system
node
resource manager
provisioning
computing environment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2010544945A
Other languages
English (en)
Other versions
JP5355592B2 (ja
Inventor
ディヴィッド ブライアン ジャクソン
Original Assignee
アダプティブ コンピューティング エンタープライジズ インク
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アダプティブ コンピューティング エンタープライジズ インク filed Critical アダプティブ コンピューティング エンタープライジズ インク
Publication of JP2011511360A publication Critical patent/JP2011511360A/ja
Application granted granted Critical
Publication of JP5355592B2 publication Critical patent/JP5355592B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

ノードをワークロードに対して動的にプロビジョニングするためのシステム、ハイブリッド型のコンピューティング環境、方法およびコンピュータ可読媒体が開示される。上記ハイブリッド型のコンピューティング環境で、各ノードが、第1のオペレーティングシステムと関連付けられた第1のリソースマネージャおよび第2のオペレーティングシステムと関連付けられた第2のリソースマネージャと通信する。上記方法は、ハイブリッド型のコンピューティング環境の少なくとも1つのノードを第1のオペレーティングシステムから第2のオペレーティングシステムへプロビジョニングする命令を受け取るステップと、第2のオペレーティングシステムをプロビジョニングした後に、上記少なくとも1つのノードと関連付けられたリソースマネージャからの少なくとも1つの信号をプールするステップと、上記少なくとも1つのノードと関連付けられた第2のリソースマネージャからの少なくとも1つの信号を処理するステップと、第2のオペレーティングシステムがプロビジョニングされた上記少なくとも1つのノードと関連付けられたリソースを消費するステップとを含む。

Description

本発明は、そのコンピューティング環境の内部に複数の異なるタイプのオペレーティングシステムが様々なノード上に存在する、グリッドにおけるクラスタなどのハイブリッド型のコンピューティング環境に関し、より詳細には、1つまたは複数のノード上のオペレーティングシステムを、それが保留中のまたは予測されるワークロードに関連する要求などの様々な要素に基づいて単独のオペレーティングシステムになるように自動的に再プロビジョニングすることができる、自動化されたプロビジョニング(供給、準備)を管理するシステムおよび方法に関する。
ハイパフォーマンスコンピューティング(HPC)は一般に、市販の相互接続により単一のシステムに同時にリンクされたマルチプロセッサを備える、並列スーパーコンピュータおよびコンピュータクラスタを利用することをいう。高レベルの技術的スキルが一般に、かかるシステムの構成および管理に必要とされるが、それらは市販品のコンポーネントによって作成することができる。これらの柔軟性と比較的低いコストのために、HPCシステムは徐々に、スーパーコンピューティングの世界で優位を占めてきている。HPCでは従来より、Linux(登録商標)オペレーティングシステムが優位を占めてきた。しかしながら、専門家は、Microsoft(登録商標) Windows(登録商標)ベースのデータセンタ、クラスタまたはコンピューティング環境が近い将来、より普及する可能性があると予測している。これは、Microsoftとアプリケーションベンダの強力な関係などの様々な要素によると考えられる。こういったベンダの多くは、そのHPCアプリケーションをWindows Compute Cluster Server 2003(CCS)へすでに移植している。さらに、HPC概念に不慣れなWindowユーザからなる市場が主に関わる、ワークグループクラスタの需要が増加している。その結果、これまではLinuxを専ら動作させていたHPC環境で、Windowsベースのクラスタリングの選択肢が模索されている。Window/Linuxハイブリッド型のクラスタを用いることにより、HPC環境におけるWindows導入へのLinux環境の障壁が低くなる。しかしながら、場合によっては、ノードの一部はLinuxなどの第1のコンピュータオペレーティングシステムを実行でき、他のノードはWindowsベースのオペレーティングシステムなどの第2のオペレーティングシステムを実行できるハイブリッド型の環境を管理しようとするときに必要な柔軟性に問題が生じる。したがって、当技術分野には、ハイブリッド型のクラスタ環境を管理する改良された方法が必要である。
図2Aは、複数の異なるコンピューティング環境を示している。これは、単一のハイブリッド型のコンピューティング環境であってもよい。第1の環境200は、別個のコンピューティング環境を表していても、ハイブリッド型のコンピューティング環境の一部分を表していてもよい。LinuxオペレーティングシステムとWindowsベースのオペレーティングシステムについて説明するが、本発明は第2のオペレーティングシステムとは異なる任意の第1のオペレーティングシステムに関するものであることが企図されている。本発明の範囲内で企図されているオペレーティングシステムには、Macintoshオペレーティングシステムなど多種多様のタイプがあるが、LinuxおよびWindowsが普及タイプのオペレーティングシステムであることから、これらの用語のみを使用する。本発明は、この2つのタイプのオペレーティングシステムの範囲内で柔軟性を実現することによって開発された。
ノード202は、第1のリソースマネージャ204によって管理される、Linuxオペレーティングシステムなどの第1のオペレーティングシステムを表す。当技術分野で知られているように、この第1のリソースマネージャは、TORQUE、Platform’s Load Sharing Facility(LSF)、PBSPro(Alt
air Engineering製)などであってよい。こういったリソースマネージャによって一般に、当技術分野で知られているように、ノード202が、ユーザが投入するジョブ208を受けるワークロードマネージャ206と通信できるようになる。環境210が、Windowsベースの環境(すなわち第2のオペレーティングシステム)を表す。この環境もやはり、同じハイブリッド型のコンピューティング環境の一部分であってもよく、あるいはノード212がWindowsのCompute Cluster Server(CCS)などのWindowsベースのオペレーティングシステムを実行する別個の環境であってもよい。第2のオペレーティングシステムのためのリソースマネージャ214により、ワークロードマネージャ216がWindowsベースのノードと通信できるようになる。この場合も、ジョブ208をワークロードマネージャ216を介して投入することができ、ワークロードマネージャ216はリソースマネージャ214と通信して、ジョブが環境210内部で実際にリソースを消費するのを可能にする。
本発明の追加の特徴および利点については、以下で説明し、その説明からある程度明らかになるか、あるいは本発明の実施によって知ることができる。本発明の特徴および利点は、添付の特許請求の範囲に詳細に示されている機器およびその組合せによって実現し、享受することができる。本発明のこれらの特徴およびその他の特徴は、以下の説明および添付の特許請求の範囲からより完全に明らかになるか、あるいは本明細書に記載の本発明を実施することによって知ることができる。
米国特許公開第2006/0143350号明細書 米国特許公開第2006/0117208号明細書 米国特許公開第2005/0262508号明細書 米国特許公開第2005/0154861号明細書 米国特許公開第2005/0278760号明細書 米国特許公開第2002/0120741号明細書
本発明は、ハイブリッド型のコンピューティング環境の管理に関する当技術分野の欠陥に対処する。
ハイブリッド型のWindows/Linuxクラスタを有する能力があると、アドレス指定可能なユーザの数が増大し、クラスタ効率が改善する。Cluster Resources Inc.社製のMOAB(登録商標)などのワークロード管理ソフトウェアが近年開発されたことで、Windowsベースのシステムを使用するより大きな科学者/技術者の基盤を利用することにより、ユーザがその生産性および利用率を向上させ、その範囲を広げることが可能になる。MOABソフトウェアなどの管理ソフトウェアは、ワークロードおよび定義したポリシーに基づいてオペレーティングシステムをいつ変更すべきか最適に判定するための、インテリジェントなスケジューリングポリシーエンジンを提供する。条件が満たされると、この管理ソフトウェアは、ディスクフルまたはディスクレスプロビジョニング、デュアルブート、仮想化などの、現場的に好ましいオペレーティングシステム変更テクノロジによって、変更をトリガすることができる。例えば、こういった方法体系は当分野の技術者に知られている。
本発明は、ハイブリッド型のマルチノードコンピューティング環境においてワークロードを管理するためのシステム、コンピューティング環境、データセンタ、方法およびコンピュータ可読媒体を備え、少なくとも1つのノードが、第1のリソースマネージャによって制御される第1のオペレーティングシステムを有し、少なくとも1つのノードが、第2のリソースマネージャによって制御される第2のオペレーティングシステムを有する。上記方法は、上記コンピューティング環境の上記第1のオペレーティングシステムと上記第2のオペレーティングシステムの間でノードのバランスを取る、ポリシー確立ステップと、確立されたポリシーとの整合性を判定するために、上記コンピューティング環境を周期的に解析するステップと、上記確立されたポリシーに従って少なくとも1つのノードを、上記第1のオペレーティングシステムから上記第2のオペレーティングシステムへ、または上記第2のオペレーティングシステムから上記第1のオペレーティングシステムへ変更するために、前記解析に基づいて、上記コンピューティング環境のノードをプロビジョニングするステップとを含む。
本発明の別の態様は、上記方法が、上記ハイブリッド型のコンピューティング環境のノードをワークロードに対して動的にプロビジョニングするステップを伴う。各ノードは、上記第1のオペレーティングシステムと関連付けられた第1のリソースマネージャおよび上記第2のオペレーティングシステムと関連付けられた第2のリソースマネージャと通信する。上記方法は、ハイブリッド型のコンピューティング環境の少なくとも1つのノードを第1のオペレーティングシステムから上記第2のオペレーティングシステムへプロビジョニングする命令を、ワークロードマネージャから受け取るステップを含む。上記第2のオペレーティングシステムをプロビジョニングした後、上記システムは、上記少なくとも1つのノードと関連付けられた上記第1のリソースマネージャからの少なくとも1つの信号をプールし、上記少なくとも1つのノードと関連付けられた上記第2のリソースマネージからの少なくとも1つの信号を処理し、上記第2のオペレーティングシステムがプロビジョニングされた上記少なくとも1つのノードと関連付けられたリソースを消費できるようにする。
この概念の実際の例は、10個のノードクラスタが現在状態を有し、3個のノードがWindowsオペレーティングシステムでプロビジョニングされ、7個のノードがLinuxベースのオペレーティングシステムでプロビジョニングされる場合、Windows実行システムを動作させる5個のノードを必要とするはずであるジョブが投入されるものとするというものである。ワークロードマネージャまたはその他のソフトウェアモジュールが、上記コンピューティング環境の2個のノードを上記Linuxオペレーティングシステムから上記Windowsオペレーティングシステムへプロビジョニングする命令を生成するはずである。上記Linuxノードは、トルク、LSF、PBSproなどのリソースマネージャや当技術分野で知られているリソースマネージャと関連付けることができる。上記Windowsベースのノードは、Windowsベースのリソースマネージャと通信することができる。オペレーティングシステムを再プロビジョニングした場合、どのリソースマネージャを利用するべきかに関してと、ワークロードマネージャが所与のノード状態と関連付けられたリソースマネージャからの様々な状態信号またはその他の情報信号をどのように管理するかに関して問題が発生する。この例の下では、LinuxオペレーティングシステムからWindowsオペレーティングシステムへプロビジョニングされる上記2つのノードのそれぞれが、各ノードと関連付けることができるリソースマネージャを有しているはずである。しかしながら、Linuxオペレーティングシステムがノードにプロビジョニングされる場合、Windowsベースのリソースマネージャはそのノードを認識しないはずであり、したがって、そのノードがダウン状態であることを示すことができる状態信号を送信しているはずである。ただし、ワークロードマネージャは、実際には、別個のオペレーティングシステムがプロビジョニングまたは使用されていることをインテリジェントに識別しているはずであり、交互オペレーティングシステムがノード上で機能している場合は、かかる状態信号をインテリジェントにプールするはずである。これに関して、上記システムは、複数のノードでLinux環境からWindowsベースの環境へ再プロビジョニングするときに、Windowsベースのリソースマネージャからの状態信号のプールから、Linuxベースのリソースマネージャからの信号のプールへ切り替わるはずである。上記システムは、適切な数のノードを所望のオペレーティングシステムへ自動的に移行させるために、各リソースマネージャからの様々な競合レポート間で必要な変換、競合緩和および競合管理を実行する。
上記プールされた信号は、所与のノード能力および履歴を解釈して次にそのノードにどのオペレーティングシステムをプロビジョニングできるかを識別するために、ならびに課金またはその他の解析のためにそのノードの履歴を維持するために、ワークロードマネージャから、消費されているワークロードについてはインテリジェントに無視されるが、参照またはアクセスすることができる。
本明細書に開示する原理によるハイブリッド型のクラスタモデルは、両方のオペレーティングシステムのプラットフォームをまたがって管理を統合し、ジョブの投入を集中化する。管理者は、1つの統合されたコンソールから、両方のオペレーティングシステムのポリシーおよびワークロードにコマンドを出すことができる。本明細書に開示されるように動作するソフトウェアすなわちシステムはまた、エンドユーザが指定する必要なくオペレーティングシステム上でジョブが実行されるようにする適用情報およびワークロード情報を利用することによって、クラスタ環境のデュアルオペレーティングシステムの性質を透過的にする。
本発明の上述した利点およびその他の利点と特徴を得ることができる形について説明するために、上記で簡単に説明した本発明の詳細な説明を、添付の図面に示されているその特定の実施形態を参照することによって示す。この添付の図面が本発明の例示的な実施形態のみを示し、したがってその範囲を限定しないとみなすべきであるという条件で、本発明は、添付の図面を併せ読むことによってさらに明確かつ詳細に描写され、説明される。
システム実施形態による基本的なハードウェアコンポーネントを示す図である。 従来技術のハイブリッド型クラスタリング手法の図である。 本発明の態様による環境の例の図である。 本発明の態様による環境の、別の態様の図である。 本発明による方法の実施形態の図である。 本発明による方法の、別の実施形態の図である。
本発明の様々な実施形態について以下に詳細に説明する。特定の実施形態について説明するが、それは例示の目的のためにだけ行われることを理解されたい。その他のコンポーネントおよび構成を、本発明の趣旨および範囲を逸脱することなしに使用できることが当分野の技術者には理解されよう。
図1を参照すると、例示的システムが、汎用コンピューティングデバイス100を含んでいる。この汎用コンピューティングデバイス100は、演算処理装置(CPU)120と、その演算処理装置120に様々なシステムコンポーネントを結合するシステムバス110とを備える。システムコンポーネントはリードオンリーメモリ(ROM)140、ランダムアクセスメモリ(RAM)150などのシステムメモリを含む。その他のシステムメモリ130もまた利用することができる。本発明は、複数のCPU120を備えるコンピューティングデバイス上で、あるいはより大きな処理能力を実現するためにネットワーク化されたコンピューティングデバイスのグループすなわちクラスタ上で動作させることができることが理解できよう。システムバス110は、メモリバスもしくはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのうちの任意のものを使用するローカルバスを含む、複数のタイプのバス構造のうちの任意のものであってよい。ROM140などに格納された基本入力/出力(BIOS)が、起動中などにコンピューティングデバイス100内部の要素間で情報を転送する働きをする基本ルーチンを提供することができる。コンピューティングデバイス100はさらに、ハードディスクドライブ160、磁気ディスクドライブ、光ディスクドライブ、テープドライブなどの記憶装置を含む。記憶装置160は、ドライブインターフェースによってシステムバス110に接続される。こういったドライブとそれに関連付けられたコンピュータ可読媒体が、コンピューティングデバイス100のためのコンピュータ可読命令、データ構造、プログラムモジュールおよびその他の不揮発性データ記憶装置を形成する。上記の基本的なコンポーネントは当分野の技術者に周知であり、装置が小型のハンドヘルドコンピューティングデバイスか、デスクトップコンピュータか、コンピュータサーバかなど装置のタイプに応じて、適切な変形形態が企図される。
本明細書に記載の例示的な環境はハードディスクを用いるが、磁気カセット、フラッシュメモリカード、デジタル汎用ディスク、カートリッジ、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、ビットストリームを含んだ有線または無線信号などの、コンピュータによりアクセス可能な、データを保存できるその他のタイプのコンピュータ可読媒体を、その例示的な動作環境に使用できることも当分野の技術者によって理解されるはずである。
コンピューティングデバイス100とユーザの対話を可能にするために、入力デバイス190が、音声用のマイクロフォン、ジェスチャ入力すなわち図入力用のタッチスクリーン、キーボード、マウス、動作入力、スピーチなどの、任意の数の入力機構となる。出力デバイス170は、当分野の技術者に周知のいくつかの出力機構のうちの1つまたは複数のものであってもよい。いくつかの例では、マルチモードシステムを用いることで、コンピューティングデバイス100と通信するために、ユーザが複数のタイプの入力を行うことが可能になる。通信インターフェース180は、ユーザの入力およびシステムの出力を全体的に制御、管理する。本発明の動作は特定のハードウェア構成に限定されず、したがって、改良型のハードウェア構成またはファームウェア構成が開発されると、それらに対して本明細書の基本的特徴を簡単に代用することができる。
説明を明確にするために、個々の機能ブロック(「プロセッサ」と表示された機能ブロックを含む)を備える例示的システム実施形態を示す。これらのブロックが表す機能は、共有または専用のハードウェアを使用することによって提供することができる。こういったハードウェアは、ソフトウェアを実行できるハードウェアを含むが、それに限定されない。例えば、図1に示されている1つまたは複数のプロセッサの機能を、単一の共有プロセッサまたはマルチプロセッサによって提供することができる。(用語「プロセッサ」を使用しても、ソフトウェアを実行できるハードウェアを限定的に表すと解釈すべきではない)。各例示的実施形態は、マイクロプロセッサおよび/またはデジタルシグナルプロセッサ(DSP)のハードウェアと、下記に述べる動作を実行するソフトウェアを保存するためのリードオンリーメモリ(ROM)と、結果を保存するためのランダムアクセスメモリ(RAM)とを備えることができる。超大規模集積回路(VLSI)のハードウェア実施形態や、汎用DSP回路と組み合わせたカスタムVLSI回路を設けてもよい。
次に、本発明の一態様によるハイブリッド型のコンピューティング環境が示されている図2Bに移る。図2Bでは、ハイブリッド型の環境220が、Linuxなどの第1のオペレーティングシステムを実行するいくつかのノード202と、Windowsベースのオペレーティングシステムなどの第2のオペレーティングシステムを動作させるノード212の第2のグループとを含む。第3または第4のオペレーティングシステムを動作させるノードが存在していてもよい。本発明の原理は明らかに、ユーザの必要性に応じてこの環境にオペレーティングシステムを追加する柔軟性を含んでいる。各ノードは、それに関連付けられた少なくとも2つのリソースマネージャを有する。第1のリソースマネージャ204は、第1のオペレーティングシステムを実行するノード上のワークロードを管理するように構成される。第2のリソースマネージャ214は、第2のオペレーティングシステムを実行するノード上のワークロードを管理するように構成される。上記で述べたように、様々なタイプのオペレーティングシステムの数に応じて、第3、第4のリソースマネージャ、場合によってはさらに多くのリソースマネージャが存在してもよい。さらに、同じタイプのオペレーティングシステムに対して異なるリソースマネージャもむろん存在してよい。例えば、一部のLinuxベースのノードがLSFを介してワークロードマネージャと通信することができる一方、他のLinuxベースのノードがTORQUEなどを介してそのワークロードマネージャと通信することができる。エンドユーザに対して透過的になり得る柔軟性レベルは、本明細書の開示により所望のレベルにすることができる。機能222は、本明細書の開示のインテリジェンスに相当する。これは、リソースマネージャとワークロードマネージャの間のインターフェースを動作させることができ、あるいはワークロードマネージャの変更形態であってもよい。基本的に、コンピューティング環境内部でジョブを受け取り、リソースを実際に消費するプロセス全体の特定の位置において、その環境でリソースを実際に効率的に消費するために、互いに通信する各種モジュールの特定の機能がどこで行われるかは問題ではない。したがって、モジュール222は、ワークロードマネージャ224と2つ以上のリソースマネージャ204、214との間のインターフェースを総称して表す。
図3はさらに、各ノードと関連付けられた複数のリソースマネージャを使用する一般的な適用例を示す。この場合、第1のリソースマネージャ204および第2のリソースマネージャ214との通信リンクを有するノード302が示されている。同様に、それぞれのリソースマネージャへの通信リンクを有するノード304および306がそれぞれ示されている。各リソースマネージャはインターフェース222を介してワークロードマネージャ224と通信する。
当技術分野で周知のように、リソースマネージャは実際に、コンピューティング環境におけるリソースとリソースを消費するジョブとを監視し、ワークロードに対しても動作を行う。リソースマネージャは、特定のノード上のジョブの取り消しプロセスまたは開始プロセスの管理を実際に行なうはずである。MOABなどのワークフロー管理ソフトウェアが、その環境でどのようにワークロードを実行すべきかリソースマネージャに指示する。本発明は一般に、1つまたは複数のリソースマネージャと交信するインターフェースであって、バッチシステム自体が特定のジョブに特定のオペレーティングシステムが必要であるとインテリジェントに判定する能力を可能にするインターフェース222の構築に関する。インターフェース222は、全体または一部分をワークロードマネージャ224に組み込むことができる。この場合、システムはその特定オペレーティングシステムを動的にプロビジョニングし、必要なら、1つのノードを第1のオペレーティングシステムの実行から第2のオペレーティングシステムへ戻し、それと同時に第2のオペレーティングシステムと関連付けられたリソースマネージャからの状態情報をアクティブ状態にするか、呼び出すか、あるいはそれと異なる形で処理し、次いでそのジョブをユーザに対して透過的に実行する。このプロセスでは、プロビジョニングが行われるとノードがダウン中といった状態信号などの信号を第1のオペレーティングシステムと関連付けられたリソースマネージャが送信し始めることから、リソースマネージャ204、214からの競合レポート間での変換、競合の緩和および管理が必要となる。しかしながら、ノードがプロビジョニングされた第2のオペレーティングシステムと関連付けられているリソースマネージャは、そのノードがアップ状態で、特定の属性を有し、ワークロードを消費できる状態にあるという信号を送信開始することになる。したがって、インターフェース222は、エンドユーザが単に一般的な周知のインターフェースを介してコンピューティング環境にノードを投入するだけで、ハイブリッド型のコンピューティング環境内部のリソースを透過的な形でワークロードに消費させることができるように競合情報を緩和、管理する。
一態様では、「ダウン」中のノード(すなわち別のオペレーティングシステムがそのノード上にプロビジョニングされている)からの信号が、その潜在的な情報を上記ダウン中ノードの課金履歴情報と今後プロビジョニングできるオペレーティングシステムの識別に役立つ情報に利用できるよう、インテリジェントにプールされる。
デュアルブートは、以前は手動プロセスであった。バッチ環境またはデータセンタ環境ではめったに使用されず、ユーザにとってはかなり静的なエクスペリエンスになる。例えば、一般に、デュアルブートエクスペリエンスとは、複数のオペレーティングシステムを単一のコンピュータにインストールし、次いで、ユーザが起動するときに、どのオペレーティングシステムで起動するか選択する能力を可能にすることである。本発明は、手動プロセスではなく、バッチ環境またはデータセンタ環境の効率的な実行に必要な様々なモジュールおよびソフトウェアを伴なう自動化されたプロセスであることから、それとは異なる。一態様では、一定の構成または要件でジョブを投入する場合に、適切な環境を実行するようにオンデマンドリソースを切り替え、再プロビジョニングできるように、ポリシーまたはインテリジェンスをシステムすなわちユーザが解析することができる。例として、Windowsジョブが投入され、システムが十分なWindowsノードを検出できない場合、システムはWindowsノードを自動的にプロビジョニングし、次いでその新たにプロビジョニングされたリソースを消費するように、その環境に上記ジョブを投入することができる。
他の態様を、ハイブリッド型の環境のインテリジェントな管理に用いることもできる。例えば、管理者は自分で、特定のタイプのオペレーティングシステムで一定数のノードを維持すると決定することができる。このとき、これまでシステムが第1のオペレーティングシステムから第2のオペレーティングシステムへ再プロビジョニングされるノードを有している場合、そのシステムは、一定のオペレーティングシステムを実行する一定数のノードを維持するポリシーに従うように、ハイブリッド型の環境内で他のノードを自動的に再プロビジョニングすることができる。ポリシーは、任意の目的のために確立し、それに従うことができる。例えば、サービスレベルアグリーメント(SLA)ごとにQoSを維持するには、時刻に基づいた顧客Xに対する一定数のノードなどがある。ハイブリッド型の環境では、リソースの管理に関連した任意のポリシーを確立し、それに従うことができる。ユーザ/グループに対して特定のオペレーティングシステムを実行するノードの数とワークロードサービスレベルのバランスを取ることができる単一の自己最適化システムによって、システムはワークロードスループットを最大限にすることができる。
ポリシーは、計算リソース、ネットワークリソースまたはその他のリソースの障害と関連付けられたフォールトトレランスポリシーもしくは高可用性ポリシーであってもよい。そういったポリシーは、かかる要件を処理するため、またはオンデマンドリソースを利用できるようにするためにプールに対して再プロビジョニングを行い、特定のワークロードについてプロビジョニングを行うが、違反または閾値スケジューリングの要件の状況処理についてもプロビジョニングを行う。再プロビジョニングは、予測される閾値違反またはポリシー要件違反に対して行われてもよい。その例は、必要なオンデマンド環境などの、解析に基づくとポリシー要件の違反が存在する可能性があると予測される場合や、障害、現在のワークロード問題、予測されるワークロード問題などのいくつかのイベントに基づいて、サービスレベルアグリーメントの特定のパラメータが満たされない場合である。したがって、自動再プロビジョニングを、予測される障害またはその他の予測イベントに先んじてそのイベントが行われないように行うことができ、実施することができる。任意の特定のインスタンスにおいてポリシーまたはサービスレベルアグリーメントを満たし、それを維持するように、必要なリソースがプロビジョニングされ、準備される。これの別の例は、ポリシーまたはサービスレベルアグリーメントを違反する可能性がある一定の今後のイベントの予測を特定するために、履歴の情報だけでなく、環境と今後のワークロードを監視するものである。かかる事例では、システムは、再プロビジョニングが行われないときの予測されるイベントの発生を回避するために、再プロビジョニングをトリガできるシステムジョブやその他の種類のプロビジョニング命令などの命令を実行または自動投入する。
コンピューティング環境を管理する他の態様を用いることもできる。例えば、管理者またはポリシーを、一定のタイプの応答時間を可能にしたり、一定のスループットを可能にしたり、一定の実行基準を用いてバックログを管理したりなどするように確立することができる。例えば、バックログが特定のターゲットの上または下に生じた場合、システムは、ノードの再プロビジョニングを自動的に開始して、所望のパラメータに従ってバックログを処理し、特定のバランスを再確立することができる。例えば、ユーザが異なるオペレーティングシステムを実行するノードからなる2つのグループの間で比例バランスを維持したい場合などがある。管理者は、ハイブリッド型の環境でWindowsジョブがLinuxベースのジョブよりも20%だけ長く待機し、各種ノード上でオペレーティングシステムのバランスを絶えず取ってそのポリシー要件を維持するように確定することができる。
本発明の能力によると有益である別の態様は、システムが保守をスケジュールできるものである。例えば、ハイブリッド型の環境全体を停止させる代わりに、システムは実際に、ジョブをプロビジョニングステップとしてスケジュールすることができる。ワークロードマネージャは、消費ジョブ間のオペレーティングシステム切り替え動作を、それがシステムに対して最低限の影響を有するようにインテリジェントに配置し、現在および今後の消費ジョブをスケジュールすることができる。これらのジョブは、インテリジェンスを内部的に使用して階層的なスケジューリングに関する情報を提供する動的なサービスジョブによって、実現することができる。この階層的なスケジューリングでは、各ジョブの一番上にシステムがジョブをスケジュールでき、その環境内部の特定のリソースプールをポリシーに従って増減させることができる。こういった動的なサービスジョブの一番上に、実行中の実際のコンピューティングジョブが含まれる。したがって、ジョブまたはシステムジョブと関連付けられたプロビジョニングステップの投入を、本明細書に開示する原理を利用して実現することができる。
さらに、任意のカレンダー設定や、ハイブリッド型環境における混成の実行を可能にするための固定予約機能に重畳させる、一定時間枠にわたる環境構成方法の決定など、他の態様を用いることができる。例えば、標準ポリシー下で構成されるよりも多くのLinuxベースのノードを必要とする特定のジョブ(テレビ局用の天候解析など)のための固定予約があるなどの理由により、システムは、その環境の一定の再プロビジョニングを土曜日の朝の午前2:00に開始して、WindowsオペレーティングシステムとLinuxオペレーティングシステムの間のバランスを変更することができる。したがって、このハイブリッド型の環境の管理により、任意のタイプの任意のイベントでプロビジョニングをトリガすることが可能になる。Cybase(登録商標)データベースサーバがダウン状態になり、このときポリシーが、1つのノードプールに他のプールとは対照的にもう4つのノードを追加するようシステムに要求すると、任意のイベントによってトリガできる任意の種類のプロビジョニング動作を実行するジョブまたは命令を実施することができる。
本明細書の開示の1つの利点は、エンドユーザからみて、あるいは管理者またはマネージャからみて、そのマネージャが単一の統合リソースを利用できることである。このマネージャは、ワークロードマネージャ224であってよく、人との対話を非常に簡略化/省いてハイブリッド型の環境の高度に柔軟性を有する効率的な利用を実現するために、ポリシー空間、単一の統合課金空間および単一の管理空間を結合することができる。さらに、エンドユーザは、誰からでも統一された状態に見え、プロビジョニング技術をやはり利用する、そのワークロード全てに対する単一の共通投入/ジョブ管理空間を有することができる。したがって、Windows投入のツールを有するユーザは、そのWindows投入ツール(エンドユーザ用Linux投入ツールと異なってもよい)を継続して使用することができ、そのどちらを用いても、こういった各ユーザにとって使い馴れたインターフェースからハイブリッド型のコンピューティング環境へアクセスすることができる。
さらに、ユーザは、アプリケーションプログラミングインターフェース(API)、コマンドライン、ウェブベースもしくは標準のデスクトップGUIを使用することができ、選択すれば、ワークロードマネージャ全体をバイパスすることによって、リソースマネージャに直接、継続して投入を行うこともできる。他の利点は、本明細書に開示する手法には無駄なサイクルが無いことである。オペレーティングシステムが双方向に自動的に切り替えられることから、オペレーティングシステムが利用されていないサイクルがなくなる、または少なくなるはずであるので、無駄なサイクルが無い。例えば、しばしば、ユーザにとっては、ジョブがどの種のオペレーティングシステムを求めているのか分からず、ジョブの混成がどのようなものになるのか管理者は分からず、したがって、ジョブの混成が同時刻に日々刻々と変化していくのかどうかも分からないという懸念がある。これらは、管理者共通の課題である。しかしながら、本明細書に開示する原理によるインターフェースまたはワークロードマネージャを使用すると、管理者のこの種の懸念を軽減するために、システムが自動的にプロビジョニングを実現し、ワークロードを解釈することができる。
本明細書の原理を利用して環境を制御する機構および機会は無数にある。例えば、ワークロードマネージャがクラスタを自動的に適合する速度をユーザが指定することができる。例えば、1時間に1度、1分に1度、日に1度、週に1度、検出されたイベントに基づいてなど、システムにそれ自体を最適化するようワークロードマネージャで指定することもできる。これに関して、システムは指定した時間に、リソースの消費と関連付けられた履歴、ジョブの投入と関連付けられた履歴、現在のワークロード、現在のネットワーク環境パラメータを評価し、環境と関連付けられた性能マトリックスにおいて最適なバランスをもたらすことができる調節を行うことができる。したがって、第1のオペレーティングシステムを動作させるノードと第2のオペレーティングシステムを動作させるノードとの厳密なバランスを設定するのではなく、第1のオペレーティングシステムを動作させるノードと第2のオペレーティングシステムを動作させるノード(または第3のオペレーティングシステムと第4のオペレーティングシステムも)の比率のバランスをその評価に応じてとる際に、システムが柔軟に対応できるようにする一定のパラメータを最適化するように、ポリシーを確立することができる。したがって、この環境において最適なバランスを実現するために、一定時刻または可変時刻に、使用履歴、現在の活動および保留中のワークロードを全て評価することができる。
上記で述べたように、1つのオペレーティングシステムから別のオペレーティングシステムへ切り替える場合、システムは、仮想化、ディスクフルまたはディスクレスプロビジョニング、あるいは1つのオペレーティングシステムから別のオペレーティングシステムへの切り替えを含むことができるその他任意の周知の機構を使用することができる。ワークロードマネージャは、好ましくはシステムジョブを使用して、プロビジョニング動作をスケジュールする。システムジョブは、例えばノード13をWindowsオペレーティングシステムからLinuxオペレーティングシステムへ切り替えるように指示することができる。ただし、システムは、Windows環境でもう7分間実行するジョブがあることを認識しているので、このジョブを7分間で開始するようスケジュールすることになる。このスケジュールされるシステムジョブは、システムに対して、その時間に特定のイメージで再起動するよう、または特定のイメージでネットブートするよう、あるいはプロビジョニング動作を実際に開始してオペレーティングシステムを新しいイメージに実際に再インストールするよう指示する操作である。この例では、当初のジョブが完了し、その後のシステムジョブが開始され、実際に変更を行う。WindowsからLinuxへ切り替える変更が行われると、CCSデーモンなどのノードデーモンは、この時点でLinuxオペレーティングシステムが実行中のためもう動作していないことから、ダウン状態であると報告される。CCSは引き続き、ワークロードマネージャにノードがダウン状態であると報告するが、ワークロードマネージャは、現在アップし、実行中であることを報告するLinuxオペレーティングシステムと関連付けられた、異なるリソースマネージャと通信することから、上記状態情報信号を解釈、無視、またはプールするのに十分なインテリジェンスを有する。つまり、ワークロードマネージャへのインターフェースまたはワークロードマネージャは、複数のリソースマネージャと通信するインテリジェンスを有し、どのリソースマネージャを信頼すべきか判断する。したがって、本明細書に開示する特殊な設定およびインテリジェンス設定を使用するワークロードマネージャは、適切なリソースマネージャにのみに注目する。したがって、新たにプロビジョニングされた1つまたは複数のノードに引き続きジョブの投入を可能にするために、全ての状態情報、属性情報、および新たにプロビジョニングされたノードと関連付けられたリソースマネージャを介して情報を提供するその他のあらゆるものが伝達され、インテリジェントに利用される。
したがって、本発明の重要な態様は、エンドユーザおよび管理者にとってシームレスであるような形でオペレーティングシステムを切り替える時がきたことを示すために、適切に構成されたシステムジョブのスケジュールを通知し、全ての「ダウンノード」を隠蔽し、全ての属性を再マッピングし、その変更された環境全体にわたる全ての課金統計情報を保持することである。
これらの原理を考慮して、次に、図4について説明する。図4は、少なくとも1つのノードが第1のリソースマネージャによって制御される第1のオペレーティングシステムを有し、少なくとも1つのノードが第2のリソースマネージャによって制御される第2のオペレーティングシステムを有する、ハイブリッド型のマルチノードコンピューティング環境においてワークロードを管理する方法を示している。上記方法は、第1のオペレーティングシステムと第2のオペレーティングシステムの間のコンピューティング環境においてノードのバランスを取る、ポリシー確立ステップ(402)と、上記確立されたポリシーとの上記コンピューティング環境の整合性を判定するために、そのコンピューティング環境を周期的に解析するステップ(404)と、上記確立されたポリシーに従って、少なくとも1つのノードを上記第1のオペレーティングシステムから上記第2のオペレーティングシステムに変更、または少なくとも1つのノードを上記第2のオペレーティングシステムから上記第1のオペレーティングシステムに変更するために、上記解析に基づいて上記コンピューティング環境のノードをプロビジョニングするステップ(406)とを含む。上記解析は、使用履歴、現在の活動、保留中のワークロードおよび予想される必要条件のうちの少なくとも1つに基づいて行うことができる。予想されるポリシーの欠陥または違反などの、その他の要素によっても再プロビジョニングをトリガすることができる。例えば、予想される必要条件は、リソースの消費に対する既存のおよび/または予想される予約に従って予測されるワークロードの必要条件を基にすることができる。予想される必要条件は、ワークロードまたは予測されるワークロードに関連していなくてもよい。例えば、特定のアーキテクチャが、特定の今後の目的のために上記コンピューティング環境で必要になってもよい。したがって、今後の必要条件が、今後の環境または構造のプロビジョニングに関連していてもよい。例えば、環境が、試験、ベンチマーキング、障害解析、保守、あるいはバッチ処理と異なる任意の特定の用途に必要になってもよい。上記環境がまた、データセンタサービスまたは継続的なサービスを提供するために必要になってもよい。他のポリシーの例は、個別のパーティションごとに応答時間タイプと関連付けられたバックログの量に基づいて、負荷バランスを提供することである。応答時間は、スループット、負荷、カレンダー、特定の選択可能なワークロード、障害などに関連していてもよい。したがって、1つまたは複数のポリシーが、幅のある数の要素に関連し得る。上記プロビジョニングが、プロビジョニングポリシーに従って少なくとも1つのノードをプロビジョニングするようリソースマネージャに指示するシステムジョブを、ワークロードマネージャが発行することによって行われると好ましい。上記プロビジョニングポリシーにより、システムジョブが、スケジュールされたコンピューティングジョブの合間に少なくとも1つのノードをプロビジョニングしてもよい。これには、プロビジョニングできるようになる消費ジョブの完了まで、システムジョブが場合により7分間待機するという上記に述べた例がある。
プロビジョニングを可能にするように、コンピューティングジョブの予約またはバランスを調節することができる上記の他の態様があってもよい。例えば、1つのコンピューティングジョブが現在処理中で、10分間のうちに完了するようにスケジュールされ、別のコンピューティングジョブが、今から11分間で開始するようにスケジュールされていると仮定する。システムジョブと関連付けられたプロビジョニングは、オペレーティングシステムの切り替えに3分を必要とするはずである。このとき、この方法は、システムジョブと関連付けられたプロビジョニングの完了に必要な時間を活用するために、スケジュールされたコンピューティングジョブに対してわずかな変更を実行するステップを伴ってもよい。したがって、システムジョブは、現在適所にある全てのワークロードポリシーに従うプロビジョニングをスケジュール、管理するための機構として使用される。これにより、この環境に対して確立された全てのポリシーに従うプロビジョニングを実現する、統合された方法が提供される。
本発明の別の態様では、複数のノードを有するハイブリッド型のコンピューティング環境において、ノードをワークロードに対して動的にプロビジョニングする方法が開示される。動的なコンピューティング環境では、各ノードが、第1のオペレーティングシステムを有する第1のリソースマネージャおよび第2のオペレーティングシステムと関連付けられた第2のリソースマネージャと通信する。この方法は、図5に示されている。この方法は、ハイブリッド型のコンピューティング環境の少なくとも1つのノードを第1のオペレーティングシステムから第2のオペレーティングシステムへプロビジョニングする命令を、ワークロードマネージャまたはその他のソフトウェアもしくはハードウェアコンポーネントもしくはモジュールから受けるステップ(502)を含む。第2のオペレーティングシステムをプロビジョニングした後、上記システムは、上記少なくとも1つのノードと関連付けられた第1のリソースマネージャからの少なくとも1つの信号を、インテリジェントにフィルタリング、プール、または無視し(504)、上記少なくとも1つのノードと関連付けられた第2のリソースマネージャからの少なくとも1つの信号を処理する(506)。複数のリソースマネージャが、同じ物理的なオブジェクトすなわちノードの2つの異なる状態を同時に報告する場合、1つはアクティブ状態、1つは非アクティブ状態であるはずであることから、それらは競合している。上記システムは、他のデータと競合している一定のデータを無視するインテリジェンスを有する。したがって、上記システムは、非アクティブなリソースマネージャからの一定の信号を、インテリジェントにフィルタリング、プール、または無視すべきことを認識している。例えば、状態情報は、アクティブなリソースマネージャにとっても非アクティブなリソースマネージャにとっても重要である。その他のデータには、各ノードと関連付けられた、ならびに各ノードの1つまたは複数リソースマネージャと関連付けられた、特徴、能力、クエリー、属性、ポリシー、ルールセットが含まれる。したがって、無効のオペレーティングシステムには、構成や、能力、サポートされているオペレーティングシステム、ノードがどのソフトウェアおよびオペレーティングシステムに切り替わるかまたはプロビジョニングできるかなどの、いくつかの情報がやはり必要である。上記インテリジェントなフィルタリングは、非アクティブなノードの信号と、履歴、課金、再プロビジョニング情報のデータをプールするステップを伴うと好ましい。このプールは、ダウンノードのレイテンシプールと呼ぶことができる。レイテンシプールは、そのプール(および特定のリソースマネージャ)と関連付けられたオペレーティングシステムがノードに対してプロビジョニングされるかどうかに応じて、潜在的状態からアクティブ状態に切り替わることができる。
上記システムは、インテリジェンスを有するワークロードマネージャがノードについて別の環境に切り替えるかどうか識別でき、それが適正な判断かどうか識別するためにその環境と関連付けられた属性、ポリシーおよび制約を収集できるように、継続すべき属性を特定する。ただし、ワークロードマネージャは、この情報収集物が、ノードの属性、ポリシーおよび制約に関する潜在的な情報であることを認識している。この情報は、適切なプロビジョニングが行われた後に初めて、環境に作用すると認識されている。これに関して、上記システムは、そのノードを再プロビジョニングするのが適当だと判定した場合にアクセスできる情報を、潜在情報プールに概念的に配置する。プロビジョニングが適切なステップであるかどうか、その後のワークロードが特定のノードに適合するかどうかに関連する一部分の評価のための属性情報は、リダイレクトされ、分離される。1つの例では、上記システムは、可能なイメージまたは可能なリソースバージョンのリストを生成する。上記システムは、1つのノードがアクティブ状態であることを、現在のオペレーティングシステム、ジョブキュー、特徴/ポリシーのセット(これらの全てが、ノードのリソースを消費するワークロードに対してアクティブな状態にある)と共に識別する。しかし、上記システムが切り替えを行って、そのノードを異なった形でプロビジョニングをした場合、その新しいノードは、新しいオペレーティングシステムを受け取るが、レイテンシプールからのものである属性、ポリシーなどの他の収集物も受け取る。したがって、各潜在的なオペレーティングシステムごとに、こういった属性プールリストをシステムは維持する。各ノードは、1つ、2つ、3つ以上の情報レイテンシプールを有することができる。
このとき、上記コンピューティング環境は、第2のオペレーティングシステムがプロビジョニングされた少なくとも1つのノードと関連付けられたリソースを消費することができる(508)。上記のように、ワークロードマネージャは、少なくとも1つのノードと関連付けられた第1のリソースマネージャから、少なくとも1つの信号を受信し、インテリジェントにフィルタリングまたはレイテンシプールにプールすることができ、次いで、第2のリソースマネージャからの少なくとも1つの信号を処理して、第2のオペレーティングシステムがプロビジョニングされた少なくとも1つのノード上のリソースの消費を管理することができる。こういった信号は、オペレーティングシステムを切り替えるときのそのノードの状態、属性、ポリシーおよび制約に関連する。上記システムは、レイテンシプールからアクティブなプールへとデータを利用開始し、解放されるオペレーティングシステムからレイテンシプールへデータをプール開始する。したがって、上記システムは、レイテンシ情報プールとアクティブな情報プールを切り替える方法を認識している。ノードがプロビジョニングされ、アクティブな情報プールがそのノードと関連付けられると、ワークロードがその空間にスケジュールされ始める。システムが変更ステップまたはノードのプロビジョニングステップをスケジュールした場合は、その変更ワークロードと関連付けられたステップが、属性プールに変化をもたらすと常に解釈される。
一態様では、第2のオペレーティングシステムまたは第1のオペレーティングシステムは、Microsoftオペレーティングシステムであってよい。上記方法はさらに、属性を再マッピングするステップと、第1のオペレーティングシステムから第2のオペレーティングシステムへ課金統計情報を保持するステップを含むことができる。これに関して、上記システムは、属性を再マッピングする場合、統計情報を無視しない。上記システムは、上記システムが特定のリソースまたは特定のノードの統計情報の視点をそのライフサイクル全体にわたって維持できるように、物理的なノードの統計情報だけでなくオペレーティングシステムレベルの統計情報を維持する。したがって、そのライフサイクルおよびオペレーティングシステム間の切替えの間一貫して特定のノードとして、上記システムは、そのライフサイクル全体にわたってそのリソースの使用の解釈を維持することができる。別の態様では、上記方法は、第1のリソースマネージャおよび第2のリソースマネージャからの様々な情報と関連付けられた、変換、競合緩和および競合管理を実行するステップを含む。これは、各リソースマネージャが情報をわずかな差の形でいかに報告するかに関連付けられる。例えば、Microsoftオペレーティングシステムと関連付けられたリソースマネージャは、Linuxオペレーティングシステムと関連付けられる可能性のあるリソースマネージャから、様々なパラメータによる属性および統計情報を報告することができる。したがって、ワークロードマネージャの意思決定ポリシーが、ワークロードの割り当てだけでなく今後のプロビジョニングの判定の基になる共通の属性を有するように、サービスを実行するインテリジェント層が、ワークロードマネージャ224内またはインテリジェントなフロントエンド層222に構築される。つまり、ワークロードマネージャから見た視点が一貫するように様々な属性が調和または標準化されるように、フィルタリングと処理を行うことができる。この簡単な例は、1つのワークロードマネージャがメートル単位系に従って統計情報および属性を報告し、別のリソースマネージャがヤードポンド単位系に従って統計情報を報告するとすると、最終的にワークロードマネージャからみた統計情報が標準化され、したがって一貫するように、その情報を整合させる必要があるといった場合である。明らかに、これは、多様な統計情報をどのように調和できるかという点における概念上の例である。
本明細書の開示の態様により、ワークロードマネージャまたは別のインターフェースが、単一の統合リソース空間、単一の統合ポリシー空間および単一の統合課金空間を使用して、単一の統合管理空間も存在するように、ハイブリッド型のコンピューティング環境のワークロードを管理することが可能になる。したがって、本明細書の開示の目的は、ワークロードを投入/管理/監視する単一の方法が単一のインターフェースを使用するマネージャすなわち管理者と、全てのポリシーが定義/構成/制御/最適化される単一の空間と、イメージおよびコンピューティング環境が絶えず変化し、各種ノードが異なるオペレーティングシステムに再プロビジョニングされているところで、その時点でそれらがそれまで動作していたにもかかわらず、課金処理のための記録が保たれる単一の空間とを有する、簡易化された環境を提供することである。したがって、本発明により、共通性が存在できるようになり、上記の空間全てのスーパーセットを管理することができる。
仮想化の場合、リソースマネージャへ伝えられる状態データが、基本的に本明細書に開示されるように動作する。各オペレーティングシステムからの全てのデータが全体的に、その空間内部に存在する。したがって、第1のオペレーティングシステムは、Linuxであってよく、データをそれに関連付けられたリソースマネージャへ伝える。第1のシステムの上層に重ねられた第2のオペレーティングシステムがまた、そのデータをそのリソースマネージャへ伝える。
一態様では、仮想化におけるホストオペレーティングシステムは、別個のリソースマネージャを保持しない。この場合、各階層化されたオペレーティングシステムがそれぞれリソースマネージャを有する。交互に、監視専用リソースマネージャが、ホストオペレーティングシステムと通信することができる。この監視専用リソースマネージャは、ノードが動作状態、健全、作業/仮想化可能などの基本的な情報を報告するはずである。監視専用リソースマネージャは、ノードへのワークロードの投入には使用されず、そのワークロードの変更または操作に使用されない。監視専用レポートは、ノードのヘルスチェックと、仮想化が良好であるというレポートに関連する。仮想化は、Windows Server 2008内に含まれるHyper−V、VMWare(登録商標)、Xenを使用して、あるいは周知のその他の手法を介しても、利用することができる。
プロビジョニング用リソースマネージャを、ノード上のオペレーティングシステムの実際のプロビジョニングまたは変更や、新たにプロビジョニングされたノードのためのソフトウェアスタックの変更などの管理に、ワークロードマネージャが使用することができる。
本発明の範囲内にある実施形態は、保存されたコンピュータで実行可能な命令またはデータ構造を担持すなわち有するためのコンピュータ可読媒体を含むこともできる。かかるコンピュータ可読媒体は、汎用または特殊用途のコンピュータからアクセスできる、任意の入手可能な媒体であってよい。限定するのではなく一例として、かかるコンピュータ可読媒体は、RAM、ROM、EEPROM、CD−ROMもしくはその他の光ディスク記憶装置、磁気ディスク記憶装置もしくはその他の磁気記憶装置、または、コンピュータで実行可能な命令もしくはデータ構造の形での所望のプログラムコード手段の担持もしくは保存に使用できるその他任意の媒体を備えることができる。ネットワークまたは他のコンピュータ通信接続(有線、無線、またはその組合せ)を介して、コンピュータに情報が転送または提供されると、そのコンピュータは、その接続をコンピュータ可読媒体と適切にみなす。したがって、かかる任意の接続は、然るべくコンピュータ可読媒体と呼ばれる。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
コンピュータで実行可能な命令は、例えば、汎用コンピュータ、特殊用途のコンピュータ、または特殊用途の処理装置に一定の機能または機能グループを実行させる命令およびデータを含む。コンピュータで実行可能な命令はまた、スタンドアロンまたはネットワーク環境でコンピュータによって実行されるプログラムモジュールを含む。一般に、プログラムモジュールは、特定のタスクを実行、または特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。コンピュータで実行可能な命令とそれに関連付けられたデータ構造、およびプログラムモジュールは、本明細書に開示する方法の各ステップを実行するプログラムコード手段の例になる。かかる実行可能な命令またはそれに関連付けられたデータ構造の特定のシーケンスは、それに対応する、かかるステップに記述された機能を実施するための動作の例になる。プログラムモジュールはまた、コンピュータ可読媒体に含まれるプログラムの命令に基づく特定の機能を実行するように動作している場合、本明細書に開示する様々なハードウェアコンピュータコンポーネントと接続して、任意の実体のあるコンピュータ可読媒体を備えることができる。
本発明のその他の実施形態が、数多くのタイプのコンピュータシステム構成を有するネットワークコンピューティング環境で実施でき、パーソナルコンピュータ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な民生用電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含むことが当分野の技術者には理解されるであろう。各実施形態はまた、通信ネットワークを介してリンクされた(有線リンク、無線リンク、またはその組合せ)タスクがローカルおよびリモート処理装置によって実行される分散コンピューティング環境で、実施することもできる。分散コンピューティング環境では、プログラムモジュールをローカルとリモートのメモリ記憶装置に配置することができる。
上記の説明は、特定の詳細を含む場合があるが、それらは特許請求の範囲を何らかの形で限定すると解釈すべきではない。本発明の説明した実施形態のその他の構成は、本発明の範囲の一部分である。したがって、本発明を定義するのは、所与の特定の例ではなく、添付の特許請求の範囲およびその法的均等物のみであるべきである。

Claims (20)

  1. 少なくとも1つのノードが第1のリソースマネージャによって制御される第1のオペレーティングシステムを有し、少なくとも1つのノードが第2のリソースマネージャによって制御される第2のオペレーティングシステムを有する、ハイブリッド型のマルチノードコンピューティング環境でワークロードを管理する方法において、
    前記コンピューティング環境の前記第1のオペレーティングシステムと前記第2のオペレーティングシステムの間でノードのバランスを取る、ポリシー確立ステップであって、前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムがノードのハードウェアで直接実行されるステップと、
    前記確立されたポリシーとの前記コンピューティング環境の整合性を判定するために、該コンピューティング環境を周期的に解析するステップと、
    前記確立されたポリシーに従って少なくとも1つのノードを、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへ、または前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへ変更するために、前記解析に基づいて、前記コンピューティング環境のノードをプロビジョニングするステップとを含む方法。
  2. 前記解析は、使用履歴、現在の活動、保留中のワークロードおよび予想される必要条件のうちの少なくとも1つに基づいている、請求項1に記載の方法。
  3. 前記少なくとも1つのノードをプロビジョニングポリシーに従ってプロビジョニングするシステムジョブをワークロードマネージャが発行することによって、プロビジョニングが行われる、請求項1に記載の方法。
  4. 前記プロビジョニングポリシーにより、前記システムジョブは、スケジュールされたコンピューティングジョブの間に前記少なくとも1つのノードをプロビジョニングする、請求項3に記載の方法。
  5. 前記プロビジョニングが、仮想化、ディスクフルプロビジョニング、ディスクレスプロビジョニングまたはデュアルブートを使用して実行される、請求項1に記載の方法。
  6. 前記プロビジョニングノードにユーザソフトウェアスタックをロードするステップをさらに含む、請求項1に記載の方法。
  7. 少なくとも1つのノードが第1のオペレーティングシステムと関連付けられた第1のリソースマネージャと通信し、少なくとも1つのノードが第2のオペレーティングシステムと関連付けられた第2のリソースマネージャと通信する、複数のノードを有するハイブリッド型のコンピューティング環境で、ノードをワークロードに対して動的にプロビジョニングする方法において、
    ハイブリッド型のコンピューティング環境の少なくとも1つのノードを前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへプロビジョニングする命令を、ワークロードマネージャから受け取るステップであって、前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムがノードのハードウェアで直接実行されるステップと、
    前記第2のオペレーティングシステムをプロビジョニングした後、前記少なくとも1つのノードと関連付けられた前記第1のリソースマネージャからの少なくとも1つの信号をプールするステップと、
    前記少なくとも1つのノードと関連付けられた前記第2のリソースマネージャからの少なくとも1つの信号を処理するステップと、
    前記第2のオペレーティングシステムがプロビジョニングされた前記少なくとも1つのノードと関連付けられたリソースを消費するステップとを含む方法。
  8. 前記ワークロードマネージャは、前記少なくとも1つのノードと関連付けられた前記第1のリソースマネージャから前記少なくとも1つの信号を受け取り、レイテンシプールにプールする、請求項7に記載の方法。
  9. 前記ワークロードマネージャは、前記第2のオペレーティングシステムがプロビジョニングされた前記少なくとも1つのノード上のリソースの消費を管理するために、前記第2のリソースマネージャからの前記少なくとも1つの信号を処理する、請求項8に記載の方法。
  10. 前記第2のオペレーティングシステムは、Microsoftオペレーティングシステムである、請求項7に記載の方法。
  11. 前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへ属性を再マッピングし、課金統計情報を保持するステップをさらに含む、請求項7に記載の方法。
  12. 前記第1のリソースマネージャおよび前記第2のリソースマネージャからの異なる情報と関連付けられた変換、競合緩和および競合管理をさらに含む、請求項7に記載の方法。
  13. 単一の統合リソース空間、単一の統合ポリシー空間、単一の統合課金空間および単一の管理空間を使用して、マネージャは、前記ハイブリッド型のコンピューティング環境におけるワークロードを管理する、請求項7に記載の方法。
  14. ハイブリッド型のマルチノードコンピューティング環境でワークロードを管理するためにコンピューティングデバイスを制御するための命令を保存するコンピュータ可読媒体において、少なくとも1つのノードが第1のリソースマネージャによって制御される第1のオペレーティングシステムを有し、少なくとも1つのノードが第2のリソースマネージャによって制御される第2のオペレーティングシステムを有し、前記命令は、
    前記コンピューティング環境の前記第1のオペレーティングシステムと前記第2のオペレーティングシステムの間でノードのバランスを取る、ポリシー確立ステップであって、前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムがノードのハードウェアで直接実行されるステップと、
    前記確立されたポリシーとの前記コンピューティング環境の整合性を判定するために、該コンピューティング環境を周期的に解析するステップと、
    前記確立されたポリシーに従って少なくとも1つのノードを、前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへ、または前記第2のオペレーティングシステムから前記第1のオペレーティングシステムへ変更するために、前記解析に基づいて、前記コンピューティング環境のノードをプロビジョニングするステップとを含む、コンピュータ可読媒体。
  15. 前記解析は、使用履歴、現在の活動、保留中のワークロードおよび予想される必要条件のうちの少なくとも1つに基づいている、請求項14に記載のコンピュータ可読媒体。
  16. 前記少なくとも1つのノードをプロビジョニングポリシーに従ってプロビジョニングするシステムジョブをワークロードマネージャが発行することによって、プロビジョニングが行われる、請求項14に記載のコンピュータ可読媒体。
  17. 前記プロビジョニングポリシーにより、前記システムジョブは、スケジュールされたコンピューティングジョブの合間に前記少なくとも1つのノードをプロビジョニングする、請求項16に記載のコンピュータ可読媒体。
  18. 複数のノードを有するハイブリッド型のコンピューティング環境を管理するためにコンピューティングデバイスを制御するための命令を保存するコンピュータ可読媒体において、少なくとも1つのノードが第1のオペレーティングシステムと関連付けられた第1のリソースマネージャと通信し、少なくとも1つのノードが第2のオペレーティングシステムと関連付けられた第2のリソースマネージャと通信し、前記命令は、ノードをワークロードに対して動的にプロビジョニングするステップに関連し、前記命令は、
    ハイブリッド型のコンピューティング環境の少なくとも1つのノードを前記第1のオペレーティングシステムから前記第2のオペレーティングシステムへプロビジョニングする命令を、ワークロードマネージャから受け取るステップであって、前記第1のオペレーティングシステムおよび前記第2のオペレーティングシステムがノードのハードウェアで直接実行されるステップと、
    前記第2のオペレーティングシステムをプロビジョニングした後、前記少なくとも1つのノードと関連付けられた前記第1のリソースマネージャからの少なくとも1つの信号をプールするステップと、
    前記少なくとも1つのノードと関連付けられた前記第2のリソースマネージャからの少なくとも1つの信号を処理するステップと、
    前記第2のオペレーティングシステムがプロビジョニングされた前記少なくとも1つのノードと関連付けられたリソースを消費するステップとを含む、コンピュータ可読媒体。
  19. 前記ワークロードマネージャは、前記少なくとも1つのノードと関連付けられた前記第1のリソースマネージャから前記少なくとも1つの信号を受け取り、レイテンシプールにプールする、請求項18に記載のコンピュータ可読媒体。
  20. 前記ワークロードマネージャは、前記第2のオペレーティングシステムがプロビジョニングされた前記少なくとも1つのノード上のリソースの消費を管理するために、前記第2のリソースマネージャからの前記少なくとも1つの信号を処理する、請求項19に記載のコンピュータ可読媒体。
JP2010544945A 2008-01-31 2008-01-31 ハイブリッド型のコンピューティング環境を管理するためのシステムおよび方法 Expired - Fee Related JP5355592B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2008/052627 WO2009096971A1 (en) 2008-01-31 2008-01-31 System and method for managing a hybrid compute environment

Publications (2)

Publication Number Publication Date
JP2011511360A true JP2011511360A (ja) 2011-04-07
JP5355592B2 JP5355592B2 (ja) 2013-11-27

Family

ID=40913103

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010544945A Expired - Fee Related JP5355592B2 (ja) 2008-01-31 2008-01-31 ハイブリッド型のコンピューティング環境を管理するためのシステムおよび方法

Country Status (10)

Country Link
EP (1) EP2255281B1 (ja)
JP (1) JP5355592B2 (ja)
KR (1) KR20100113601A (ja)
CN (1) CN101971141A (ja)
AU (1) AU2008349549A1 (ja)
BR (1) BRPI0822147A2 (ja)
CA (1) CA2713994A1 (ja)
IL (1) IL207306A0 (ja)
WO (1) WO2009096971A1 (ja)
ZA (1) ZA201006154B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019503535A (ja) * 2016-02-25 2019-02-07 華為技術有限公司Huawei Technologies Co.,Ltd. 自動アプリケーション展開のための方法およびクラウド管理ノード

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4913913B2 (ja) * 2010-04-28 2012-04-11 新日鉄ソリューションズ株式会社 情報処理システム、情報処理方法及びプログラム
US9098521B2 (en) 2010-09-15 2015-08-04 Qualcomm Incorporated System and method for managing resources and threshsold events of a multicore portable computing device
US8615755B2 (en) * 2010-09-15 2013-12-24 Qualcomm Incorporated System and method for managing resources of a portable computing device
US9152523B2 (en) 2010-09-15 2015-10-06 Qualcomm Incorporated Batching and forking resource requests in a portable computing device
US8949308B2 (en) * 2012-01-23 2015-02-03 Microsoft Corporation Building large scale infrastructure using hybrid clusters
CN103077076B (zh) * 2013-01-06 2015-10-28 北京航空航天大学 在Linux上模拟实现Windows堆管理的方法
CN115617411B (zh) * 2022-12-20 2023-03-14 苏州浪潮智能科技有限公司 电子设备数据处理方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
JP2002207712A (ja) * 2000-11-09 2002-07-26 Hewlett Packard Co <Hp> 自動的に予備資源をアクティブ化する装置および方法
US20060037016A1 (en) * 2004-07-28 2006-02-16 Oracle International Corporation Methods and systems for modifying nodes in a cluster environment
US20060143350A1 (en) * 2003-12-30 2006-06-29 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
JP2006309439A (ja) * 2005-04-27 2006-11-09 Fujitsu Ltd フレキシブルクラスタシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7779415B2 (en) * 2003-11-21 2010-08-17 International Business Machines Corporation Adaptive load distribution in managing dynamic and transient data for distributed applications
US7448037B2 (en) * 2004-01-13 2008-11-04 International Business Machines Corporation Method and data processing system having dynamic profile-directed feedback at runtime
US8244882B2 (en) * 2004-11-17 2012-08-14 Raytheon Company On-demand instantiation in a high-performance computing (HPC) system
US20060129667A1 (en) * 2004-12-10 2006-06-15 Eric Anderson Method of and system for sharing access to cluster of computers
US7934215B2 (en) * 2005-01-12 2011-04-26 Microsoft Corporation Smart scheduler
EP2362310B1 (en) * 2005-03-16 2017-10-04 III Holdings 12, LLC Automatic workload transfer to an on-demand center

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331333A (ja) * 2000-05-18 2001-11-30 Hitachi Ltd 計算機システム及び計算機システムの制御方法
JP2002207712A (ja) * 2000-11-09 2002-07-26 Hewlett Packard Co <Hp> 自動的に予備資源をアクティブ化する装置および方法
US20060143350A1 (en) * 2003-12-30 2006-06-29 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US20060037016A1 (en) * 2004-07-28 2006-02-16 Oracle International Corporation Methods and systems for modifying nodes in a cluster environment
JP2006309439A (ja) * 2005-04-27 2006-11-09 Fujitsu Ltd フレキシブルクラスタシステム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019503535A (ja) * 2016-02-25 2019-02-07 華為技術有限公司Huawei Technologies Co.,Ltd. 自動アプリケーション展開のための方法およびクラウド管理ノード
US10824408B2 (en) 2016-02-25 2020-11-03 Huawei Technologies, Co., Ltd. Method for automatic application deployment and cloud management node

Also Published As

Publication number Publication date
ZA201006154B (en) 2012-01-25
EP2255281B1 (en) 2020-07-29
WO2009096971A1 (en) 2009-08-06
BRPI0822147A2 (pt) 2015-06-30
AU2008349549A1 (en) 2009-08-06
KR20100113601A (ko) 2010-10-21
EP2255281A1 (en) 2010-12-01
EP2255281A4 (en) 2011-11-09
IL207306A0 (en) 2010-12-30
JP5355592B2 (ja) 2013-11-27
AU2008349549A2 (en) 2010-11-11
CN101971141A (zh) 2011-02-09
CA2713994A1 (en) 2009-07-23

Similar Documents

Publication Publication Date Title
US11650857B2 (en) System and method for managing a hybrid computer environment
US11762694B2 (en) System and method of providing system jobs within a compute environment
JP5355592B2 (ja) ハイブリッド型のコンピューティング環境を管理するためのシステムおよび方法
US9373096B2 (en) Smart cloud workload balancer
US7774457B1 (en) Resource evaluation for a batch job and an interactive session concurrently executed in a grid computing environment
CN107851039B (zh) 用于资源管理的系统和方法
US11836535B1 (en) System and method of providing cloud bursting capabilities in a compute environment
US20120054770A1 (en) High throughput computing in a hybrid computing environment
WO2012066640A1 (ja) 計算機システム、マイグレーション方法及び管理サーバ
WO2012028213A1 (en) Re-scheduling workload in a hybrid computing environment
JP2005141605A (ja) 予測に基づいた計算機リソース配分方法
Bertoncini et al. Games: Green active management of energy in it service centres
EP4027241A1 (en) Method and system for optimizing rack server resources
CN115102851B (zh) 一种面向hpc与ai融合计算的融合平台及其资源管理方法
US11681353B1 (en) Power capping in a composable computing system
Jahnich et al. Integrating dynamic load balancing strategies into the car-network
Rahimi et al. A systematic literature review on MapReduce scheduling methods
CN115878257A (zh) 用于优化网络设备队列管理的方法和计算装置
Hou et al. An application-oriented on-demand scheduling approach in the computational grid environment

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121022

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130402

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130730

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130827

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees