(57)【要約】  データ処理ネットワークと、クラスタ制御装置と、データ処理のノードと、方法と、コンピュータ・プログラム製品とが、開示される。データ処理ネットワークは、複数の構成を記憶するように動作可能なクラスタ制御装置と、データ処理ノードのクラスタとを備えており、前記クラスタ制御装置、およびデータ処理ノードの前記クラスタは、前記複数の構成のうちの１つを、前記クラスタの中の各データ処理ノードに対する割り付けられたリード・オンリー構成として使用可能にするよう協力するように動作可能であり、各データ処理ノードは、前記構成を使用して起動するように動作可能であり、前記クラスタ制御装置、およびデータ処理ノードのクラスタは、さらに、起動に続いてそのデータ処理ノードのオペレーション中に利用されるべきデータにアクセスするために、前記クラスタの中のデータ処理ノードごとに、リード／ライトのストレージ・エリアを割り付けるよう協力するように動作可能である。このアプローチは、特定の構成を動的にロードし、また決定されていない数のアクティブ・ノードの上で自動的に動作することができるクラスタの柔軟なセットアップを提供する。同時に、このアプローチは、使用可能なマシンの分離を可能にして、異なるＨＰＣサービスを同時に実行することができるようにする。
2016531353.tif 000002
【特許請求の範囲】
【請求項１】
複数の構成を記憶するように動作可能なクラスタ制御装置と、
データ処理ノードのクラスタと
を備えており、前記クラスタ制御装置、およびデータ処理ノードの前記クラスタは、前記複数の構成のうちの１つを、前記クラスタの中の各データ処理ノードに対する割り付けられたリード・オンリー構成として使用可能にするよう協力するように動作可能であり、各データ処理ノードは、前記構成を使用して起動するように動作可能であり、前記クラスタ制御装置、およびデータ処理ノードのクラスタは、さらに、起動に続いてそのデータ処理ノードのオペレーション中に利用されるべきデータにアクセスするために、前記クラスタの中のデータ処理ノードごとにリード／ライトのストレージ・エリアを割り付けるよう協力するように動作可能である、データ処理ネットワーク。
【請求項２】
前記クラスタ制御装置、およびデータ処理ノードの前記クラスタは、前記クラスタ制御装置から前記クラスタの中の各データ処理ノードへと前記構成の少なくとも一部分を転送することにより、前記割り付けられたリード・オンリー構成を使用可能にするよう協力するように動作可能である、請求項１に記載のデータ処理ネットワーク。
【請求項３】
各構成は、ディスク・イメージを含む、請求項１または２に記載のデータ処理ネットワーク。
【請求項４】
各構成は、組み合わされたオペレーティング・システムと、少なくとも１つのアプリケーションとについてのディスク・イメージを含む、請求項１乃至３のいずれか１項に記載のデータ処理ネットワーク。
【請求項５】
前記クラスタの中の各データ処理ノードは、ローカル・ディスクと、ブート・ディスクとのうちの少なくとも一方として前記クラスタ制御装置の上に前記ディスク・イメージをマウントするように動作可能である、請求項２または３に記載のデータ処理ネットワーク。
【請求項６】
前記リード／ライトのストレージ・エリアは、前記ディスク・イメージのルート・ディレクトリの上に前記ファイル・システム・オーバーレイとしてマウントされる、請求項１乃至５のいずれか１項に記載のデータ処理ネットワーク。
【請求項７】
前記ファイル・システム・オーバーレイは、ファイル・システム・オーバーレイの修正されたファイルが、対応するディスク・イメージ・ファイルに優先してアクセスされることを可能にするように、前記ディスク・イメージよりも高い優先順位を割り付けられる、請求項６に記載のデータ処理ネットワーク。
【請求項８】
前記リード／ライトのストレージ・エリアは、各データ処理ノードに位置しており、また各データ処理ノードは、非アクティブ化と、再構成とのうちの一方を実行するように指示されるときに、集中型のストレージに対して前記リード／ライトのストレージ・エリアのコンテンツを転送するように動作可能である、請求項１乃至７のいずれか１項に記載のデータ処理ネットワーク。
【請求項９】
前記クラスタ制御装置は、前記構成を用いてリブートするように、データ処理ノードの前記クラスタに指示するように動作可能である、請求項１乃至８のいずれか１項に記載のデータ処理ネットワーク。
【請求項１０】
データ処理ネットワークの方法であって、
クラスタ制御装置において複数の構成を記憶するステップと、
データ処理ノードのクラスタを提供するステップと、
前記クラスタの中の各データ処理ノードに対して、割り付けられたリード・オンリー構成として、前記複数の構成のうちの１つを使用可能にするステップ、および前記構成を使用して起動するステップと、
起動に続いてそのデータ処理ノードのオペレーション中に利用されるべきデータにアクセスするために、前記クラスタの中のデータ処理ノードごとにリード／ライトのストレージ・エリアを割り付けるステップと
を含む方法。
【請求項１１】
データ処理ネットワークのためのクラスタ制御装置であって、
複数の構成を記憶するように動作可能なストレージと、
前記複数の構成のうちの１つを、前記クラスタの中の各データ処理ノードに対して割り付けられたリード・オンリー構成として使用可能にするようにデータ処理ノードのクラスタと協力し、また起動に続いてそのデータ処理ノードのオペレーション中に利用されるべきデータにアクセスするために、前記クラスタの中のデータ処理ノードごとにリード／ライトのストレージ・エリアを割り付けるように動作可能な協力ロジックと
を備えている、クラスタ制御装置。
【請求項１２】
クラスタ制御装置の方法であって、
複数の構成を記憶するステップと、
前記複数の構成のうちの１つを、前記クラスタの中の各データ処理ノードに対して割り付けられたリード・オンリー構成として使用可能にするようにデータ処理ノードのクラスタと協力するステップと、
起動に続いてそのデータ処理ノードのオペレーション中に利用されるべきデータにアクセスするために、前記クラスタの中のデータ処理ノードごとに、リード／ライトのストレージ・エリアを割り付けるステップと
を含む方法。
【請求項１３】
データ処理ネットワークのためのデータ処理ノードであって、
クラスタ制御装置によって記憶される複数の構成のうちの１つを、割り付けられたリード・オンリー構成として使用可能にするように前記クラスタ制御装置と協力するように動作可能な協力ロジックと、
前記構成を使用して起動するように動作可能な起動ロジックと
を備えており、前記協力ロジックは、さらに、起動に続いてオペレーション中に利用されるべきデータにアクセスするために、リード／ライトのストレージ・エリアを割り付けるよう協力するように動作可能である、データ処理ノード。
【請求項１４】
データ処理ノードの方法であって、
クラスタ制御装置によって記憶される複数の構成のうちの１つを、割り付けられたリード・オンリー構成として使用可能にするように前記クラスタ制御装置と協力するステップと、
前記構成を使用して起動するステップと
を含む方法。
【請求項１５】
コンピュータの上で実行されるときに、請求項１０、１２または１４のいずれか１項に記載の方法ステップを実行するように動作可能なコンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理ネットワーク、クラスタ制御装置、データ処理のノード、方法およびコンピュータ・プログラム製品に関する。
【背景技術】
【０００２】
高性能コンピューティング（ＨＰＣ：Ｈｉｇｈ−Ｐｅｒｆｏｒｍａｎｃｅ−Ｃｏｍｐｕｔｉｎｇ）は、それが実行するソフトウェアの性能に対してデータ処理ノードのクラスタのインフラストラクチャが大きい影響を有し得るクラスタ・コンピューティング内の特殊化された分野である。これは、ＨＰＣアプリケーションが、多くの場合、基礎となるコンピューティング・ハードウェアを最大限に活用するためにその構成が非常に特殊化されていることを意味する。ＨＰＣクラスタのセットアップは、一般に、３つの全体的なインストール・フェーズ、すなわち、クラスタの中のすべてのノードに通常共通であるオペレーティング・システムのインストールと、アプリケーション・ドメイン（例えば、Ｈａｄｏｏｐ、リアル・タイム・ストリーミング・フレームワーク、Ｍａｔｌａｂ、科学的な特殊目的のコード）に特有であるソフトウェア・アプリケーション・レイヤと、特定の構成、およびノードが計算する必要があるデータの組と、から構成される。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ＨＰＣクラスタを提供することは、適切に構成されるときに、かなりの性能データ処理の利点を提供することができるが、予想外の結果も起こる可能性がある。したがって、改善された構成を提供することが好ましい。
【課題を解決するための手段】
【０００４】
第１の態様によれば、複数の構成を記憶するように動作可能なクラスタ制御装置と、データ処理ノードのクラスタとを備えているデータ処理ネットワークが提供され、クラスタ制御装置、およびデータ処理ノードのクラスタは、複数の構成のうちの１つを、クラスタの中の各データ処理ノードに対する割り付けられたリード・オンリー構成として使用可能にするよう協力するように動作可能であり、各データ処理ノードは、構成を使用して起動するように動作可能であり、クラスタ制御装置、およびデータ処理ノードのクラスタは、さらに、起動に続いてそのデータ処理ノードのオペレーション中に利用されるべきデータにアクセスするために、クラスタの中の各データ処理ノードのためにリード／ライトのストレージ・エリアを割り付けるよう協力するように動作可能である。
【０００５】
第１の態様は、例えば、ＨＰＣアプリケーションなどのアプリケーションが、多くの場合に、基礎となるコンピューティング・ハードウェアを最大限に活用するためにその構成が非常に特殊化されており、また、これにより、再構成可能なクラウドのような環境における展開にそれらが適さないものになることを認識している。これは、従来のＨＰＣ展開についての費用対効果と、実装の容易さとを低下させる。とりわけ、オペレーティング・システム、アプリケーション・ソフトウェア、および特定の構成とデータセットの間の分離によって、動的に再構成可能なＨＰＣシステム、すなわちサービスＨＰＣａａＳとしてのオンデマンドＨＰＣ（ｏｎ  ｄｅｍａｎｄ  ＨＰＣ−ａｓ−ａ−ｓｅｒｖｉｃｅ  ＨＰＣａａＳ）の実現が、厳しく挑戦的な技術的タスクとなる。実際に、多くの異なる目的を有することは、クラスタが、多くの異なる種類のソフトウェアを実行する能力を有するべきであることを意味しており、また科学的な／グリッド・コンピューティング・ソフトウェアは、通常、トップ性能で動作すべき、問題になっているソフトウェアに固有の非常に特有のセットアップを必要とする。構成においてこの柔軟性を促すこと、クラスタに対する維持管理を最小にすること、および１ステップのオペレーションにおけるマルチ・モード・クラスタとして１つの構成から別の構成へと切り替える容易なやり方を提供することは、システムを一貫性があり動作可能であるように保持するために一連の技術的な不都合さが解決されることを必要とする。さらに、仮想化も専用のソフトウェア・インストレーションもなしに、専用のマシンを提供する有効なやり方は現在、存在していない。しかしながら、第１の態様は、仮想化が、性能に対する望ましくない、また予測できない効果を提示するハードウェアと、ソフトウェアとの間のリダイレクション・レイヤを導入することも認識している。このアプローチに対する代替案は、仮想化されていない専用のソフトウェア・インストレーションであり、このソフトウェア・インストレーションは、これらの落とし穴を回避している。しかしながら、そのアプローチは、クラスタの遥かにより静的な構成を導入しており、ここで、ソフトウェアは、マルチ・ブートの問題解決手法を用いて、各々の単一のマシンの上にインストールされる必要があり、このマルチ・ブートの問題解決手法は、ディスク・リソースを消費するか、または特定の構成を可能にしないかのいずれかである。言い換えれば、ＨＰＣプラットフォームの展開に取り掛かる２つの主要なやり方が、現在、存在しており、第１のやり方は、１つのＨＰＣタスク（例えば、Ｈａｄｏｏｐ、Ｓｔｏｒｍなど）に専用のプラットフォームを展開することである。これは、人が、プラットフォームに電力を供給する（多くの場合に非常に高価な）インフラストラクチャをフルに活用することができるという利点を有しているが、それは、その特定のタイプのジョブが実行するために使用可能でない場合に、ハードウェアが、利用されないままになるという欠点を有する。第２のやり方は、最上部の仮想化レイヤを用いて一般的な目的のインフラストラクチャを展開することである。それは、システムが、任意数のタスクのために十分に利用されることを可能にする。しかしながら、それはまた、ＨＰＣソフトウェアが、仮想化された環境の内部で実行していること（このタイプのアプリケーションが、一般的に、高い性能ペナルティの影響を受けることのようなもの）を意味している。これらの問題解決手法のうちのいずれも、ＨＰＣタスクが、例えば、研究環境やサービス・マーケットとしてのインフラストラクチャなどの中の、異なるソフトウェア・システムの間で変化する場合の展開シナリオにおいて、あまり意味を持たない。十分なハードウェアの利用と、最適な柔軟性との間で選択する必要があることは、望ましくない。
【０００６】
それに応じて、データ処理ネットワークが、提供されることもある。データ処理ネットワークは、クラスタ制御装置を備えていることができる。クラスタ制御装置は、複数の構成を記憶することができる。データ処理ネットワークはまた、データ処理ノードのクラスタを備えていることもできる。クラスタ制御装置と、クラスタとは、各データ処理ノードに対して構成のうちの１つを使用可能、またはアクセス可能にするために、一緒に協力し、または機能することができる。割り付けられた構成は、リード・オンリー構成として提供されることもある。次いで、各データ処理ノードは、その割り付けられた構成を使用して起動するように機能することができる。クラスタ制御装置、およびデータ処理ノードのクラスタはまた、一緒に機能して、各データ処理ノードのための、リードおよび／またはライトのストレージ・エリアを提供することもできる。割り付けられたリード／ライトのストレージ・エリアを使用して、起動に続いてデータ処理ノードのオペレーション中に使用されるデータにアクセスすることができる。このアプローチは、特定の構成を動的にロードすることができ、また決定されていない数のアクティブ・ノードに対して自動的に動作することができるクラスタの柔軟なセットアップを提供する。同時に、このアプローチは、異なるＨＰＣサービスを同時に実行することができるようにするために、使用可能なマシンの分離を可能にする。これは、正しい順序で、またよく調整されて配置されて、各ノードに対する特定のアクセスを提供する能力を用いて、同じ物理ハード・ドライブの共用を可能にする機能の組合せを提供することにより可能になる。これは、性能または構成可能性について妥協することなく、再構成可能なクラウド展開フレームワークからＨＰＣシナリオへと多数の利点をもたらす。
【０００７】
一実施形態においては、クラスタ制御装置、およびデータ処理ノードのクラスタは、複数の構成のうちの同じものを、クラスタの中の各データ処理ノードに対する割り付けられたリード・オンリー構成として使用可能にするよう協力するように動作可能である。それに応じて、クラスタ制御装置は、クラスタの中のあらゆるデータ処理ノードに対して同じ構成を提供することができる。これは、クラスタ内の各ノードが、同じ構成を用いて起動することを保証する。
【０００８】
一実施形態においては、クラスタ制御装置、およびデータ処理ノードのクラスタは、クラスタ制御装置からクラスタの中の各データ処理ノードへと構成の少なくとも一部分を転送することにより、割り付けられたリード・オンリー構成を使用可能にするよう協力するように動作可能である。それに応じて、構成の少なくとも一部分は、クラスタ制御装置からクラスタの中の各データ処理ノードへと転送されることもある。これは、単一のクラスタ制御装置が、多数のデータ処理ノードを構成することを可能にする。
【０００９】
一実施形態においては、各構成は、ディスク・イメージを含んでいる。ディスク・イメージを提供することは、各データ処理ノードが、同じやり方で構成されていることを保証する便利なやり方である。
【００１０】
一実施形態においては、各構成は、組み合わされたオペレーティング・システムと、少なくとも１つのアプリケーションとのディスク・イメージを含んでいる。それに応じて、オペレーティング・システムと、アプリケーションとの両方は、ディスク・イメージによって提供されることもある。これは、各データ処理ノードが、必要に応じて、異なるオペレーティング・システムと、アプリケーションとを用いて簡単に再構成されることを可能にする。
【００１１】
一実施形態においては、クラスタの中の各データ処理ノードは、ローカル・ディスクとして、クラスタ制御装置の上に、ディスク・イメージをマウントするように動作可能である。それゆえに、クラスタ制御装置によって提供されるディスク・イメージは、ローカル・ディスクとして、各データ処理ノードの上にマウントされることもある。
【００１２】
一実施形態においては、クラスタの中の各データ処理ノードは、ブート・ディスクとして、クラスタ制御装置の上にディスク・イメージをマウントするように動作可能である。この場合にも、データ処理ノードが、そのディスクを使用して、ブートするように構成されていることもあるので、これは、特に都合がよい。
【００１３】
一実施形態においては、リード／ライトのストレージ・エリアは、クラスタ制御装置と、データ処理ノードと、集中型のストレージとのうちの少なくとも１つに位置している。それに応じて、リード／ライトのストレージ・エリアは、ネットワーク内のアクセス可能なロケーションに位置していることができる。
【００１４】
一実施形態においては、リード／ライトのストレージ・エリアは、ファイル・システム・オーバーレイと、ユニオン・マウントとのうちの少なくとも一方としてマウントされる。
【００１５】
一実施形態においては、リード／ライトのストレージ・エリアは、ディスク・イメージのルート・ディレクトリの上に、ファイル・システム・オーバーレイとしてマウントされる。それに応じて、リード／ライトのストレージ・エリアは、ディスク・イメージと組み合わされることもある。これは、ディスク・イメージのコンテンツが、各データ処理ノードがそのデータ処理ノードの特定の必要性に適合するようにするために、制御されたやり方で、効果的に（ディスク・イメージそれ自体が実際に修正されることなく、オーバーレイだけが）修正されることを可能にする。
【００１６】
一実施形態においては、ファイル・システム・オーバーレイは、ファイル・システム・オーバーレイの修正されたファイルが、対応するディスク・イメージ・ファイルに優先してアクセスされることを可能にするように、ディスク・イメージよりも高い優先順位を割り付けられる。それに応じて、オーバーレイは、オーバーレイ内のファイルが、ディスク・イメージ内のこれらのファイルに優先して提示されるようにするために、イメージよりも高い優先順位を有するように構成されていることもある。
【００１７】
一実施形態においては、リード／ライトのストレージ・エリアは、各データ処理ノードに位置しており、また各データ処理ノードは、非アクティブ化と、再構成とのうちの一方を実行するように指示されるときに、リード／ライトのストレージ・エリアのコンテンツを集中型のストレージへと転送するように動作可能である。それに応じて、ストレージ・エリアは、各データ処理ノードによって提供されることもある。各データ処理ノードは、データ処理ノードが、非アクティブにされ、または再構成されるときにオーバーレイのコンテンツを保存するようにするために、そのストレージ・エリアのコンテンツを集中型のストレージへと転送することができる。
【００１８】
一実施形態においては、クラスタ制御装置は、その構成を用いてリブートするようにデータ処理ノードのクラスタに指示するように動作可能である。
【００１９】
一実施形態においては、クラスタ制御装置は、異なる構成を用いてリブートするように、データ処理ノードのクラスタについての異なるグループに指示するように動作可能である。それに応じて、完全なクラスタは、異なるグループまたはサブグループへと分割されることもあり、またこれらのうちの各々は、異なる構成を用いてブートするように、クラスタ制御装置によって指示されることもある。これは、データ処理ネットワークが、異なるユーザのニーズに適合するようにするために、複数のＨＰＣ構成として構成されることを可能にする。上記および下記で述べられる特徴のうちの各々は、そのようなグループによって使用され得ることが、理解されるであろう。
【００２０】
一実施形態において、クラスタ制御装置は、そのような変更についての要求に応じて、クラスタの中のデータ処理ノードの数を変更するように動作可能である。したがって、より多くのリソース、またはより少ないリソースが、必要とされる場合、そのときにはクラスタ制御装置は、クラスタ内のデータ処理ノードの数の変更を要求する可能性がある。
【００２１】
一実施形態においては、クラスタ制御装置は、電源投入と、シャットダウンとのうちの一方を実行するように、データ処理ノードのクラスタに指示するように動作可能である。
【００２２】
一実施形態においては、各データ処理ノードは、固有の識別子を割り付けられるように動作可能である。
【００２３】
一実施形態においては、固有の識別子は、媒体アクセス制御アドレスに関連する各データ処理ノードに基づいて決定される。
【００２４】
第２の態様によれば、クラスタ制御装置において複数の構成を記憶するステップと、データ処理ノードのクラスタを提供するステップと、複数の構成のうちの１つを、クラスタの中の各データ処理ノードに対して割り付けられたリード・オンリー構成として使用可能にするステップ、およびその構成を使用して起動するステップと、起動に続いてそのデータ処理ノードのオペレーション中に利用されるべきデータにアクセスするために、クラスタの中のデータ処理ノードごとにリード／ライトのストレージ・エリアを割り付けるステップとを含むデータ処理ネットワークの方法が、提供されている。
【００２５】
一実施形態においては、使用可能にするステップは、複数の構成のうちの同じものを、クラスタの中の各データ処理ノードに対して割り付けられたリード・オンリー構成として使用可能にするステップを含んでいる。
【００２６】
一実施形態においては、使用可能にするステップは、クラスタ制御装置からクラスタの中の各データ処理ノードへと構成の少なくとも一部分を転送することにより、割り付けられたリード・オンリー構成を使用可能にするステップを含んでいる。
【００２７】
一実施形態においては、各構成は、ディスク・イメージを含んでいる。
【００２８】
一実施形態においては、各構成は、組み合わされたオペレーティング・システムと、少なくとも１つのアプリケーションとのディスク・イメージを含んでいる。
【００２９】
一実施形態においては、本方法は、クラスタの中の各データ処理ノードのローカル・ディスクとして、クラスタ制御装置の上にディスク・イメージをマウントするステップを含んでいる。
【００３０】
一実施形態においては、本方法は、クラスタの中の各データ処理ノードのブート・ディスクとして、クラスタ制御装置の上にディスク・イメージをマウントするステップを含んでいる。
【００３１】
一実施形態においては、割り付けるステップは、クラスタ制御装置と、データ処理ノードと、集中型のストレージとのうちの少なくとも１つにリード／ライトのストレージ・エリアを位置づけるステップを含んでいる。
【００３２】
一実施形態においては、割り付けるステップは、ファイル・システム・オーバーレイと、ユニオン・マウントとのうちの少なくとも１つとしてリード／ライトのストレージ・エリアをマウントするステップを含んでいる。
【００３３】
一実施形態においては、割り付けるステップは、ディスク・イメージのルート・ディレクトリの上のファイル・システム・オーバーレイとして、リード／ライトのストレージ・エリアをマウントするステップを含んでいる。
【００３４】
一実施形態においては、割り付けるステップは、ファイル・システム・オーバーレイの修正されたファイルが、対応するディスク・イメージ・ファイルに優先してアクセスされることを可能にするように、ファイル・システム・オーバーレイにディスク・イメージよりも高い優先順位を割り付けるステップを含んでいる。
【００３５】
一実施形態においては、割り付けるステップは、各データ処理ノードにリード／ライトのストレージ・エリアを位置づけるステップを含んでおり、本方法は、非アクティブ化と、再構成とのうちの一方を実行するように指示されるときに、リード／ライトのストレージ・エリアのコンテンツを集中型のストレージへと転送するステップを含んでいる。
【００３６】
一実施形態においては、本方法は、構成を用いてリブートするようにデータ処理ノードのクラスタに指示するステップを含んでいる。
【００３７】
一実施形態においては、本方法は、異なる構成を用いてリブートするようにデータ処理ノードのクラスタの異なるグループに指示するステップを含んでいる。上記および下記で述べられる特徴のうちの各々は、そのようなグループによって使用され得ることが、理解されるであろう。
【００３８】
一実施形態においては、本方法は、そのような変更についての要求に応じて、クラスタの中のデータ処理ノードの数を変更するステップを含んでいる。
【００３９】
一実施形態においては、本方法は、電源投入と、シャットダウンとのうちの一方を実行するように、データ処理ノードのクラスタに指示するステップを含んでいる。
【００４０】
一実施形態においては、本方法は、各データ処理ノードに固有の識別子を割り付けるステップを含んでいる。
【００４１】
一実施形態においては、本方法は、媒体アクセス制御アドレスに関連する各データ処理ノードに基づいて、固有の識別子を決定するステップを含んでいる。
【００４２】
第３の態様によれば、複数の構成を記憶するように動作可能なストレージと、複数の構成のうちの１つを、クラスタの中の各データ処理ノードに対して割り付けられたリード・オンリー構成として使用可能にするようにデータ処理ノードのクラスタと協力し、また起動に続いてそのデータ処理ノードのオペレーション中に利用されるべきデータにアクセスするためにクラスタの中のデータ処理ノードごとにリード／ライトのストレージ・エリアを割り付けるように動作可能な協力ロジックとを備えている、データ処理ネットワークのためのクラスタ制御装置が、提供されている。
【００４３】
一実施形態においては、協力ロジックは、複数の構成のうちの同じ１つを、クラスタの中の各データ処理ノードに対して割り付けられたリード・オンリー構成として使用可能にするよう協力するように動作可能である。
【００４４】
一実施形態においては、協力ロジックは、クラスタ制御装置からクラスタの中の各データ処理ノードへと構成の少なくとも一部分を転送することにより、割り付けられたリード・オンリー構成を使用可能にするよう協力するように動作可能である。
【００４５】
一実施形態においては、各構成は、ディスク・イメージを含んでいる。
【００４６】
一実施形態においては、各構成は、組み合わされたオペレーティング・システムと、少なくとも１つのアプリケーションとについてのディスク・イメージを含んでいる。
【００４７】
一実施形態においては、リード／ライトのストレージ・エリアは、クラスタ制御装置と、データ処理ノードと、集中型のストレージとのうちの少なくとも１つに位置している。
【００４８】
一実施形態においては、クラスタ制御装置は、構成を用いてリブートするように、データ処理ノードのクラスタに指示するように動作可能な命令ロジックを備えている。
【００４９】
一実施形態においては、クラスタ制御装置は、異なる構成を用いてリブートするように、データ処理ノードのクラスタの異なるグループに指示するように動作可能な命令ロジックを備えている。上記および下記で述べられる特徴のうちの各々は、そのようなグループによって使用され得ることが、理解されるであろう。
【００５０】
一実施形態においては、クラスタ制御装置は、そのような変更についての要求に応じて、クラスタの中のデータ処理ノードの数を変更するように動作可能な命令ロジックを備えている。
【００５１】
一実施形態においては、クラスタ制御装置は、電源投入と、シャットダウンとのうちの一方を実行するように、データ処理ノードのクラスタに指示するように動作可能な命令ロジックを備えている。
【００５２】
一実施形態においては、クラスタ制御装置は、各データ処理ノードに固有の識別子を割り付けるように動作可能な命令ロジックを備えている。
【００５３】
一実施形態においては、固有の識別子は、媒体アクセス制御アドレスに関連する各データ処理ノードに基づいて決定される。
【００５４】
第４の態様によれば、複数の構成を記憶するステップと、クラスタの中の各データ処理ノードに対して、割り付けられたリード・オンリー構成として、複数の構成のうちの１つを使用可能にするように、データ処理ノードのクラスタと協力するステップと、起動に続いてそのデータ処理ノードのオペレーション中に利用されるべきデータにアクセスするために、クラスタの中のデータ処理ノードごとに、リード／ライトのストレージ・エリアを割り付けるステップとを含むクラスタ制御装置の方法が、提供されている。
【００５５】
一実施形態においては、協力するステップは、クラスタの中の各データ処理ノードに対して、割り付けられたリード・オンリー構成として、複数の構成のうちの同じ１つを使用可能にするステップを含んでいる。
【００５６】
一実施形態においては、協力するステップは、クラスタ制御装置からクラスタの中の各データ処理ノードへと構成の少なくとも一部分を転送することにより、割り付けられたリード・オンリー構成を使用可能にするステップを含んでいる。
【００５７】
一実施形態においては、各構成は、ディスク・イメージを含んでいる。
【００５８】
一実施形態においては、各構成は、組み合わされたオペレーティング・システムと、少なくとも１つのアプリケーションとについてのディスク・イメージを含んでいる。
【００５９】
一実施形態においては、本方法は、クラスタ制御装置と、データ処理ノードと、集中型のストレージとのうちの少なくとも１つにリード／ライトのストレージ・エリアを位置づけるステップを含んでいる。
【００６０】
一実施形態においては、本方法は、構成を用いてリブートするように、データ処理ノードのクラスタに指示するステップを含んでいる。
【００６１】
一実施形態においては、本方法は、異なる構成を用いてリブートするように、データ処理ノードのクラスタの異なるグループに指示するステップを含んでいる。上記および下記で述べられる特徴のうちの各々は、そのようなグループによって使用され得ることが、理解されるであろう。
【００６２】
一実施形態においては、本方法は、そのような変更についての要求に応じて、クラスタの中のデータ処理ノードの数を変更するステップを含んでいる。
【００６３】
一実施形態においては、本方法は、電源投入と、シャットダウンとのうちの一方を実行するように、データ処理ノードのクラスタに指示するステップを含んでいる。
【００６４】
一実施形態においては、本方法は、各データ処理ノードに固有の識別子を割り付けるステップを含んでいる。
【００６５】
一実施形態においては、固有の識別子は、媒体アクセス制御アドレスに関連する各データ処理ノードに基づいて決定される。
【００６６】
第５の態様によれば、クラスタ制御装置によって記憶される複数の構成のうちの１つを、割り付けられたリード・オンリー構成として使用可能にするようにクラスタ制御装置と協力するように動作可能な協力ロジックと、構成を使用して起動するように動作可能な起動ロジックとを備えているデータ処理ネットワークのためのデータ処理ノードが提供され、その協力ロジックは、さらに、起動に続いてオペレーション中に利用されるべきデータにアクセスするために、リード／ライトのストレージ・エリアを割り付けるよう協力するように動作可能である。
【００６７】
一実施形態においては、協力ロジックは、複数の構成のうちの同じ１つを、割り付けられたリード・オンリー構成として使用可能にするよう協力するように動作可能である。
【００６８】
一実施形態においては、協力ロジックは、クラスタ制御装置から構成の少なくとも一部分を受信することにより、割り付けられたリード・オンリー構成を使用可能にするよう協力するように動作可能である。
【００６９】
一実施形態においては、各構成は、ディスク・イメージを含んでいる。
【００７０】
一実施形態においては、各構成は、組み合わされたオペレーティング・システムと、少なくとも１つのアプリケーションとについてのディスク・イメージを含んでいる。
【００７１】
一実施形態においては、協力ロジックは、ローカル・ディスクとしてディスク・イメージをマウントするように動作可能である。
【００７２】
一実施形態においては、協力ロジックは、ブート・ディスクとしてディスク・イメージをマウントするよう協力するように動作可能である。
【００７３】
一実施形態においては、リード／ライトのストレージ・エリアは、クラスタ制御装置と、データ処理ノードと、集中型のストレージとのうちの少なくとも１つに位置している。
【００７４】
一実施形態においては、協力ロジックは、ファイル・システム・オーバーレイと、ユニオン・マウントとのうちの少なくとも一方として、リード／ライトのストレージ・エリアをマウントするように動作可能である。
【００７５】
一実施形態においては、協力ロジックは、ディスク・イメージのルート・ディレクトリの上に、ファイル・システム・オーバーレイとして、リード／ライトのストレージ・エリアをマウントするように動作可能である。
【００７６】
一実施形態においては、協力ロジックは、ファイル・システム・オーバーレイの修正されたファイルが、対応するディスク・イメージ・ファイルに優先してアクセスされることを可能にするように、ファイル・システム・オーバーレイにディスク・イメージよりも高い優先順位を割り付けるように動作可能である。
【００７７】
一実施形態においては、リード／ライトのストレージ・エリアは、データ処理ノードに位置しており、また協力ロジックは、非アクティブ化と、再構成とのうちの一方を実行するように指示されるときに、リード／ライトのストレージ・エリアのコンテンツを集中型のストレージに対して転送するように動作可能である。
【００７８】
一実施形態においては、起動ロジックは、クラスタ制御装置からの命令に応じて、構成を用いてリブートするように動作可能である。
【００７９】
一実施形態においては、起動ロジックは、クラスタ制御装置からの命令に応じて、電源投入と、シャットダウンとのうちの一方を実行するように動作可能である。
【００８０】
一実施形態においては、協力ロジックは、固有の識別子を割り付けるように動作可能である。
【００８１】
一実施形態においては、固有の識別子は、媒体アクセス制御アドレスに関連するデータ処理ノードに基づいて決定される。
【００８２】
第６の態様によれば、割り付けられたリード・オンリー構成として、クラスタ制御装置によって記憶される複数の構成のうちの１つを使用可能にするようにクラスタ制御装置と協力するステップと、構成を使用して起動するステップと、起動に続いてオペレーション中に利用されるべきデータにアクセスするためにリード／ライトのストレージ・エリアを割り付けるステップとを含むデータ処理ノードの方法が、提供されている。
【００８３】
一実施形態においては、協力するステップは、割り付けられたリード・オンリー構成として、複数の構成のうちの同じ１つを使用可能にするステップを含んでいる。
【００８４】
一実施形態においては、協力するステップは、クラスタ制御装置から構成の少なくとも一部分を受信することにより、割り付けられたリード・オンリー構成を使用可能にするステップを含んでいる。
【００８５】
一実施形態においては、各構成は、ディスク・イメージを含んでいる。
【００８６】
一実施形態においては、各構成は、組み合わされたオペレーティング・システムと、少なくとも１つのアプリケーションとについてのディスク・イメージを含んでいる。
【００８７】
一実施形態においては、協力するステップは、ローカル・ディスクとしてディスク・イメージをマウントするステップを含んでいる。
【００８８】
一実施形態においては、協力するステップは、ブート・ディスクとしてディスク・イメージをマウントするステップを含んでいる。
【００８９】
一実施形態においては、リード／ライトのストレージ・エリアは、クラスタ制御装置と、データ処理ノードと、集中型のストレージとのうちの少なくとも１つに位置している。
【００９０】
一実施形態においては、協力するステップは、ファイル・システム・オーバーレイと、ユニオン・マウントとのうちの少なくとも１つとして、リード／ライトのストレージ・エリアをマウントするステップを含んでいる。
【００９１】
一実施形態においては、協力するステップは、ディスク・イメージのルート・ディレクトリの上に、ファイル・システム・オーバーレイとしてリード／ライトのストレージ・エリアをマウントするステップを含んでいる。
【００９２】
一実施形態においては、協力するステップは、対応するディスク・イメージ・ファイルに優先して、ファイル・システム・オーバーレイの修正されたファイルが、アクセスされることを可能にするように、ファイル・システム・オーバーレイにディスク・イメージよりも高い優先順位を割り付けるステップを含んでいる。
【００９３】
一実施形態においては、リード／ライトのストレージ・エリアは、データ処理ノードに位置しており、またそこでは、協力するステップは、非アクティブ化と、再構成とのうちの一方を実行するように指示されるときに、集中型のストレージに対してリード／ライトのストレージ・エリアのコンテンツを転送するステップを含んでいる。
【００９４】
一実施形態においては、起動するステップは、クラスタ制御装置からの命令に応じて構成を用いてリブートするステップを含んでいる。
【００９５】
一実施形態においては、本方法は、クラスタ制御装置からの命令に応じて、電源投入と、シャットダウンとのうちの一方を実行するステップを含んでいる。
【００９６】
一実施形態においては、本方法は、固有の識別子を割り付けるステップを含んでいる。
【００９７】
一実施形態においては、固有の識別子は、媒体アクセス制御アドレスに関連するデータ処理ノードに基づいて決定される。
【００９８】
第７の態様によれば、コンピュータの上で実行されるときに、第２の態様、第４の態様、または第６の態様の方法ステップを実行するように動作可能なコンピュータ・プログラム製品が、提供されている。
【００９９】
さらに、特定の態様と、好ましい態様とは、添付の独立請求項と、従属請求項において示される。従属請求項の特徴は、必要に応じて独立請求項の特徴と組み合わされ、また特許請求の範囲の中で明示的に示されるこれらの特徴以外と組み合わされることもある。
【０１００】
装置の特徴が、ある機能を提供するように動作可能であるように説明されている場合には、これは、その機能を提供し、あるいはその機能を提供するように適合され、または構成されている、装置の特徴を含んでいることが、理解されるであろう。
【０１０１】
本発明の実施形態が、次に、添付の図面を参照して、さらに説明されるであろう。
【図面の簡単な説明】
【０１０２】
【図１】一実施形態によるＭＵＰＵＣ（多目的クラスタ（ＭＵｌｔｉ−ＰＵｒｐｏｓｅ  Ｃｌｕｓｔｅｒ））のＨＰＣクラスタを示す図である。
【発明を実施するための形態】
【０１０３】
概説
より詳細に実施形態を考察する前に、最初に、概説が提供されるであろう。実施形態は、クラスタの内部に、データ処理ノードを割り付け、割り付けを外し、かつ／または再構成することができる集中型のクラスタ制御装置が、提供される場合の構成を提供している。とりわけ、クラスタ制御装置は、いくつかの異なる構成を記憶し、これらの構成のうちの任意のものが、クラスタ内のあらゆるデータ処理ノード、またはクラスタ内のグループに対して提供されることもある。これらの構成のうちの各々は、例えば、特定のオペレーティング・システム、および／または１つまたは複数のアプリケーションを含むことができる。これらの構成のうちの１つが、いくつかのデータ処理ノードを提供すべき、ユーザからの要求に応じて、クラスタまたはグループ内のあらゆるデータ処理ノードに対して割り付けられ、これらのデータ処理ノードのうちの各々は、その構成を有している。ひとたびデータ処理ノードが、クラスタに割り付けられており、またクラスタ制御装置が、各データ処理ノードを構成した後に、データ処理ノードは、次いで、その構成を使用して起動することができる。これは、ユーザによる要求に応じて、いくつかのデータ処理ノードが各々、同じ構成で起動されることを可能にする。構成をリード・オンリーにすることにより、データ処理ノードによって行われる任意の変更は、クラスタ制御装置によって提供される構成に影響を及ぼすことはない。データが、データ処理ノードのオペレーション中に生成され、また記憶されることを可能にするために、リード／ライトのストレージ・エリアは、そのデータが、読み取られ、かつ／または書き込まれ得るエリアの中へと提供される。これは、柔軟な構成を提供する。
【０１０４】
ネットワークの概説
実施形態は、十分に再構成可能な高性能コンピューティング（ＨＰＣ）の問題解決手法を有するが、仮想化された環境によって指示される制約条件を課すことのない利点を得ることを可能にしようとする一構成を提供している。とりわけ、実施形態は、クラスタ制御装置をクラスタ・システムのセットアップの中に導入するＨａａＳ（サービスとしてのＨＰＣ（ＨＰＣ−ａｓ−ａ−Ｓｅｒｖｉｃｅ））を提供している。パラレル・ツー・クラウド・ベースの（ｐａｒａｌｌｅｌ  ｔｏ  ｃｌｏｕｄ−ｂａｓｅｄ）構成を引き出すために、クラスタ制御装置は、クラスタの中の残りのノードのためにある種のハイパーバイザとしての機能を果たす特別なノードである。しかしながら、ＨＰＣソフトウェアが、性能の観点でもたらされるすべての利点を有するクラスタ・ノード（「クラスタ・ノード」は、クラスタ制御装置として動作することはない、クラスタの中のノードである）のハードウェアの上で直接に実行されるので、仮想化のレイヤは、導入されていない。クラスタ制御装置は、単に、オーケストレータ（ｏｒｃｈｅｓｔｒａｔｏｒ）としての機能を果たし、また必ずしもクラスタ・ノードによって行われる計算に参加するものとは限らない。
【０１０５】
クラスタ制御装置
クラスタ制御装置は、それらが、オンに切り替わる必要があるか、またはオフに切り替わる必要があるか、あるいはリブートする必要があるかなど、それらの低レベルの機能をそれが、管理することを可能にするクラスタ・ノードに対するインターフェース（例えば、インテリジェント・プラットフォーム管理インターフェース（ＩＰＭＩ：Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎａｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）または何らかのカスタム・ソフトウェア）を使用する。さらに、クラスタ制御装置は、各々が構成のうちの１つを保持するシステム・イメージのリポジトリを、クラスタ・ユーザが要求することができるように保持する。各システム・イメージは、重要な区別を有する、ＨａａＳのパラレル・ツー仮想マシン・イメージとして考えられる可能性があるが、しかしながら、その１つのイメージだけが、一時に、ノードの上でアクティブになる可能性がある。ユーザが、ある種の構成を要求するときに、クラスタ制御装置は、その管理ツールを使用して、クラスタの中の任意数のノードにその構成で電源投入するように指示する。
【０１０６】
クラスタ制御装置の上に存在しているシステム・イメージを有することは、クラウド・ベースのシステムから知られているインストール・ワンスの展開多数の機能（ｉｎｓｔａｌｌ−ｏｎｃｅ−ｄｅｐｌｏｙ−ｍａｎｙ  ｆｕｎｃｔｉｏｎａｌｉｔｙ）を提供する。しかしながら、それ自体により、この構成は、重大な欠点を有しており、第１に、クラスタ制御装置の上に存在するイメージとして、ノードは、ネットワークにマウントされたファイル・システムによってそれらにアクセスする必要がある。そのようなファイル・システムの性能は、通常、ローカル・ディスクのファイル・システムの性能よりも遥かに低い。第２に、複数のノードに、単一のイメージを共用させることは、ノードが、ファイル・システムにデータを書き込む必要があるときに、問題を引き起こすであろう。クラウド・システムからもたらされるべき望ましい分離品質が、それゆえに、失われる。
【０１０７】
したがって、実施形態は、ユーザが、各ノードの上で、ローカルにデータをトランスペアレントに、記憶し、修正し、また削除することを可能にするカスタム分割スキームと、イメージ・リポジトリのネットワーク・ブート・プロシージャを組み合わせる。
【０１０８】
それに応じて、実施形態は、固有の共用可能なシステム・イメージ・インストレーション・ポイントと、永続的なデータからのシステム・イメージの明瞭な分離と、特定のブートするノードの自動的な識別と、ランタイムに動的に具体的に各ノードを読み取り、また再構成することができるパラメータ化されたブート・ローダと、簡単な構成切り替え器とを提供する。
【０１０９】
システム・イメージ
固有のシステム・イメージの機能は、クラスタの中のすべてのノードのうちの共用されたオペレーティング・システム・イメージの生成を可能にすることである。この機能は、多くの利点を有している。例えば、これは、必ずしも各ノードの上にシステムをインストールする必要があるものとは限らずに、ノードの数について切り替えできることを可能にする。数百個のノードを有する大きなクラスタにおいてさえも、または新しいマシンが、クラスタに追加されるときに、唯一の必要なオペレーションは、クラスタ制御装置の上に記憶されるシステム・イメージにアクセスするように、マシンを構成することであり、またシステムは、機能環境へとブートすることができるようになる。ここでの技術的困難さは、どのようにして、整合した状態にシステムを保持するかである。とりわけ、多数のノードが、同じ共用されたシステム分割を使用する場合、そのときには、ファイル・システムは、異なるクライアントによる非常に多数のランタイムの書込みアクセスに起因して一貫性のないものになることになる。そのような問題を回避するために、システム・インストレーションを含み、また共用するディスク分割は、実行全体を通して不変の状態を保持するリード・オンリー・ディスクとして提示される。
【０１１０】
書込み可能なストレージ
実施形態はまた、それゆえに、オペレーティング・システム・ソフトウェアに対するどのような修正もなしに、クラスタが、一貫するように実行され得る書込み可能なストレージを各ノードに提供してもいる。ディスクの書込み可能な部分は、それが、同時に、古典的なファイル・システム・パスに対するどのような修正もなしに、読取り可能な分割に対して直接アクセスを提供するやり方で、マウントされる。
【０１１１】
実施形態においては、ＨａａＳシステムの上のデータは、２つのカテゴリへの、すなわち、アプリケーション・イメージと、データセット構成オーバーレイ（または、略してオーバーレイ）とへの厳密な分割を忠実に守る。オーバーレイは、ユーザが、それらのデータセット、追加のプログラム、または彼らが、彼らのアプリケーションを実行するために必要とするものなら何でも記憶するために与えられる変わりやすいサンドボックスである。各オーバーレイは、他のオーバーレイからも、またどのようなアプリケーション・イメージからも完全に独立している。それゆえに、どのようなオーバーレイも、システムの上で、アプリケーション・イメージのどれかと一緒に使用される可能性があり、また有用な状態または健全な状態にそれを保持することは、オーバーレイの所有者次第である。
【０１１２】
実際に、ＨａａＳオーバーレイが、まさしく、ノードがブートされたアプリケーション・イメージの最上部にトランスペアレントに重ねられたファイル・システムであるので、モニカ・オーバーレイ（ｍｏｎｉｋｅｒ  ｏｖｅｒｌａｙ）が、意図的に選択される。それゆえに、オーバーレイは、データベースの世界において、実際のデータセットと混同されるべきではなく、また例えば、仮想マシンから知られているように、オペレーティング・システム・スナップショットと混同されるべきでもない。オーバーレイが、（ノードが、オーバーレイを用いてブートされているときに）生成され、またアクティブにされているときに、ＨａａＳユーザが行うあらゆることが、その特定のオーバーレイの中のディスクの上に直接に記憶される。それゆえに、それが自動的に起こるワークを保存するために、システムの「スナップショット」を要求する必要は存在しておらず、また保存されたものは何でも、オーバーレイが、アクティブにされる次の時に使用可能になるであろう。
【０１１３】
オーバーレイは、全体のファイル・システムの最上部の上に重ね合わされるので、ユーザは、アプリケーションをアップデートし、新しいアプリケーションをインストールし、またはアプリケーション・イメージそれ自体に実際には影響を及ぼすことなしに、アプリケーション・イメージからのデータを削除することさえもできる。この意味において、オーバーレイを個人的なサンドボックスとして考えることが、正確な類推である。
【０１１４】
オーバーレイは、クラスタ制御装置によってサービスされるアプリケーション・イメージの最上部の上に重ね合わされるノードのディスクの上のデータを表すので、オーバーレイは、各ノードの上で異なるデータを含むことになる。このようにして、オーバーレイは、ノード１が、分散型のコンピューティング・システムについてのマスタ・ノードとしての機能を果たすように構成されており、またノード４が、ノード１についてのフォールバックである場合に生成されることもある。この構成は、次いで、次にオーバーレイが、アクティブにされるときに、存続することになり、またそれらのノードのうちの各々は、構成が行われたときにそれが存在した同じ状態に留まることになる。
【０１１５】
固有の識別子
実施形態は、クラスタ・ノードごとに、ブート時間に認識可能な固有の識別情報を提供する。ブート時間において、各々の単一のマシンを明瞭に区別することが、重要であり、そうでなければ、システム・イメージを含む同じ物理ディスクを共用する結果は、全部のノードまたは一部のノードが、同じインターネット・プロトコル（ＩＰ：ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）のアドレスおよび名前を有して、使用できないクラスタをもたらすことになることが、理解されるであろう。それゆえに、システムを利用可能にするために、固有の識別子が、ノードごとに自動的に取得され、その結果、それは、ブート時間において、直接に使用可能である。一実施形態（下記で説明される）においては、特定のスクリプトは、ブートするマシンの、また特定のあらかじめ満たされたファイルから読み取るＭＡＣアドレスを取得し、それらがシステム・セットアップによって読み取られる前に、標準のブート・ローダ構成ファイルをオンザフライで修正する。
【０１１６】
クラスタ制御装置は、ランタイムに動的に正しいコマンド・パラメータを用いてノードのブート構成を変更することにより望ましい値を設定することを可能にするカスタム・ツールを通して、望ましいシステム・イメージと、データセット・オーバーレイとが、ブート時間にロードされるように設定する。
【０１１７】
実施形態は、容易に再構成可能なシステムを提供する簡単な１ステップのアクションで、ある構成から、別の構成へと切り替わるユーザに対して能力を提供する多目的クラスタを提供している。また、クラスタの中のノードは、異なるグループへと分割されることもあり、また各グループは、別々に構成されていることもあり、それによって、事実上、複数の異なるクラスタを同時に提供している。
【０１１８】
例示の実装形態
図１は、一実施形態によるＭＵＰＵＣ（多目的クラスタ）のＨＰＣクラスタを示すものである。インターネット・スモール・コンピュータ・システム・インターフェースｉＳＣＳＩと、オーバーレイ・ファイル・システムとの使用は、システム・イメージと、アプリケーション／ノードの構成およびデータとの間の正しいレベルの分離を取得する。
【０１１９】
ｉＳＣＳＩは、データ・ストレージ設備をリンクするためのＩＰベースのストレージ・ネットワーキング規格であることが、理解されるであろう。ＩＰネットワークの上で、ＳＣＳＩコマンドを搬送することにより、ｉＳＣＳＩは、イントラネットの上でのデータ転送を容易にし、また長い距離の上でさえもストレージを管理するために、使用される。プロトコルにより、クライアント（イニシエータと呼ばれる）は、リモート・サーバの上のＳＣＳＩストレージ・デバイス（ターゲット）に対してＳＣＳＩコマンド（ＣＤＢ）を送信することができるようになる。それは、ローカルにアタッチされたディスクについての錯覚をホスト（データベースやウェブ・サーバなど）に提供しながら、組織が、ストレージをデータ・センタ・ストレージ・アレイへと統合することを可能にするストレージ・エリア・ネットワーク（ＳＡＮ：ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）プロトコルである。特殊目的のケーブリングを必要とする従来のファイバ・チャネルとは違って、ｉＳＣＳＩは、既存のネットワーク・インフラストラクチャを使用して、長い距離の上で、実行される可能性がある。
【０１２０】
オーバーレイ・ファイル・システム（ＯＦＳ）は、他のファイル・システムのためにユニオン・マウントを実装するリナックス（Ｌｉｎｕｘ）のためのファイル・システム・サービスである。それは、ファイルと、ブランチとして知られている別個のファイル・システムのディレクトリとが、トランスペアレントにオーバーレイされることを可能にしており、単一のコヒーレントなファイル・システムを形成している。マージされたブランチの内部に同じパスを有するディレクトリのコンテンツは、新しい、仮想ファイル・システム内の単一のマージされたディレクトリの中で一緒に見られるであろう。ブランチをマウントするときに、一方のブランチの他方に優る優先順位が、指定される。そのようにして、両方のブランチが、同じ名前を有するファイルを含んでいるときに、一方は、他方に優る優先順位を獲得する。異なるブランチは、リード・オンリー・ファイル・システムと、リード・ライト・ファイル・システムとの両方とすることができ、その結果、仮想的な、マージされたコピーに対する書込みは、特定の実際のファイル・システムに対して向けられるようになる。これは、ファイル・システムが、書込み可能として見えることを可能にするが、実際には書込みが、コピー・オン・ライト（ｃｏｐｙ−ｏｎ−ｗｒｉｔｅ）としても知られているファイル・システムを変更することを可能にしてはいない。この特徴が、ＭＵＰＵＣにおいて高度に使用されて、一方では、永続的なデータ・ストレージから、上記で示されるｉＳＣＳＩ機能によって管理されるシステム・イメージを物理的に分離し、また他方では、必要とされる場合に、ノードごとにより微細な粒度の細かい構成を可能にしている。
【０１２１】
システム・セットアップ
ＭＵＰＵＣは、現在では、１つのクラスタ制御装置ノードと、４つのワーカー・ノードとから構成されるが、任意の数のワーカー・ノードが、提供され得ることが、理解されるであろう。クラスタ制御装置は、システム・イメージのその収集物をｉＳＣＳＩターゲットとして保持しており、またワーカー・ノードは、これらのターゲットからネットワーク・ブートを実行することができる。クラスタ制御装置の上のすべてのｉＳＣＳＩターゲットは、リード・オンリー・ディスクとして提示され、これは、それらの各々を１つのシステム・イメージについての変えることのできないコンテナにする。ワーカー・ノードは、システムをオンラインにするときに、しかしながら、それらは、何らかのリード・ライト・ストレージ（ログ・ファイル、アプリケーション・データ、システム・ファイルなどのための）を必要とする。これは、ローカル・ディスク・ストレージが、ワーカー・ノードの上のリード・オンリー・ネットワーク・ファイル・システムの最上部の上にトランスペアレントにマウントされるオーバーレイ・ファイル・システムを使用することにより、達成される。
【０１２２】
ワーカー・ノード・ユーザによって見られるようなファイル・システムは、それゆえに、クラスタ制御装置からサービスされるリード・オンリーのｉＳＣＳＩディスク・イメージと、ユーザがイメージに対して行っているすべての修正を保持する永続的なオーバーレイとの組合せである。オーバーレイは、一般的には、ローカルにアタッチされたディスクからサービスされ、またそれゆえに、修正が行われたノードに対してローカルである。
【０１２３】
ブート・ターゲット・マネージャは、ＭＵＰＵＣシステムの簡単な再構成を可能にするクラスタ制御装置の特別なＭＵＰＵＣツールである。ワーカー・ノードのブート・パラメータを操作することにより、それは、所与のシステム・イメージをブート・オフし、またその最上部の上に、所与のオーバーレイをマウントするように、それらの各々に指示することができる。
【０１２４】
これらのブート・パラメータは、ワーカー・ノードの上にロードされるオペレーティング・システム・カーネルに対して渡され、またスタートアップ中にワーカー・ノードによって検出される。別のＭＵＰＵＣツール（スタートアップ・マネージャ）は、クラスタ・ユーザが、それらのノードに到達することができる前に、これらのパラメータが、有効にされることを確実にする。
【０１２５】
ＭＵＰＵＣシステムの中で発行されるカーネル・パラメータの一例：
ｆｒｆｒａｎｃｋ＠ｎｏｄｅｓ２：〜＄  ｃａｔ／ｐｒｏｃ／ｃｍｄｌｉｎｅ
ＢＯＯＴ＿ＩＭＡＧＥ＝／ｖｍｌｉｎｕｚ−３．２．０−２３−ｇｅｎｅｒｉｃ  ｒｏｏｔ＝／ｄｅｖ／ｓｄｂ１  ｒｏ  ｔｅｘｔｏｎｌｙ  ｎｏｍｏｄｅｓｅｔ
ｉｐ＝ｃｌｕｓｔｅｒ
ｉｓｃｓｉ＿ｔａｒｇｅｔ＿ｎａｍｅ＝ｉｑｎ．２０１２−０８．ｃｏｍ．ｂｅｌｌ−ｌａｂｓ．ｍｕｐｕｃ：ｎｏｄｅ−ｄｅｆａｕｌｔ  ｏｖｅｒｌａｙ＝
【０１２６】
すべてのこれは、ノードの上のネットワーキング・ハードウェアを特定のネットワーク構成に対してマッピングするシステム・イメージを用いて展開される単一の構成ファイルに起因して、可能である。その構成は、ひいては、ＭＵＰＵＣシステムが、各ノードの上で要求された構成を展開することを可能にする。
【０１２７】
ＭＵＰＵＣシステムの上で使用される構成ファイルの一例：
ｒｏｏｔ＠ｃｏｎｔｒｏｌｌｅｒ：〜／ｓｃｒｉｐｔｓ＃  ｍｏｒｅ  ／ｍｎｔ／ａｄｍｉｎｉｓｔｒａｔｉｖｉａ／ｅｔｃ／ｍｕｐｕｃ／ｃｌｕｓｔｅｒ＿ｅｔｈｅｒｓ
＃  Ｅｔｈｅｒｎｅｔ  ＭＡＣ  ＃ＩＰ  ａｄｄｒｅｓｓ／ｓｕｂｎｅｔ  ｍａｓｋ  ＃Ｓｅｒｖｅｒ  ＩＰ  ＃  ｎｏｄｅ  ｈｏｓｔｎａｍｅ
＃  ｃｌｕｓｔｅｒ  ｎｏｄｅｓ  １−４
ｅ４：１ｆ：１３：８０：ｃ４：ｆ９  １７２．１６．２００．１０１／２５５．２５５．２５５．０  １７２．１６．２００．１  ｎｏｄｅ１
ｅ４：１ｆ：１３：８０：ｃ９：ｆ７  １７２．１６．２００．１０２／２５５．２５５．２５５．０  １７２．１６．２００．１  ｎｏｄｅ２
ｅ４：１ｆ：１３：８０：ｃｂ：９５  １７２．１６．２００．１０３／２５５．２５５．２５５．０  １７２．１６．２００．１  ｎｏｄｅ３
ｅ４：１ｆ：１３：８０：ｃｂ：ｄｄ  １７２．１６．２００．１０４／２５５．２５５．２５５．０  １７２．１６．２００．１  ｎｏｄｅ４
【０１２８】
クラスタに追加されるべきノードに対応するデータでこのファイルを満たすことは、手動で行われる必要がある１ステップだけのアクションを表しており、すべての残りは、動的に、また自動的に取り扱われる。
【０１２９】
実施形態は、真の高性能コンピューティングが、見ているユーザが、ＨＰＣシステムを展開するための、最小の管理的オーバーヘッドと、最大の柔軟性との組合せを提供するＩａａＳシナリオにおいて展開されることを可能にしている。
【０１３０】
加えて、システムの動的な、再構成可能な性質は、それらが、使用中でなくて、また自動的にオンデマンドで電源投入され、ＩａａＳオペレータに対して電力節約の利点を提供しているときに、ノードが、完全に電源をオフにされることを可能にしている。
【０１３１】
このアプローチは、以下を含めて、非常に多数の利点を有している。
・再構成可能性−ＭＵＰＵＣクラスタは、実験のすべてのやり方のために使用される可能性があり、また１つの構成から別の構成へと非常に簡単に切り替えられる可能性がある。これは、クラスタ・ハードウェアが、それがその上にインストールされるソフトウェア・システムだけを用いて利用されることになるよりも遥かによく利用されることを意味している。
・性能−ＭＵＰＵＣノードは、仮想化レイヤを実行していないので、クラスタの上で実行されるソフトウェアと、ハードウェアとの間には、遠回りな方法（ｉｎｄｉｒｅｃｔｉｏｎ）は存在していない。これは、仮想化された問題解決手法よりも優れたかなりの性能の利点を提供している。享受されるまさにその利点は、クラスタの上で実行されるアプリケーションに依存しているが、基礎となるハードウェアに対するＨＰＣソフトウェアを最適化することができることは、最適化されなかったバージョンに対する性能改善の大きさの程度を簡単に提供することができる。
・分離可能性一システム・イメージの中でインストールされるソフトウェアは、別のイメージのソフトウェアと干渉する可能性はない。これは、他のユーザのアプリケーションに影響を及ぼすことについて悩む必要なしに、彼らが好むどのようなやり方でも、そのシステムを用いて実験すべき自由度をＭＵＰＵＣユーザに与える。これは、それが柔軟性を犠牲にすることなく、ＭＵＰＵＣを実行する管理的なオーバーヘッドを低く保持するので、メンテナンスの観点から望ましい。それはまた、それが、異なる顧客のデータを分離されたままに保持するので、ＩａａＳプロバイダのために、絶対に必要である。
【０１３２】
実施形態は、多数の利点をもたらす費用対効果のよい、また簡単な問題解決手法を提供する。ビッグ・データの問題解決手法、およびクラウド・コンピューティングの時代においては、実施形態は、多数の会社、生産環境と、研究所とにより、またＨＰＣプラットフォームに対するアドホック・アクセスを必要とするどのような環境においても一般に、採用される可能性がある。
【０１３３】
当業者なら、様々な上記で説明された方法のステップが、プログラムされたコンピュータによって実行され得ることを簡単に認識するであろう。本明細書においては、いくつかの実施形態はまた、マシン読取り可能であり、またはコンピュータ読取り可能であり、また命令のマシン実行可能な、またはコンピュータ実行可能なプログラムを符号化するプログラム・ストレージ・デバイス、例えば、デジタル・データ・ストレージ媒体を対象として含むことも意図しており、そこでは、前記命令は、前記の上記で説明された方法のステップのうちの一部または全部を実行する。プログラム・ストレージ・デバイスは、例えば、デジタル・メモリ、磁気ディスクや磁気テープなどの磁気ストレージ媒体、ハード・ドライブ、または光学的に読取り可能なデジタル・データ・ストレージ媒体とすることができる。それらの実施形態はまた、上記で説明された方法の前記ステップを実行するようにプログラムされるコンピュータを対象として含むことも意図している。
【０１３４】
「プロセッサ」または「ロジック」としてラベル付けされた任意の機能ブロックを含めて、図面の中に示される様々な要素についての機能は、専用のハードウェア、ならびに適切なソフトウェアと関連づけてソフトウェアを実行することができるハードウェアの使用を通して提供されてもよい。プロセッサによって提供されるときに、それらの機能は、単一の専用のプロセッサによって、単一の共用のプロセッサによって、またはそれらのうちのいくつかが共用され得る複数の個別のプロセッサによって提供されてもよい。さらに、「プロセッサ」または「コントローラ」、あるいは「ロジック」という用語の明示的な使用は、ソフトウェアを実行することができるハードウェアだけを排他的に意味するように解釈されるべきではなく、また限定することなく、デジタル信号プロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒ）のハードウェアと、ネットワーク・プロセッサと、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）と、フィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）と、ソフトウェアを記憶するためのリード・オンリー・メモリ（ＲＯＭ：ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ）と、ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）と、不揮発性ストレージとを暗黙のうちに含むことができる。他のハードウェアが、従来および／またはカスタムもまた、含められる可能性がある。同様に、図面の中に示される任意のスイッチは、概念的なものにすぎない。それらの機能は、プログラム・ロジックのオペレーションを通して、専用のロジックを通して、プログラム制御と専用のロジックとの相互作用を通して、または手動によってさえも、実行される可能性があり、特定の技法は、文脈からもっと具体的に理解されるように、実装者によって選択可能である。
【０１３５】
本明細書における任意のブロック図は、本発明の原理を具現化する実例となる回路の概念図を表すことが、当業者によって理解されるべきである。同様に、任意のフロー・チャートと、流れ図と、状態遷移図と、擬似コードなどとは、コンピュータ読取り可能媒体の形で実質的に表され、またそのようにしてコンピュータまたはプロセッサによって、そのようなコンピュータまたはプロセッサが明示的に示されているか否かにかかわらず、実行され得る様々なプロセスを表すことが、理解されるであろう。
【０１３６】
説明および図面は、単に本発明の原理を示しているにすぎない。したがって、当業者なら、本明細書において明示的に説明されても、または示されてもいないけれど、本発明の原理を具現化し、また本発明の趣旨および範囲の内部に含まれる様々な構成を工夫することができるようになることが理解されるであろう。さらに、本明細書において列挙されるすべての例は、主として、本発明者（単数または複数）が当技術を推進することに寄与している本発明の原理および概念を理解するに際して、読者を支援する教育上の目的のためにすぎないように明示的に意図され、またそのように具体的に列挙された例および状態だけに限定することのないように解釈されるべきである。さらに、本発明の原理、態様および実施形態を列挙している本明細書におけるすべての記述、ならびにその特定の例は、その同等物を包含することを意図している。
【図１】
2016531353.tif 000003
【国際調査報告】
2016531353.tif 000004
2016531353.tif 000005