(57)【要約】      （修正有）【課題】グリッドコンピューティング環境に特化されていない一般的なアプリケーションを用いた場合でも、グリッドコンピューティング環境として各種のハードウェア資源を有効に活用することができるようにする。【解決手段】他の計算機と接続されてグリッドコンピューティングによる処理が可能な計算機について、ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に、グリッドコンピューティングによる処理を実現させるグリッド用ソフトを備えるようにする。【選択図】図１
2009230673.tif 000002
【特許請求の範囲】
【請求項１】
他の計算機と接続されてグリッドコンピューティングによる処理が可能な計算機であって、
ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に、前記グリッドコンピューティングによる処理を実現させるグリッド用ソフトを備えたことを特徴とする計算機。
【請求項２】
前記グリッド用ソフトは、前記計算機および、接続された前記他の計算機に含まれるメモリをカーネルに認知させるグリッド間メモリ調停機能を少なくとも備え、
前記グリッド間メモリ調停機能は、メモリ確保要求に応じて、前記計算機の物理メモリに充分な余裕がある場合には該計算機にメモリ空間を確保し、前記計算機の物理メモリに充分な余裕がない場合には前記他の計算機にメモリ確保要求を行うことを特徴とする請求項１記載の計算機。
【請求項３】
前記グリッド間メモリ調停機能は、前記計算機または、接続された前記他の計算機にメモリ空間が確保されると、該確保されたメモリ空間に関する情報を上位階層のソフトウェアに通知することを特徴とする請求項２記載の計算機。
【請求項４】
前記グリッド用ソフトは、カーネル起動の際に、前記計算機および、接続された前記他の計算機に含まれるＣＰＵコアを該カーネルに認知させるグリッド間ＣＰＵ調停機能を少なくとも備えたことを特徴とする請求項１から３の何れか１項に記載の計算機。
【請求項５】
前記グリッド用ソフトは、前記計算機および、接続された前記他の計算機に含まれるハードディスクをカーネルに認知させるグリッド間ディスク調停機能を少なくとも備え、
前記グリッド間ディスク調停機能は、ハードディスクへのアクセス要求に応じて、予め定められたＲＡＩＤ方式により、前記計算機および、接続された前記他の計算機に含まれる各ハードディスクにアクセスすることを特徴とする請求項１から４の何れか１項に記載の計算機。
【請求項６】
請求項１から５の何れか１項に記載の計算機の複数が互いに接続され、グリッドコンピューティングによる処理が可能に構成されたことを特徴とする計算機システム。
【請求項７】
複数の計算機が接続されてグリッドコンピューティングによる処理が可能な計算機システムにおける分散処理方法であって、
アプリケーションによる処理を前記グリッドコンピューティングにより行う際、ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に設けられたグリッド用ソフトを用いて行うことを特徴とする分散処理方法。
【請求項８】
アプリケーションからメモリ確保要求が出された際、１つの計算機の物理メモリに充分な余裕がある場合には該計算機にメモリ空間を確保し、前記１つの計算機の物理メモリに充分な余裕がない場合には他の計算機にメモリ確保要求を行うことを特徴とする請求項７記載の分散処理方法。
【請求項９】
前記アプリケーションによるメモリ確保要求に応じてメモリ空間が確保されると、該確保されたメモリ空間に関する情報を前記グリッド用ソフトから上位階層のソフトウェアに通知することを特徴とする請求項８記載の分散処理方法。
【請求項１０】
カーネル起動の際に、前記計算機システムに含まれるＣＰＵコアを、前記グリッド用ソフトが該カーネルに認知させることを特徴とする請求項７から９の何れか１項に記載の分散処理方法。
【請求項１１】
アプリケーションからハードディスクへのアクセス要求が出された際、予め定められたＲＡＩＤ方式により、前記計算機システムに含まれる各ハードディスクにアクセスすることを特徴とする請求項７から１０の何れか１項に記載の分散処理方法。
【請求項１２】
他の計算機と接続されてグリッドコンピューティングによる処理が可能な計算機のプログラムであって、
ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に設けられたグリッド用ソフトにより、前記グリッドコンピューティングでのアプリケーションによる処理を前記計算機に実行させることを特徴とするプログラム。
【請求項１３】
アプリケーションからメモリ確保要求が出された際、前記計算機の物理メモリに充分な余裕がある場合には該計算機にメモリ空間を確保し、前記計算機の物理メモリに充分な余裕がない場合には前記他の計算機にメモリ確保要求を行う処理を前記計算機に実行させることを特徴とする請求項１２記載のプログラム。
【請求項１４】
前記アプリケーションによるメモリ確保要求に応じてメモリ空間が確保されると、該確保されたメモリ空間に関する情報を前記グリッド用ソフトから上位階層のソフトウェアに通知する処理を前記計算機に実行させることを特徴とする請求項１３記載のプログラム。
【請求項１５】
カーネル起動の際に、前記計算機および、接続された前記他の計算機に含まれるＣＰＵコアを、前記グリッド用ソフトが該カーネルに認知させる処理を前記計算機に実行させることを特徴とする請求項１２から１４の何れか１項に記載のプログラム。
【請求項１６】
アプリケーションからハードディスクへのアクセス要求が出された際、予め定められたＲＡＩＤ方式により、前記計算機システムに含まれる各ハードディスクにアクセスする処理を前記計算機に実行させることを特徴とする請求項１２から１５の何れか１項に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他の計算機と接続することでグリッドコンピューティングによる処理を行うことができる計算機、計算機システム、分散処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、比較的低価格のＰＣ（Personal Computer）、サーバをグリッドとして複数組み合わせてシステムを構成し、システム全体としての演算能力を高めるグリッドコンピューティングが注目されつつある。
【０００３】
また、近年ＣＰＵ（Central Processing Unit）のマルチコア化が進み、対称型マルチプロセッシング（ＳＭＰ；Symmetric Multiprocessing）のハードウェアが安価に提供されるようになっている。このため、一般商用アプリケーションソフトウェアでは、ＳＭＰ環境を配慮した製品が多数販売されるようになっている。
【０００４】
一般的なグリッドコンピューティング環境例を図１１に示す。
この図１１に示すように、グリッドコンピューティングにより処理を行う一般的な計算機システムでは、グリッド間の通信、制御を行うためのソフトウェア機能をＯＳ（Operating System）より上の階層にミドルウェアという形で実装している。
【０００５】
また、本発明の関連技術として、マイクロプロセッサのソフトウェア部分に、グリッドコンピューティングを構築する場合の補助システムを有し、この補助システムが、ミドルウェアに存在するグリッドコンピューティング構築支援ソフトウェアと連携するようにしたものがある（例えば、特許文献１参照）。
【特許文献１】特開２００５−５６４０８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した一般的なグリッドコンピューティング環境では、ハードウェアの持つ演算能力を発揮するためにはグリッドコンピューティングに特化したアプリケーションソフトウェアを個別に作成する必要あり、汎用性が高いものではなかった。
また、一般的なアプリケーションでは、アプリケーションが使用できるディスク資源、メモリ資源についても、グリッドコンピューティングにより複数のグリッドを横断的かつ連続的に活用することは困難であった。
【０００７】
また、グリッドコンピューティング環境と、ＳＭＰ環境は似て非なるものであるため、広く流通しているＳＭＰ環境での動作を配慮したアプリケーションソフトウェアはグリッドコンピューティング環境においてはその能力を発揮することができなかった。
また、これら一般商用アプリケーションソフトウェアの多くは、グリッドコンピューティング環境で構築されたＣＰＵ資源のみならず、ディスク資源、メモリ資源などの大容量のメモリ資源についても活用が困難であった。
【０００８】
以上のように、グリッドコンピューティング環境での動作について配慮されておらず、一般的なＳＭＰ環境での動作について配慮された通常のアプリケーションからは、グリッドコンピューティング環境により提供されているネットワーク上のＣＰＵ、メモリ等の各種の資源を活用することができなかった。
【０００９】
また、上述した特許文献１のものは、マイクロプロセッサを認証するセキュリティ補助システムなどの補助システムを、上述したミドルウェアに存在するグリッドコンピューティング構築支援ソフトウェアと連携させ、動作を効率化させようとするものであり、グリッドコンピューティング環境に特化されていない一般的なＳＭＰ環境用のアプリケーションを用いて、グリッドコンピューティング環境で各ハードウェア資源を有効に活用できるようにさせることについてまで考慮されたものではなかった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、グリッドコンピューティング環境に特化されていない一般的なアプリケーションを用いた場合であっても、グリッドコンピューティング環境として各種のハードウェア資源を有効に活用することができる計算機、計算機システム、分散処理方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
かかる目的を達成するために、本発明に係る計算機は、他の計算機と接続されてグリッドコンピューティングによる処理が可能な計算機であって、ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に、上記グリッドコンピューティングによる処理を実現させるグリッド用ソフトを備えたことを特徴とする。
【００１２】
また、本発明に係る計算機システムは、上述した本発明に係る計算機の複数が互いに接続され、グリッドコンピューティングによる処理が可能に構成されたことを特徴とする。
【００１３】
また、本発明に係る分散処理方法は、複数の計算機が接続されてグリッドコンピューティングによる処理が可能な計算機システムにおける分散処理方法であって、アプリケーションによる処理を上記グリッドコンピューティングにより行う際、ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に設けられたグリッド用ソフトを用いて行うことを特徴とする。
【００１４】
また、本発明に係るプログラムは、他の計算機と接続されてグリッドコンピューティングによる処理が可能な計算機のプログラムであって、ソフトウェアの階層におけるカーネルより下、かつハードウェアより上に設けられたグリッド用ソフトにより、上記グリッドコンピューティングでのアプリケーションによる処理を上記計算機に実行させることを特徴とする。
【発明の効果】
【００１５】
以上のように、本発明によれば、グリッドコンピューティング環境に特化されていない一般的なアプリケーションを用いた場合であっても、グリッドコンピューティング環境として各種のハードウェア資源を有効に活用することができる。
【発明を実施するための最良の形態】
【００１６】
次に、本発明に係る計算機、計算機システム、分散処理方法およびプログラムを適用した一実施形態について、図面を用いて詳細に説明する。
本実施形態の計算機システムは、グリッドコンピューティング環境で広く流通しているＳＭＰ環境用のアプリケーションソフトウェアの機能を発揮させる好適なものを例示している。
【００１７】
まず、本実施形態の概略について説明する。
本実施形態は、図１に示すように、計算機が他の計算機と接続されて計算機システムを構成し、グリッドコンピューティングによる処理が可能となっている。この計算機のソフトウェアの階層におけるカーネルより下、かつハードウェアより上に、グリッドコンピューティングによる処理を実現させるグリッド用ソフトが設けられている。
【００１８】
より詳述すると、本実施形態では、グリッドコンピューティング環境に特化されていない一般的なアプリケーションであっても、グリッドコンピューティング実行環境として各種のハードウェア資源を有効に活用できるようにするため、グリッド間の通信、制御を行うためのソフトウェア機能を図２に示すようにＯＳのカーネル層よりも一段ハードウェア（ＨＷ）に近いレイヤに実装する。
【００１９】
こうした構成とすることで、本実施形態では、グリッドコンピューティング環境により連携している各計算機資源をあたかも一台の計算機であるかのように上位のアプリケーションに提供することが可能となり、一般的なＳＭＰ環境での動作を配慮した通常のアプリケーションであってもグリッド環境で実現される複数ＣＰＵ、大容量メモリ資源の恩恵を享受できるようにしている。
【００２０】
次に、本実施形態の構成概略について、図３〜図５を参照して説明する。
近年、オペレーティングシステムはハードウェアアーキテクチャによる差異を吸収することを目的として、ソフトウェアの階層構造におけるハードウェアとカーネルの間にハードウェア仮想化レイヤ（Hardware Abstraction Layer；ＨＡＬ）を設けることが主流となっている。
【００２１】
本実施形態として提案するＰＣ用グリッド実行環境では、図３、図４、図５に示すいずれかの形でグリッド用ソフトウェアを配置する。この配置については、処理速度、実装の容易さ、制御の容易さなどの条件により適宜選択することが可能である。
【００２２】
ただし、一般商用のオペレーティングシステムを活用することを考えた場合、ＨＡＬをオペレーティングシステム提供者が提供することが通常であるため、図３のようにＨＡＬとカーネル間の処理を新たに定義することは現実的ではなく、また、ＨＡＬとグリッド用ソフトウェアを一体化する図５の実現もまた現実的ではないため、図４の階層構造がもっとも実装が容易である。従い、以下の説明では、図４に示す構成を例として説明する。
【００２３】
次に、本実施形態としての計算機の構成について、図６を参照して説明する。
計算機のハードウェア１２０は、ＣＰＵコア（core）１２３，１２４、メモリ１２６、ＨＢＡ（Host Bus Adapter）１２５、ディスク（Hard Disk）１２７、ＮＩＣ（Network Interface Card）１２１、高速ＮＩＣ１２２を備えて構成される。ディスク１２７はＨＢＡ１２５を経由してハードウェア本体（メイン基板）に接続される。
【００２４】
ＮＩＣとしては、通常の計算機としての機能を発揮するための通信を行うものとしてのＮＩＣ１２１の他に、グリッド間の通信を行うことに特化した高速なものとして高速ＮＩＣ１２２を備える。高速ＮＩＣ１２２については、現状では例えば10Gigabit Ethernet（登録商標）、あるいは、Infini Bandなどによる実装が適当である。
【００２５】
本実施形態の機能を実現するためのソフトウェアとして、オペレーティングシステム提供者が提供するＯＳ１０２、カーネル１０３、ＨＡＬ１０４に加え、このＨＡＬ１０４よりも下の階層にグリッド用ソフトウェア１１０を設けている。
グリッド用ソフトウェア１１０は、特に本実施形態の特徴的構成として、グリッド間ＣＰＵ調停機能１１１と、グリッド間メモリ調停機能１１２と、グリッド間ディスク調停機能１１３とを備えて構成される。
【００２６】
本実施形態としての計算機では、上述した環境において、アプリケーション１０１がＯＳ１０２上にて稼動する。本実施形態では、このアプリケーション１０１が、マルチスレッドあるいはマルチタスクにより複数のＣＰＵコア１２３，１２４を平行して活用する機能を有することとする。
【００２７】
次に、本実施形態としての計算機システムの動作について、図７を参照して説明する。
この図７に示す計算機システムの構成例では、説明をわかりやすくするために、ＰＣ３０１、ＰＣ３０２の２台の計算機が接続された環境での動作を例として説明する。
【００２８】
ＰＣ３０１とＰＣ３０２のグリッド間ＣＰＵ調停機能１１１，２１１は、双方の高速ＮＩＣ１２２，２２２を通じて互いに通信を行い、ＨＡＬを経由してカーネルに対して双方のＣＰＵコアの存在を認知させる。すなわち、本実施形態としての計算機システムに含まれる全ＣＰＵコアをカーネルに認知させる。
図７の例では、ＰＣ３０１とＰＣ３０２それぞれのＣＰＵコア計４個の存在をカーネル１０３，２０３に対して認知させることができる。
【００２９】
ＰＣ３０１とＰＣ３０２のグリッド間メモリ調停機能１１２，２１２は、双方の高速ＮＩＣ１２２，２２２を通じて互いに通信を行い、ＨＡＬを経由してカーネルに対して双方のメモリの存在を認知させる。すなわち、本実施形態としての計算機システムに含まれる全メモリをカーネルに認知させる。
図７の例では、ＰＣ３０１とＰＣ３０２のメモリ総量の存在をカーネル１０３，２０３に対して認知させることができる。
【００３０】
ＰＣ３０１とＰＣ３０２のグリッド間ディスク調停機能１１３，２１３は、双方の高速ＮＩＣ１２２，２２２を通じて互いに通信を行い、ＨＡＬを経由してカーネルに対して双方のディスクの存在を認知させる。すなわち、本実施形態としての計算機システムに含まれる全ディスクをカーネルに認知させる。
ディスクは、物理的なディスクドライブをそのまま認識させることも、複数の物理ディスクドライブを連携させて動作させてＲＡＩＤ（Redundant Array of Inexpensive Disks）を構成することにより、可用性の確保をおこなったり巨大なファイルシステムを作成することも可能である。
【００３１】
ここでＰＣ３０１上で稼動する通常アプリ１０１がＯＳに対してサービスの提供を要求した場合について、図８のフローチャートを参照して説明する。
【００３２】
通常アプリ１０１がメモリの割り当てを要求した場合、ＯＳ１０２はメモリ確保要求の命令セットを受けカーネル１０３に対してメモリ確保の要求を行う（ステップＳ１）。カーネル１０３はＨＡＬ１０４に対してメモリ確保の要求を行い、ＨＡＬ１０４はグリッド用ソフト１１０のグリッド内メモリ調停機能１１２に対してメモリ確保を要求する。
【００３３】
グリッド間メモリ調停機能１１２は、ＰＣ３０１のハードウェア資源としての物理メモリの確保状況を管理し、ＰＣ３０１の物理メモリ１２６の使用状況に充分な余裕がある場合（ステップＳ２；Ｙｅｓ）、ＰＣ３０１のメモリ空間を確保の上（ステップＳ３）、上位階層のソフトウェアであるＨＡＬ１０４に対して実際に確保したメモリ空間に関する情報を通知する。
【００３４】
グリッド間メモリ調停機能１１２がＰＣ３０１の物理メモリ１２６に必要十分な余裕が確保できないと判断した場合（ステップＳ２；Ｎｏ）、それぞれの高速ＮＩＣ１２２，２２２を経由してＰＣ３０２のグリッド間メモリ調停機能２１２と通信を行い、ＰＣ３０２に対してメモリの確保の要求を行う（ステップＳ４）。
【００３５】
要求を受けたＰＣ３０２のグリッド間メモリ調停機能２１２は、ＰＣ３０２のハードウェア資源としての物理メモリ２２６の確保状況を管理し、ＰＣ３０２の物理メモリの使用状況に余裕がある場合はＰＣ３０２のメモリ空間を確保の上（ステップＳ５）、ＰＣ３０１のグリッド間メモリ調停機能１１２を経由してＰＣ３０１のＨＡＬ１０４に対して実際に確保したメモリ空間に関する情報を通知する（ステップＳ６）。
【００３６】
上述した一連の動作フローにより、ＰＣ３０１とＰＣ３０２の物理メモリ空間があたかも一体のメモリ空間であるかのようにＰＣ３０１の通常アプリからは認識され、単独のハードウェアでは実現できなかった広大な物理メモリ空間の使用を可能とする。
【００３７】
次に、ＰＣ３０１上で稼動する通常アプリ１０１がＯＳに対してＣＰＵ資源を要求した場合について、図９のフローチャートを参照して説明する。
【００３８】
カーネル１０３は起動時にＨＡＬを経由して使用可能なＣＰＵ資源の数についての定義を行う（ステップＳ１１）。ＰＣ３０１でカーネル１０３が起動した際、グリッド間ＣＰＵ調停機能１１１はＰＣ３０２のグリッド間ＣＰＵ調停機能２１１と通信を行い、ＰＣ３０１、ＰＣ３０２双方のＣＰＵコア計４個を利用可能資源として認識し、ＯＳ１０２を起動する（ステップＳ１２）。
【００３９】
通常アプリ１０１が稼働中に新規にスレッドやプロセスを定義した場合（ステップＳ１３；Ｙｅｓ）、ＯＳ１０２に対して新規のＣＰＵ資源の定義の要求を行う。ＯＳ１０２は自らのＳＭＰ機能により利用可能な４個のＣＰＵコアより１個を確保の上、アプリケーションソフトウェアのスレッドあるいはプロセスを稼動させる（ステップＳ１４）。
【００４０】
上述した一連の動作フローにより、ＰＣ３０１とＰＣ３０２それぞれのＣＰＵコアがあたかも一体の物理的な筐体の中に存在しているかのようにＰＣ３０１のＯＳ１０２および通常アプリ１０１からは認識され、単独のハードウェアでは実現できなかった複数処理の平行実施を実現可能とする。
【００４１】
次に、ＰＣ３０１上で稼動する通常アプリ１０１がＯＳに対してディスク資源へのＩ／Ｏ（Input-Output）を要求した場合について、図１０のフローチャートを参照して説明する。
【００４２】
通常アプリ１０１がディスク資源へのＩ／Ｏを要求した場合（ステップＳ２１）、ＯＳ１０２はカーネル１０３に対してディスク資源へのＩ／Ｏ要求をおこなう。カーネル１０３はＨＡＬ１０４に対してディスクＩ／Ｏ要求を行い、ＨＡＬ１０４はグリッド用ソフト１１０のグリッド内ディスク調停機能１１３に対してディスクＩ／Ｏを要求する（ステップＳ２２）。グリッド間ディスク調停機能１１３は、ＰＣ３０１のディスク１２７、ＰＣ３０２のディスク２２７へのアクセスをあらかじめ設定されたＲＡＩＤ方式で実施する（ステップＳ２３）。
【００４３】
まず、ディスクのＲＡＩＤ方式がＲＡＩＤ０（ミラーリング）の場合の例について説明する。
ＰＣ３０１のグリッド間ディスク調停機能はＰＣ３０２のグリッド間調停機能を経由して双方のＰＣのディスクに対し同時に書き込みを行い、読み込みはＰＣ３０１のディスクより実施する（ステップＳ２４）。仮に、ＰＣ３０１のディスクに障害が発生した場合、読み込みをＰＣ３０２のディスクより実施し、継続運用を可能とする。
【００４４】
次に、ディスクのＲＡＩＤ方式がＲＡＩＤ５（分散パリティ）の場合の例について説明する。
書き込み要求が発生した場合は、ＰＣ３０１のグリッド間ディスク調停機能はデータを分割の上パリティデータを作成する。分割されたデータおよびパリティデータをＰＣ３０１、ＰＣ３０２のディスクに対してデータの書き込みを行う。データの読み込みはＰＣ３０１、ＰＣ３０２より分割されたデータを読み込んだ上でデータを結合しＯＳ、アプリケーションへ引き渡す（ステップＳ２５）。ディスクに障害が発生している場合は、パリティデータを活用してデータを復元する。
なお、ＲＡＩＤ５の場合は、最低４台のディスクが必要となる。
【００４５】
上述した一連の動作フローにより、ＰＣ３０１とＰＣ３０２の物理ディスク領域があたかも一体であるかのようにＰＣ３０１の通常アプリからは認識され、単独のハードウェアでは実現できなかった広大な記憶領域の使用を可能とする。
【００４６】
次に、上述した実施形態による効果について説明する。
従来、低価格で高性能な演算能力を持つ計算機システムを構築するための一つの手段としてグリッドコンピューティングがあったが、並行処理を効率よく実施するためには専用のアプリケーションソフトウェアを開発する必要があると共に、１プロセスで使用できるメモリ空間は１台のグリッドの物理メモリに制限されるという制約があった。
【００４７】
これに対し、上述した実施形態によれば、マルチスレッドに対応している一般的に使用されているアプリケーションを改変することなく大規模な並行処理を実現し、さらには大容量のメモリ空間、ディスク空間を確保することが可能となった。
【００４８】
より詳述すると、従来、低価格で高性能な演算能力を持つ計算機システムを構築するための一つの手段としてグリッドコンピューティングがあったが、並行処理を効率よく実施するためには専用のアプリケーションソフトウェアを開発する必要があると共に、１プロセスで使用できるメモリ空間は１台のグリッドの物理メモリに制限されるという制約があった。
【００４９】
従来のグリッド環境で大量の数値演算処理を高速に実施すためには各グリッド間の調停に関する制御をアプリケーション内に適切に実装することが必要であり、非常に高度なアプリケーションソフトウェア開発技術が要求された。また、広く市販されているアプリケーションソフトウェア（ＣＯＴＳ（Commercial off-the-shelf）ソフトウェア）ではグリッドコンピューティングの恩恵を受けることができないという制約があった。
【００５０】
これに対し、上述した実施形態によれば、処理アプリケーションはごく一般的なマルチスレッド、マルチプロセスの処理を実装することにより、スケーラブルにグリッド処理を実施することが可能となる。
【００５１】
また、グリッド間ディスク調停機能を活用することにより、大容量かつ高可用性のハードディスク環境を容易に実現することが可能になった。
【００５２】
なお、上述した各実施形態は本発明の好適な実施形態であり、本発明はこれに限定されることなく、本発明の技術的思想に基づいて種々変形して実施することが可能である。
例えば、上述した実施形態では、計算機システムの構成として２台のＰＣが接続されることとして説明したが、この構成に限定されず、接続されてグリッドコンピューティングによる処理を行うコンピュータは何台であってもよい。
【００５３】
また、上述した実施形態では、図４に示した階層構造により構築されたものを例としているが、グリッド用ソフトがカーネルより下、かつハードウェアより上の階層に設けられていればこの階層構造に限定されず、使用するオペレーティングシステム、カーネルの制約や特性などに応じて、例えば図３、図５で示した構造であっても同様に適用することができる。
【００５４】
また、上述した各実施形態としての計算機システムを実現するための処理手順をプログラムとして記録媒体に記録することにより、本発明の各実施形態による上述した各機能を、その記録媒体から供給されるプログラムによって、システムを構成するコンピュータのＣＰＵに処理を行わせて実現させることができる。
この場合、上記の記録媒体により、あるいはネットワークを介して外部の記録媒体から、プログラムを含む情報群を出力装置に供給される場合でも本発明は適用されるものである。
すなわち、記録媒体から読み出されたプログラムコード自体が本発明の新規な機能を実現することになり、そのプログラムコードを記憶した記録媒体および該記録媒体から読み出された信号は本発明を構成することになる。
この記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＷ、ＤＶＤ＋ＲＷ、磁気テープ、不揮発性のメモリーカード、ＲＯＭ等を用いてよい。
【００５５】
この本発明に係るプログラムによれば、当該プログラムによって制御される計算機システムやそのシステムを構成する各コンピュータに、上述した実施形態における各機能を実現させることができる。
【産業上の利用可能性】
【００５６】
上述のように、本発明は、大容量画像データ処理における多量のＣＰＵ資源、メモリ資源、ディスク資源を要求される計算機システムに好適に適用することができる。
また、ディスク資源の確保にのみ着目し、低価格で大容量ディスク資源を確保する必要性があるシステムに適用しても有益である。
【図面の簡単な説明】
【００５７】
【図１】本発明の実施形態の概略を示す図である。
【図２】本発明の実施形態によるグリッドコンピューティング環境例を示すブロック図である。
【図３】本発明の一実施形態による計算機の構成例を示すブロック図である。
【図４】本発明の一実施形態による計算機の構成例を示すブロック図である。
【図５】本発明の一実施形態による計算機の構成例を示すブロック図である。
【図６】本実施形態として説明する計算機の構成例を示すブロック図である。
【図７】本実施形態としての計算機システムの構成・動作例を示すブロック図である。
【図８】該計算機システムによるメモリ割り当て動作を示すフローチャートである。
【図９】該計算機システムによるＣＰＵ資源要求動作を示すフローチャートである。
【図１０】該計算機システムによるディスク資源へのアクセス要求動作を示すフローチャートである。
【図１１】一般的なグリッドコンピューティング環境例を示すブロック図である。
【符号の説明】
【００５８】
１０１    通常アプリ（アプリケーション）
１０２    ＯＳ
１０３    カーネル
１０４    ＨＡＬ
１１０    グリッド用ソフト
１１１    グリッド間ＣＰＵ調停機能
１１２    グリッド間メモリ調停機能
１１３    グリッド間ディスク調停機能
１２０    ハードウェア
１２１    ＮＩＣ
１２２    高速ＮＩＣ
１２３、１２４    ＣＰＵコア
１２６    メモリ（物理メモリ）
１２７    ディスク（ハードディスク）
【図１】
2009230673.tif 000003
【図２】
2009230673.tif 000004
【図３】
2009230673.tif 000005
【図４】
2009230673.tif 000006
【図５】
2009230673.tif 000007
【図６】
2009230673.tif 000008
【図７】
2009230673.tif 000009
【図８】
2009230673.tif 000010
【図９】
2009230673.tif 000011
【図１０】
2009230673.tif 000012
【図１１】
2009230673.tif 000013