JPWO2005116832A1 - 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム - Google Patents

分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム Download PDF

Info

Publication number
JPWO2005116832A1
JPWO2005116832A1 JP2006513869A JP2006513869A JPWO2005116832A1 JP WO2005116832 A1 JPWO2005116832 A1 JP WO2005116832A1 JP 2006513869 A JP2006513869 A JP 2006513869A JP 2006513869 A JP2006513869 A JP 2006513869A JP WO2005116832 A1 JPWO2005116832 A1 JP WO2005116832A1
Authority
JP
Japan
Prior art keywords
resource
job
computer system
network
grid
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.)
Pending
Application number
JP2006513869A
Other languages
English (en)
Inventor
和敏 杉本
隆 米澤
和久 美園
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPWO2005116832A1 publication Critical patent/JPWO2005116832A1/ja
Pending legal-status Critical Current

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
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】 グリッドシステム群を統合して利用する広域分散システムにおいて、システム構成の変更や規模の拡大縮小に容易に対応可能なスケーラブルなシステム構成を実現する。【解決手段】 広域分散システムを構成する各グリッドシステムのグリッドサーバ100は、自システムを構成するコンピュータ(ローカルリソース)とネットワーク上の他のグリッドシステム(ネットワークリソース)とを含むリソース手段を対象としてジョブの割り当てを行い、このジョブの実行要求を行うスケジューラ110と、このスケジューラ110とリソース手段との間の通信を中継するリソースエージェント120とを備える。リソースエージェント120は、リソース手段の情報を管理すると共に、スケジューラ110によるジョブの実行要求をそのジョブの割り当てられたリソース手段に代わって受け付け、かかるリソース手段の状況に応じてジョブの実行要求をリソース手段に対して行う。

Description

本発明は、グリッドコンピューティングに関し、特に複数のグリッドコンピューティングシステムを統括的に制御する方法およびそのシステム構成に関する。
近年、ネットワークで接続されたヘテロジーニアス(異機種混在)な情報システムを統合して利用する、グリッドコンピューティングと呼ばれる技術が注目されている。この技術では、ネットワーク上の複数のコンピュータにおけるCPUパワーやデータストレージなどのコンピュータ資源が共有され、仮想的な1つの高性能コンピュータとして利用される。複数のコンピュータに並列処理を行わせることで、1台1台の性能は低くとも高速に大量の処理を実行することが可能となる。
さて、広域ネットワークに接続された分散処理システム群にあるコンピュータ資源を仮想化し、互いの分散処理システム群に存在するコンピュータ資源をユーティリティとして共有して、有効活用することを考える。ここで、分散処理システムとは、ネットワークに接続された多数の多種多様なコンピュータ資源を1つのグループとして管理し、負荷分散およびスケジューリングを行っているシステムをいう。分散処理システム群とは、広域ネットワーク(分散ネットワーク)上に複数存在している一群の分散処理システムを意味する。以下の説明では、分散処理システムを資源が仮想化されたグリッドコンピューティング環境における個々のグリッドコンピューティングシステム(以下、グリッドシステムと略記する)として記述する。
このような、グリッドシステム群に存在するコンピュータ資源を統合して利用する広域的な分散システムを構築するためには、個々のグリッドシステムにおけるコンピュータ資源の管理の他に、グリッドシステム群全体を管理する仕組みが必要である。そこで従来から、このようなグリッドシステム群のコンピュータ資源の負荷分散やスケジューリングを行うためのメタスケジューラの研究、開発が行われている。メタスケジューラを備えた従来のグリッドシステム群の組織形態は、主として集中型スキーム(Centralized Scheme)、階層型スキーム(Hierarchical Scheme)、分散型スキーム(Distributed Scheme)の
3種類に分けられる(集中型スキームおよび階層型スキームについては例えば非特許文献1を参照、分散型スキームについては例えば非特許文献2を参照)。
図13は、集中型スキームによるシステム構成を概略的に示した図である。
集中型スキームでは、グリッドシステム群全体を管理するセンターサーバのメタスケジューラに、全てのグリッドシステムの情報が集められ、そのメタスケジューラでスケジューリングの決定がなされる。個々のグリッドシステムであるローカルサイト(ローカルディスパッチャ)では、スケジューリングの決定はなされないが、センターサーバのメタスケジューラから投入されたジョブを実行し、ジョブの完了と資源の状態(空いたプロセッサなど)の情報をメタスケジューラに通知する。新しいグリッドシステムの追加などシステム構成を変更する場合、メタスケジューラによるスケジューリングに反映させるためにセンターサーバでの手続きが必要である。
図14は、階層型スキームによるシステム構成を概略的に示した図である。
階層型スキームでは、センターサーバと各ローカルサイトとの間で、スケジューリングのプロセスをシェアする。センターサーバのメタスケジューラからローカルサイトのスケジューラにジョブをサブミットした後は、メタスケジューラは、そのジョブに対して直接
に関与する必要はない。もし、ジョブのサブミット後に他のローカルサイトに空きができても、各ジョブの実行は、そのジョブが送られた各ローカルサイトにおいて実行される。
図15は、分散型スキームによるシステム構成を概略的に示した図である。
分散型スキームでは、全てのサイトにメタスケジューラが設けられる。ジョブは、各ローカルサイトのメタスケジューラにサブミットされて、スケジューリングされる。全てのサイトがメタスケジューラを持つので、あるジョブに関して、所定のローカルサイトで一旦スケジューリングされた後に、他のローカルサイトに空きができたならば、当該ジョブを当該他のローカルサイトで実行するようにスケジューリングし直すことができる。各ローカルサイトのメタスケジューラは同一の情報を持つ必要があり、各ローカルサイトの負荷状況等の情報を随時あるいは定期的に交換する。
Chris Smith, "Open Source Metascheduling for Virtual Organizations with the Community Scheduler Framework (CSF)", Technical Whitepaper, Platform Computing Inc. 2003年8月. Vijay Subramani, "Distributed Job Scheduling on Computational Grids using Multiple Simultaneous Requests", IEEE International Symposium on High Performance Distributed Computing (HPDC 2002), 2002年.
上述したように、ネットワーク上の複数のグリッドシステム群に存在するコンピュータ資源を統合して利用する広域的な分散システムを構築するため、グリッドシステム群全体を管理する仕組みが従来から提案されている。
しかし、上述した集中型スキームは、メタスケジューラにおいてネットワーク上の各ローカルサイトにあるコンピュータ資源の詳細な情報を管理する必要があるので、新しいグリッドシステムの追加などシステム構成を変更する場合、メタスケジューラによるスケジューリングに反映させるためにセンターサーバでの手続きが必要となる。したがって、システム構成の変更(ローカルサイトの追加、削除、ローカルサイトにおけるコンピュータ資源の変更等)に伴って、メタスケジューラにおける設定の更新を要し、センターサーバにおける運用・管理の負荷が大きくなる。したがって、システム構成の変更や規模の拡大縮小に容易に対応することができず、スケーラブルなシステムにするのは難しい。
また、階層型スキームは、センターサーバのメタスケジューラからローカルサイトのスケジューラにジョブをサブミットした後は、メタスケジューラは、そのジョブに対して直接に関与しないため、ジョブのサブミット後に他のローカルサイトに空きができても、各ジョブの実行は、そのジョブが送られた各ローカルサイトにおいて実行される。このため、必ずしも効率良くジョブが実行されない。
なお、階層型スキームでは、各ローカルサイト間で情報をやりとりすることにより、他のローカルサイトに空きができた場合に、すでに別のローカルサイトにサブミットされたジョブを空いたローカルサイトに再サブミットする仕組みを導入することもできる。しかし、このような仕組みを導入すると、システムが複雑化してしまうため、開発に手間を要する。
また、各ローカルサイト間で情報をやりとりするために、ネットワーク負荷が増大してしまう。さらに、階層型スキームにおいても、集中型スキームと同様に、システム構成の変更に伴ってメタスケジューラにおける設定の更新を要するため、システム構成の変更や規模の拡大縮小に容易に対応することができず、スケーラブルなシステムにするのは難しい。
また、分散型スキームにおいても、全てのローカルサイトのメタスケジューラ間で、各
ローカルサイトの負荷状況等の情報を随時あるいは定期的に交換する必要があるため、ネットワーク負荷が増大してしまう。そして、システム構成の変更に伴って各ローカルサイトのメタスケジューラにおける設定の更新を要するため、システム構成の変更や規模の拡大縮小に容易に対応することができず、スケーラブルなシステムにするのは難しい。
さらに、階層型スキームや分散型スキームでは、メタスケジューラとローカルなスケジューラとを個別に開発しなければならず、開発コストが増大する。
そこで本発明は、グリッドシステム群に存在するコンピュータ資源を統合して利用する広域分散システムにおいて、システム構成の変更や規模の拡大縮小に容易に対応可能なスケーラブルなシステム構成を実現することを目的とする。
また本発明は、効率よくジョブを実行するためにローカルサイト間で情報をやり取りしながら、ネットワーク負荷を軽減することを他の目的とする。
また本発明は、システムの開発コストを増大させることなく、グリッドシステム群を統合した広域分散システムを実現することをさらに他の目的とする。
上記の目的を達成するため、本発明は、ネットワークを介して接続されたコンピュータシステム群(グリッドシステム群)により分散処理を行うネットワークとして実現される。すなわち、この分散処理環境において各グリッドシステムは、ネットワーク上のコンピュータ資源に対して情報処理におけるジョブの割り当ておよび実行要求を行うグリッドサーバと、自システムにおいて実際にジョブを実行するプロセスサーバ等のコンピュータ資源(ローカルリソース)とを備える。各グリッドサーバは、それぞれのローカルリソースとネットワーク上の他のグリッドシステムとを含むリソース手段を対象としてジョブの割り当てを行い、このジョブの実行要求を行うスケジューラと、このスケジューラとリソース手段との間の通信を中継するエージェント(リソースエージェント)とを備える。このエージェントは、リソース手段の情報を管理するソフトウェアモジュールであって、スケジューラによる前記ジョブの実行要求を当該ジョブの割り当てられた当該リソース手段に代わって受け付け、当該リソース手段の状況に応じて当該ジョブの実行要求を当該リソース手段に対して行う。
より詳細には、エージェントは、ローカルリソースおよびネットワーク上で自システムに隣接する(直接に接続されている)他のグリッドシステム(ネットワークリソース)のそれぞれに対して個別に設けられ、各々が対応するリソース手段との間で設定された個別の通信形式でジョブの実行要求を行う。
ローカルリソースに対応するエージェントは、その能力および動作状況に関する情報をかかるローカルリソースから取得して管理し、他のグリッドシステム(ネットワークリソース)に対応するエージェントは、そのグリッドシステムがジョブの実行要求に対して提供可能なリソース能力の情報をかかる他のグリッドシステムにおけるグリッドサーバから取得して管理する。そして、スケジューラは、リソースエージェントに管理されている各情報に基づいて、リソース手段に対するジョブの割り当てを行う。
さらに、このグリッドサーバは、外部からのジョブの実行要求に応答して自システムが提供可能なリソース能力の情報を前記スケジューラから取得するリソース能力情報取得部と、ネットワーク上の他のグリッドシステムにおけるグリッドサーバのエージェントからの問い合わせに応答してリソース能力情報部にて取得された提供可能なリソース能力の情報をこのエージェントに通知するリソース能力情報通知部とを備えるインタフェース手段を有することができる。この場合、スケジューラは、自システムにおけるエージェントから取得される前記リソース能力の情報に基づき、提供可能なリソース能力を計算する。そして、この提供可能なリソース能力の情報をリソース能力情報取得部に渡す。
さらにまた、このグリッドサーバのインタフェース手段は、ネットワーク上の他のグリッドシステムにおけるグリッドサーバのエージェントから送信されたジョブの実行要求を受け付けるジョブ受け付け部と、このジョブ受け付け部にて受け付けられた実行要求にかかるジョブをスケジューラに渡してジョブの割り当ておよび実行を依頼するジョブ実行依頼部とを備える構成とすることができる。
また、上記の目的を達成する他の本発明は、グリッドシステムにおいてジョブのスケジューリングおよび実行要求を行う、次のようなジョブ実行制御方法としても実現される。この方法は、コンピュータシステム(グリッドシステム)が、自システムに含まれるローカルリソースおよびネットワーク上の他のグリッドシステム(ネットワークリソース)のそれぞれに対応して設けたインタフェースモジュールにより、ローカルリソースの能力および動作状況に関する情報をローカルリソースから取得し、ネットワークリソースが提供可能なリソース能力の情報をそのネットワークリソースにおけるグリッドサーバから取得して管理するステップと、インタフェースモジュールにより管理しているこれらの情報に基づいて、ローカルリソースとネットワークリソースとを含むリソース手段を対象としてジョブの割り当てを行うステップと、ジョブの割り当てられたリソース手段に対するジョブ実行リクエストを発行するステップと、を具備する。さらに、このインタフェースモジュールが、発行されたジョブ実行リクエストを一時的に保持し、ジョブの割り当てられたリソース手段の動作状況に応じて、かかるリソース手段に送信するステップを含む。
さらに本発明は、コンピュータを制御して上述したグリッドサーバの機能を実現させるプログラム、あるいはコンピュータに上記のジョブ実行制御方法の各ステップに対応する処理を実行させるプログラムとしても実現される。このプログラムは、磁気ディスクや光ディスク、半導体メモリ、その他の記録媒体に格納して配布したり、ネットワークを介して配信したりすることにより提供される。
以上のように構成された本発明によれば、広域分散システムを構成する各グリッドシステムのグリッドサーバを、エージェントを介して接続し、このエージェントに、担当するグリッドシステムの情報を持たせることにより、担当エージェントの追加、削除によってグリッドシステム群全体の構成の変更に対応できるため、システム構成の変更や規模の拡大縮小に容易に対応可能なスケーラブルなシステム構成を実現できる。
また本発明によれば、各グリッドシステムがネットワーク上で隣接する他のグリッドシステムの情報を持つことによって、結果的にグリッドシステム群全体の情報が各グリッドシステムに共有されることとなるので、各グリッドシステム間で頻繁に情報交換を行う必要がなく、ネットワーク負荷を軽減することができる。
さらに本発明によれば、グリッドシステム群全体を統括制御するための固有の仕組みを必要としないので、システムの開発に要する手間やコストを大幅に削減することができ、かつ様々なネットワーク構造を持ったシステムを容易に構築できるという柔軟性に富んだシステムを実現できる。
以下、添付図面を参照して、本発明を実施するための最良の形態(以下、実施形態)について詳細に説明する。
図1は、本実施形態による広域分散システムの全体構成を示す図である。
本実施形態の広域分散システムは、インターネット等の広域ネットワークに接続されたグリッドシステム群を統合して、各グリッドシステムにおけるコンピュータ資源を相互に利用可能としている。各グリッドシステムは、グリッドコンピューティング技術により、ネットワークに接続された多数の多種多様なコンピュータ資源を1つのグループとして管理し、その負荷分散およびスケジューリングを行っている分散処理システムである。
本実施形態において各々のグリッドシステムは、従属関係を持たず、対等な関係で並列に動作する。また、各グリッドシステムにとって、ネットワーク上で隣接する他のグリッドシステムは、自システム内のローカルリソース(コンピュータ資源)と同様に扱い、ジョブの実行を依頼することができる。ここで、ネットワーク上で隣接するとは、ネットワークを介してデータ交換を直接行うことが可能なグリッドシステムどうしの関係を意味する。また、ローカルリソースとは、グリッドコンピューティングにおいて割り当てられたジョブを実際に実行するプロセスサーバ等のコンピュータ資源を指す。このような本実施形態によるグリッドシステム群の組織形態を、以下、ネットワークスキーム(Network Scheme)と称す。
図2は、図1の広域分散システムを構成する個々のグリッドシステムの構成を示す図である。
図2に示すように、本実施形態によるグリッドシステムは、ジョブの割り当て(スケジューリング)を行うグリッドサーバ(GS)100と、グリッドサーバ100による割り当てにしたがって実際にジョブを実行するローカルリソースとしてのプロセスサーバ(PS)200とを備える。また、グリッドサーバ100は、他のグリッドシステムのグリッドサーバ100とも接続されている。
本実施形態において、グリッドサーバ100とプロセスサーバ200、および複数のグリッドシステムのグリッドサーバ100どうしは、インターネットその他のコンピュータネットワークにて接続されている。このコンピュータネットワークは、通信プロトコルや、有線か、無線かといった通信形式を問わず、またファイアウォールやその他のアクセス制限を設けたものであっても良い。
また、詳しくは後述するが、上記のネットワークスキームを実現するために、本実施形態のグリッドサーバ100は、エージェントと呼ぶインタフェースモジュールを備え、このエージェントを介してプロセスサーバ200や他のグリッドシステムのグリッドサーバ100と接続する。かかる装置間接続のフレームワークを、以下、エージェントフレームワーク(Agent Framework)と称す。
図3は、本実施形態におけるグリッドサーバ100およびプロセスサーバ200を実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。
図3に示すコンピュータ装置は、演算手段であるCPU(Central Processing Unit:
中央処理装置)11と、M/B(マザーボード)チップセット12およびCPUバスを介してCPU11に接続されたメインメモリ13と、同じくM/Bチップセット12およびAGP(Accelerated Graphics Port)を介してCPU11に接続されたビデオカード1
4と、PCI(Peripheral Component Interconnect)バスを介してM/Bチップセット
12に接続された磁気ディスク装置(HDD)15、ネットワークインタフェース16と、さらにこのPCIバスからブリッジ回路17およびISA(Industry Standard Architecture)バスなどの低速なバスを介してM/Bチップセット12に接続されたフレキシブルディスクドライブ18およびキーボード/マウス19とを備える。
なお、図3は本実施形態を実現するコンピュータ装置のハードウェア構成を例示するに過ぎず、本実施形態を適用可能であれば、他の種々の構成を取ることができる。例えば、ビデオカード14を設ける代わりに、ビデオメモリのみを搭載し、CPU11にてイメージデータを処理する構成としても良いし、外部記憶装置として、ATA(AT Attachment
)やSCSI(Small Computer System Interface)などのインタフェースを介してCD
−R(Compact Disc Recordable)やDVD−RAM(Digital Versatile Disc Random Access Memory)のドライブを設けても良い。
図4は、本実施形態におけるグリッドサーバ100の機能構成を示す図である。
グリッドサーバ100は、自システム内のローカルリソースである各プロセスサーバ200に対するジョブの割り当て(スケジューリング)を行うスケジューラ110と、プロセスサーバ200の管理を行い、プロセスサーバ200に対するリクエストおよびレスポンスの送受信を中継するリソースエージェント120と、自システムをあたかも他のグリッドシステムのリソースであるかのように動作させるためのグリッドサーバ用リソースエージェント・インタフェース(以下「GSエージェント・インタフェース」)130とを備える。リソースエージェント120は、各プロセスサーバ200およびネットワーク上で隣接する他のグリッドシステム(ネットワークリソース)ごとに設けられている。そして、スケジューラ110は、このリソースエージェント120を介して各プロセスサーバ200および他のグリッドシステムのグリッドサーバ100にアクセスする。
スケジューラ110は、例えば図3に示したプログラム制御されたCPU11とメインメモリ13や磁気ディスク装置15等の記憶手段とで実現され、その具体的な機能として図4に示すように、リソース能力問い合わせ応答部111と、リソース能力取得部112と、ジョブ受け付け部113と、最適リソース選択部114と、ジョブ依頼部115とを備える。
リソース能力問い合わせ応答部111は、GSエージェント・インタフェース130を介して入力される外部からの問い合わせ(リソース能力取得要求)に応じて、提供可能な自システムのリソース能力を計算し返答する。提供可能なリソース能力は、後述のリソース能力取得部112により取得される情報に基づいて計算される。また、リソース能力の提供対象に応じて提供可能なリソース能力を変更することもできる。
リソース能力取得部112は、自システムが利用可能なリソース能力を各プロセスサーバ200およびネットワーク上で隣接する他のグリッドシステムに対応するリソースエージェント120に問合せ、情報を取得する(以下、これら自システムのローカルリソースとして認識されるプロセスサーバ200およびネットワークリソースとして認識される他のグリッドシステムを合わせて、リソース手段と称す)。取得される情報には、自システムにおける本来の処理能力や記憶装置の記憶容量などを静的情報と、実時間の負荷状況に基づく動的情報とが含まれる。
ジョブ受け付け部113は、外部のコンピュータシステム(例えばクライアント)やGSエージェント・インタフェース130からジョブの実行要求を受け付ける。
最適リソース選択部114は、リソース能力取得部112により取得されたリソース能力の情報に基づき、ジョブに応じてその実行に最適なリソース手段を選択し、ジョブの割り当てを行う。このジョブの割り当てにおける最適化のロジックは任意で良い。
ジョブ依頼部115は、最適リソース選択部114において選択されたリソース手段に対応するリソースエージェント120に対して、ジョブの実行を要求するリクエストを発行する。
本実施形態では、リソースエージェント120がスケジューラ110と利用可能なリソース手段との間の通信を中継し、スケジューラ110によるジョブの実行要求をこれらのリソース手段に代わって受け付ける。そのため、リソース能力取得部112の問い合わせ先やジョブ依頼部115のリクエストの発行先がリソースエージェント120となっているが、それ以外のスケジューラ110の機能自体は、既存のスケジューラと変わらない。また、グリッドサーバ100と個々のプロセスサーバ200あるいは他のグリッドシステムのグリッドサーバ100との間における通信形式の違いは、リソースエージェント120における設定によって吸収され、スケジューラ110自身はリクエストを発行する際に通信形式の差異を考慮する必要がない。したがって、スケジューラ110には、既存のグリッドシステムで利用されているスケジューラを用いることができる。
リソースエージェント120は、例えば図3に示したプログラム制御されたCPU11
とメインメモリ13や磁気ディスク装置15等の記憶手段とネットワークインタフェース16とで実現され、その具体的な機能として図4に示すように、リソース状況管理部121と、リソース能力管理部122と、ジョブ受け付け部123と、ジョブ依頼部124とを備える。
リソース状況管理部121は、対応するリソース手段にアクセスして、該当するプロセスサーバ200(ローカルリソース)またはグリッドシステム(ネットワークリソース)における現在の動作状況を把握する。
リソース能力管理部122は、対応するリソース手段のジョブ実行能力に関する統計情報等を管理し、スケジューラ110のリソース能力取得部112からの問い合わせに応じて、管理している情報を返す。ここで、ジョブ実行能力に関する統計情報等とは、単にCPU自身の処理能力や記憶装置の記憶容量の静的な情報だけでなく、CPUに対する負荷の時間変動や動作傾向といった動的な内容を統計的に処理して得られた情報を含む。
リソース状況管理部121およびリソース能力管理部122に管理されるこのようなリソース情報は、リソースエージェント120が対応しているリソース手段から取得し、図3のメインメモリ13や磁気ディスク装置15等の記憶手段に格納する。
ジョブ受け付け部123は、スケジューラ110のジョブ依頼部115から発行されたジョブ実行リクエストを受け付ける。
ジョブ依頼部124は、ジョブ受け付け部123により受け付けられたジョブ実行リクエストを対応するリソース手段に送信する。
GSエージェント・インタフェース130は、例えば図3に示したプログラム制御されたCPU11とメインメモリ13や磁気ディスク装置15等の記憶手段とネットワークインタフェース16とで実現され、その具体的な機能として図4に示すように、リソース能力情報取得部131と、リソース能力情報通知部132と、ジョブ受け付け部133と、ジョブ実行依頼部134とを備える。
上述したように、GSエージェント・インタフェース130は、グリッドシステムをネットワーク上の他のグリッドシステムに対して当該他のグリッドシステムのローカルリソースと同様に利用可能とするための機能である。このGSエージェント・インタフェース130により、グリッドサーバ100は、他のグリッドシステムのグリッドサーバ100からの要求を受け付け、自システムが利用可能なリソース手段を用いてジョブを実行した結果を返すことができる。
リソース能力情報取得部131は、外部からのジョブの実行要求に対して提供可能な自システムのリソース能力の情報(リソース情報)を、スケジューラ110に問い合わせて取得する。
リソース能力情報通知部132は、受信したリソース能力取得要求に応じて、リソース能力情報取得部131において取得されたリソース情報を、リソース能力取得要求の送信元に通知する。リソース能力取得要求がネットワーク上の他のグリッドシステムにおけるグリッドサーバ100の対応するリソースエージェント120から受信された場合は、当該リソースエージェント120に通知する。リソースエージェント120では、リソース状況管理部121およびリソース能力管理部122がこの通知を受け付け、メインメモリ13や磁気ディスク装置15等の記憶装置に格納して管理する。リソース能力情報通知部132からグリッドサーバ100への通知は、定期的に行っても良いし、自システムの動作状況が変更された際に行うようにしても良い。また、グリッドサーバ100のリソースエージェント120から任意のタイミングで対応する他のグリッドシステムのグリッドサーバ100へ問い合わせても良い。
ジョブ受け付け部133は、他のグリッドシステムにおけるグリッドサーバ100のリソースエージェント120のジョブ依頼部124から送信されたジョブ実行リクエストを受け付ける。
ジョブ実行依頼部134は、ジョブ受け付け部133により受け付けられたジョブのス
ケジューリングおよび実行を、スケジューラ110に依頼する。
次に、プロセスサーバ200の機能構成と、対応するリソースエージェント120との関係について説明する。
図5は、プロセスサーバ200の機能構成とグリッドサーバ100のリソースエージェント120との関係を示す図である。
図5に示すように、プロセスサーバ200は、図3に示したようなコンピュータ装置をグリッドシステムにおけるプロセスサーバ200として機能させるためのプロセスサーバ用リソースエージェント・インタフェース(以下「PSエージェント・インタフェース」)210を備えている。
PSエージェント・インタフェース210は、例えば図3に示したプログラム制御されたCPU11とメインメモリ13や磁気ディスク装置15等の記憶手段とネットワークインタフェース16とで実現され、その具体的な機能として図5に示すように、PS状況監視部211と、リソース能力情報通知部212と、ジョブ受け付け部213と、ジョブ実行部214とを備える。
PS状況監視部211は、自装置(プロセスサーバ200)の現在の使用状況や資源の状況を監視し、情報を収集する。
リソース能力情報通知部212は、PS状況監視部211において収集されたPSの使用状況や資源の状況に関する情報を、グリッドサーバ100のリソースエージェント120に通知する。リソースエージェント120では、リソース状況管理部121およびリソース能力管理部122がこの通知を受け付け、メインメモリ13や磁気ディスク装置15等の記憶装置に格納して管理する。リソース能力情報通知部212からグリッドサーバ100への通知は、定期的に行っても良いし、プロセスサーバ200の動作状況が変更された際に行うようにしても良い。また、グリッドサーバ100の対応するリソースエージェント120から任意のタイミングでプロセスサーバ200へ問い合わせても良い。
ジョブ受け付け部213は、グリッドサーバ100のリソースエージェント120のジョブ依頼部124から送信されたジョブ実行リクエストを受け付ける。
ジョブ実行部214は、ジョブ受け付け部213により受け付けられたジョブを、プロセスサーバ200の資源を用いて実行する。
グリッドサーバ100のGSエージェント・インタフェース130とプロセスサーバ200のPSエージェント・インタフェース210とを比較すると、PS状況監視部211が自装置の状況を監視して情報を収集するのに対し、リソース能力情報取得部131がスケジューラ110に自システムのリソース能力を問い合わせており、また、ジョブ実行部214が自装置の資源を用いてジョブを実行するのに対し、ジョブ実行依頼部134がスケジューラ110にジョブの実行を依頼している点が異なる。これは、PSエージェント・インタフェース210が組み込まれたプロセスサーバ200がグリッドシステムにおいてジョブを実行するローカルリソースであるのに対し、GSエージェント・インタフェース130が組み込まれたグリッドサーバ100がグリッドシステムを統括制御してジョブ実行のスケジューリングを行うサーバであることに基づく相違である。
すなわち、リソース能力取得要求やジョブの実行要求を送信するグリッドサーバ100のリソースエージェント120と、これに対応するGSエージェント・インタフェース130およびPSエージェント・インタフェース210との関係では、GSエージェント・インタフェース130とPSエージェント・インタフェース210とは何ら変わりがない。したがって、リソースエージェント120は、対応する相手がローカルリソースであるプロセスサーバ200かネットワークリソースである他のグリッドサーバ100かに関わらず、同じ機能構成を有することとなる。
このように、リソースエージェント120をインタフェースモジュールとして用い、かつグリッドサーバ100にGSエージェント・インタフェース130を備えることにより、ネットワーク上で隣接するグリッドサーバ100どうしは、互いに自システムのローカルリソースと同様に他のシステムを扱ってジョブの割り当てを行うことができ、かつ他のシステムのローカルリソースとして振る舞うことができる。このようなエージェントフレームワークにより、グリッドシステムどうしは従属関係を持たず、対等な関係で並列に動作しながら、相互に他のグリッドシステムを自システムのリソースとして扱うことが可能なネットワークスキームが実現される。
次に、上記のように構成された本実施形態による広域分散システムの動作について説明する。
本実施形態では、所定のクライアントから所定のグリッドシステムに対して発行されたジョブ実行リクエストに応じて、広域分散システムを構成するグリッドシステム群により負荷分散されてジョブが実行される。ここで、クライアントとは、本実施形態の広域分散システムを構成するいずれかのグリッドシステムにアクセス可能なコンピュータやPDA(Personal Digital Assistant)等の情報機器である。後述する機能を備えたプロセスサーバ200がクライアントとしてジョブ実行リクエストを発行することもできる。
図6は、本実施形態の広域分散システムにジョブ実行リクエストを発行するクライアントの機能構成とグリッドサーバ100のスケジューラ110との関係を示す図である。
図6に示すように、クライアント300は、ジョブ実行リクエストの送信先であるグリッドシステムのリソース能力を問い合わせるためのリソース能力問い合わせ部310と、ジョブ実行リクエストを発行してグリッドシステムに送信するジョブ依頼部320とを備える。なお、クライアント300は、所望のジョブに対する実行結果が得られれば良く、ジョブの実行に必要なコンピュータ資源の調達はグリッドシステムに任せて良い場合は、リソース能力問い合わせ部310は必須の構成要件ではない。これらの機能は、例えばクライアント300が図3に示したコンピュータ装置にて構成される場合、プログラム制御されたCPU11とメインメモリ13や磁気ディスク装置15等の記憶手段とで実現される。
本実施形態によりジョブを実行するに際しては、まず上記のクライアント300のジョブ依頼部320がジョブ実行リクエストを発行し、アクセス対象のグリッドシステムにおけるグリッドサーバ100に送信する。なお、これに先立つ事前調査として、リソース能力問い合わせ部310から同グリッドサーバ100に対してリソース能力取得要求を送信し、グリッドシステムがジョブを実行するに足るリソース能力を備えているかどうかを判断することができる。
グリッドサーバ100のスケジューラ110では、ジョブ受け付け部113がクライアント300から送信されたジョブ実行リクエストを受け付け、最適リソース選択部114が、自システムが利用可能なリソース手段を対象として、当該ジョブの割り当てを行う。ジョブの割り当て対象であるリソース手段は、ローカルリソースであるプロセスサーバ200と、ネットワークリソースである他のグリッドシステムである。
図7は、スケジューラ110によるジョブのスケジューリングの動作を説明するフローチャートである。
図7を参照すると、最適リソース選択部114は、リソース能力問い合わせ応答部111およびリソース能力取得部112を介してリソースエージェント120から各リソース手段の能力や動作傾向等の統計情報等を取得し(ステップ701)、これらの情報およびジョブの種類や特性に基づいて最適なスケジューリングを行う(ステップ702)。そして、ジョブ依頼部115が、最適リソース選択部114による処理結果に基づいて、ジョブが割り当てられたリソース手段の動作状況に関わらずにジョブ実行リクエストを発行し
、そのリソース手段に対応するリソースエージェント120に送信する(ステップ703)。
最適リソース選択部114によるスケジューリングのロジックは任意で良いが、他のグリッドシステムにジョブの実行を依頼すると依頼先のグリッドシステムでもジョブ実行のスケジューリングが行われることから、一般にローカルリソースにジョブを割り振った方が作業効率が高いと考えられる。そこで、まず自システムのローカルリソースであるプロセスサーバ200に対してジョブを割り振り、プロセスサーバ200だけでは能力が不足する場合に他のグリッドシステムにジョブの実行を依頼するといった方法をとることができる。
リソースエージェント120は、スケジューラ110のジョブ依頼部115から受け取ったジョブ実行リクエストを対応するリソース手段に送信し、そのリソース手段からジョブの実行結果を受け取ってスケジューラ110に返す。ここで、リソースエージェント120の動作は、対応するリソース手段がプロセスサーバ200であるか他のグリッドシステムであるかによる違いはない。
スケジューラ110は、リソースエージェント120から受け取った各リソース手段によるジョブの実行結果を統合して、クライアント300に返す。
さて、本実施形態では、ジョブを実行するリソース手段は、ジョブの実行を依頼されたグリッドシステムのローカルリソースであるプロセスサーバ200である場合とネットワークリソースである他のグリッドシステムである場合とがある。このうち、プロセスサーバ200は、PSエージェント・インタフェース210のジョブ受け付け部213がグリッドサーバ100のリソースエージェント120からジョブ実行リクエストを受け付けると、そのリクエストに応じてジョブ実行部214がジョブを実行し、実行結果をグリッドサーバ100のリソースエージェント120に返す。
一方、リソース手段がグリッドシステムである場合、リソースエージェント120からのジョブ実行リクエストは、当該グリッドシステムのグリッドサーバ100におけるGSエージェント・インタフェース130のジョブ受け付け部133により受け付けられ、ジョブ実行依頼部134により当該グリッドサーバ100のスケジューラ110に送られる。
図8は、リソースエージェント120とGSエージェント・インタフェース130とスケジューラ110との関係を示す図である。
ここで、図8と図6とを比較すると、スケジューラ110にとっては、GSエージェント・インタフェース130との関係と、クライアント300のPSエージェント・インタフェース210との関係は等価である。したがって、スケジューラ110は、上述したクライアント300から直接受け取ったジョブ実行リクエストに対する動作と同様に、GSエージェント・インタフェース130を介して他のグリッドシステムのグリッドサーバ100から受け取ったジョブ実行リクエストに対してもスケジューリングを行い、自システムが利用可能なリソース手段に対してジョブの実行を依頼することができる。
ところで、リソースエージェント120は、[0029]で述べたように、対応するリソース手段から現在の動作状況やジョブ実行能力に関する情報(リソース情報)を取得して、リソース状況管理部121およびリソース能力管理部122により管理している。このリソース情報は、リソース手段がプロセスサーバ200である場合は、そのPSエージェント・インタフェース210のPS状況監視部211により収集され、リソース能力情報通知部212によりリソースエージェント120に送られる。
一方、リソース手段が他のグリッドシステムである場合、リソース情報は、当該グリッドシステムのグリッドサーバ100におけるGSエージェント・インタフェース130の
リソース能力情報取得部131により取得され、リソース能力情報通知部132によりリソースエージェント120に送られる。ここで、リソース能力情報取得部131は、図4に示したように、スケジューラ110のリソース能力問い合わせ応答部111に問い合わせを行い、これらの情報を受け取る。したがって、リソース能力問い合わせ応答部111は、クライアント300からリソース能力の問い合わせを受ける場合と、GSエージェント・インタフェース130から問い合わせを受ける場合とがある。
1つのグリッドシステムに着目した場合、ネットワーク上でこのグリッドシステムに隣接する他のグリッドシステムは、当該グリッドシステムのリソース手段として利用できる一方で、当該グリッドシステムに対してジョブの実行を依頼することもできる。そして、所定のグリッドシステムから当該グリッドシステムに対してジョブの実行が依頼された場合を考えると、当該グリッドシステムは、ジョブの実行を依頼した所定のグリッドシステムを自システムのリソース手段として利用することはできない。
したがって、GSエージェント・インタフェース130から問い合わせを受けた場合、スケジューラ110は、GSエージェント・インタフェース130に対してリソース能力取得要求を送信したグリッドサーバ100が含まれるグリッドシステムをリソース手段として利用することはできない。したがってこの場合、スケジューラ110は、リソース能力取得要求を送信したグリッドサーバ100が含まれるグリッドシステムを除いて提供可能なリソース能力を計算して、GSエージェント・インタフェース130へ返すこととなる。
図9は、本実施の形態による広域分散システムを構成するグリッドシステム群の全体構成を示す図である。
上述したように本実施の形態では、個々のグリッドシステムにおいて、グリッドサーバ100とローカルリソースであるプロセスサーバ200との接続、およびグリッドサーバ100と他のグリッドシステムとの接続を、グリッドサーバ100に備えたリソースエージェント120を介して行うこととした。これにより、図9に示すようなネットワークスキームが実現され、各グリッドシステム群は、それぞれクライアント300からジョブの実行依頼を受け付けることができ、そのジョブを自システムのローカルリソースであるプロセスサーバ200によって実行し、あるいはネットワーク上で隣接する他のグリッドシステムに投入して実行させることができる。各グリッドシステムどうしは従属関係を持たず、対等な関係で並列に動作する。
図10は、本実施形態のネットワークスキームにより接続されたグリッドシステム群の所定のグリッドシステムにジョブが投入された場合の分散の様子を示す図である。
図10の例では、破線で示された5つのグリッドシステム(グリッドA、B、C、D、E)からなる広域分散システムのうち、グリッドAにジョブが投入されている。このジョブは、まずグリッドAのローカルリソースであるプロセスサーバ(PS)200に分散投入される。そして、グリッドAのローカルリソースの能力ではこのジョブを処理しきれず、オーバーフローが発生する場合は、グリッドAのグリッドサーバ(GS)100において、ネットワーク上で隣接するグリッドB、Cに対応するリソースエージェント120とスケジューラ110との間で動作状況の確認等のネゴシエーションが行われ、当該ジョブがグリッドB、Cに投入される。ジョブがグリッドB、Cに投入された場合、各グリッドB、Cのローカルリソースで実行され、グリッドBでオーバーフローが生じる場合には、さらにグリッドBに隣接するグリッドD、Eにも当該ジョブが分散投入される。
なお、アプリケーションの種類によっては、グリッドB、Cの動作状況等に関わらず、グリッドAからグリッドB、Cへジョブを渡してしまうこともできる。この場合、グリッドAのグリッドサーバ100において、グリッドB、Cに対応するリソースエージェント120が当該ジョブの実行依頼を受け付け、グリッドB、Cがジョブを受け付け可能な状
態となった時点で、リソースエージェント120からグリッドB、Cへジョブの実行依頼が行われることとなる。
また、上記の説明では、自システムのローカルリソースではジョブを処理しきれずオーバーフローが生ずる場合に他のグリッドシステムにジョブを投入することとした。このように、できるだけローカルリソースで優先的にジョブを処理する方法は、ネットワークの負荷を軽減するために好ましい。しかしながら、ジョブの分散投入の方法はこれに限るものではない。自システムのローカルリソースおよび隣接する他のグリッドシステムの能力やジョブの種類、特性等に鑑み、最適な(実行効率の高い)分散となるように、任意のロジックでジョブの割り当てを行うことができる。
図11は、図10のグリッドシステム群において、他のグリッドシステム(グリッドB)に対してジョブが投入された場合の分散の様子を示す図である。
図11に示すように、グリッドBに投入されたジョブは、まずグリッドBのローカルリソースであるプロセスサーバ200に投入され、オーバーフローが発生する場合に、ネットワーク上で隣接するグリッドA、D、Eに分散投入される。また、グリッドAにおいてオーバーフローが生じるならば、さらにグリッドCにもジョブが分散投入される。
このように、本実施形態のネットワークスキームにより接続されたグリッドシステム群では、各グリッドシステム間に主従関係がなく、対等な関係で並列に動作するため、いずれのグリッドシステムにジョブが投入されても、ネットワーク上で隣接するグリッドシステムに連鎖的にジョブが分散投入され、グリッドシステム群にて構成される広域分散システム全体でジョブを処理することが可能となる。
ここで、本実施形態による広域分散システムがジョブを実行する場合におけるリソース能力の計算方法の一例について説明する。
図12は、図10のグリッドシステム群において所定のグリッドシステムにジョブが投入された場合のリソース能力を説明する図である。
図12において、各グリッドシステムのリソース能力は、次のように定義される。

x:グリッドシステムx自身の(ローカルリソースの)リソース能力
x for user:クライアントからのジョブの実行要求に対してグリッドシステムxが提供可能なリソース能力
x for y:ネットワーク上でグリッドシステムxに隣接するグリッドシステムyからの
ジョブの実行要求に対してグリッドシステムxが提供可能なリソース能力

すなわち、Cx for userおよびCx for yは次の数1式により計算される。
Figure 2005116832
図12を参照すると、クライアント300からグリッドシステムa(図10のグリッドA)にジョブの実行要求が行われた場合、このジョブを実行するために提供される処理能力Ca for userは次のように計算される。

a for user=Ca+Cb for a+Cc for a

ここで、グリッドシステムb(図10のグリッドB)は、グリッドシステムaの他にグ
リッドシステムd、e(図10のグリッドD、E)とも隣接しているので、グリッドシステムaに対して提供できるリソース能力は自システムのリソース能力とグリッドシステムd、eから提供されるリソース能力とを加えたものとなる。すなわち、

b for a=Cb+Cd for b+Ce for b

である。一方、グリッドシステムc(図10のグリッドC)は、グリッドシステムaとのみ隣接するので、自システムのリソース能力のみを提供でき、

c for a=Cc

となる。
同様に図12から、クライアント300からグリッドシステムbにジョブの実行要求が行われた場合、このジョブを実行するために提供される処理能力Cb for userは次のように計算される。

b for user=Cb+Ca for b+Cd for b+Ce for b

そして、グリッドシステムa、d、eからそれぞれグリッドシステムbに提供されるリソース能力は、次のようになる。

a for b=Ca+Cc for a
d for b=Cd
e for b=Ce
また、クライアント300からグリッドシステムdにジョブの実行要求が行われた場合、このジョブを実行するために提供される処理能力Cd for userは次のように計算される。

d for user=Cd+Cb for d

そして、グリッドシステムbからグリッドシステムdに提供されるリソース能力は次のようになる。

b for d=Cb+Ca for b+Ce for b

このうち、リソース能力Ca for b、Ce for bについては上述の通りである。
なお、以上の計算方法は例示に過ぎず、この方法に限らないことは言うまでもない。
以上のように本実施形態では、各グリッドシステムは、直接的には自システムのリソース能力と自システムに隣接する他のグリッドシステムが提供するリソース能力とを求めることで、所定のグリッドシステムに対してジョブの実行要求がなされた場合の広域分散システム全体の処理能力がわかることとなる。したがって、図13〜15に示した従来技術のように、メタスケジューラを設けて広域分散システム全体のグリッドシステムやそのローカルリソースの状態を把握するための情報交換を行う必要がなく、ネットワーク負荷を大幅に軽減することができる。
本実施形態は、グリッドシステムのグリッドサーバ100とローカルリソースであるプ
ロセスサーバ200とを、グリッドサーバ100に設けられたリソースエージェント120をインタフェースモジュールとして接続すると共に、かつグリッドサーバ100とネットワーク上で隣接する他のグリッドシステムのグリッドサーバ100とを、同様のリソースエージェント120を介して接続した。このため、ネットワーク上で隣接する各グリッドシステムのグリッドサーバ100は、相互に相手のグリッドシステムを自システムのローカルリソースと同様に扱うことができ、これにより、グリッドシステム群が上述したネットワークスキームによって接続された広域分散システムを実現することが可能となる。
各グリッドサーバ100のスケジューラ110は、他のグリッドシステムと自システムのローカルリソースとを区別する必要がないため、広域分散システム用の特別の仕組みを導入する必要はない。また、広域分散システムを構成するグリッドシステム群を統括的に管理するメタスケジューラを設ける必要もない。このため、システムの開発に要する手間やコストを大幅に削減することができる。
さらに本実施形態では、ローカルリソースおよび隣接する他のグリッドシステムからなるリソース手段の情報を、各リソース手段に対応させて設けられたリソースエージェント120が管理するため、スケジューラ110は各リソース手段の動作状態を考慮することなくリソースエージェント120に対してジョブの割り当てを行えば良い。したがって、広域分散システムを構成するグリッドシステム群に新たなグリッドシステムが追加されたり、グリッドシステム群から所定のグリッドシステムが除外されたりした場合、これらのグリッドシステムに隣接するグリッドシステムにおいて、対応するリソースエージェント120を追加あるいは削除するだけで対応することができる。このため、システムの拡張性や柔軟性が非常に高い。
そして、ネットワーク上で隣接するグリッドシステムを担当するリソースエージェント120の数を加減することにより、階層構造やカスケード構造など、任意のネットワーク構造を持った広域分散システムを容易に構築することができる。
例えば、1つのグリッドシステムにのみ他のグリッドシステムを担当するリソースエージェント120を多数設けることにより、この1つのグリッドシステムをセンターとして用い、他のグリッドシステム群をバックアップとして運用する、集中型スキームに似た運用形態のシステムを構築できる。
また、個々のグリッドシステムにおいて他のグリッドシステムを担当するリソースエージェント120を1つだけ設けることにより、各グリッドシステムがカスケード的に接続されたシステムを構築できる。
さらに、リソースエージェント120の設定によって、ネットワークに障害が起きた場合に使用される代替のグリッドシステムを定義しておくことも容易に可能なので、障害に対して堅牢な広域分散システムを構築することが可能である。
本実施形態による広域分散システムの全体構成を示す図である。 図1の広域分散システムを構成する個々のグリッドシステムの構成を示す図である。 本実施形態におけるグリッドサーバおよびプロセスサーバを実現するのに好適なコンピュータ装置のハードウェア構成の例を模式的に示した図である。 本実施形態におけるグリッドサーバの機能構成を示す図である。 本実施形態におけるプロセスサーバの機能構成とグリッドサーバのリソースエージェントとの関係を示す図である。 本実施形態の広域分散システムにジョブ実行リクエストを発行するクライアントの機能構成とグリッドサーバのスケジューラとの関係を示す図である。 本実施形態のスケジューラによるジョブのスケジューリングの動作を説明するフローチャートである。 本実施形態におけるリソースエージェントとGSエージェント・インタフェースとスケジューラとの関係を示す図である。 本実施の形態による広域分散システムを構成するグリッドシステム群の全体構成を示す図である。 本実施形態のネットワークスキームにより接続されたグリッドシステム群の所定のグリッドシステムにジョブが投入された場合の分散の様子を示す図である。 図10のグリッドシステム群において、他のグリッドシステムに対してジョブが投入された場合の分散の様子を示す図である。 図10のグリッドシステム群において所定のグリッドシステムにジョブが投入された場合のリソース能力を説明する図である。 集中型スキームによる広域分散システムのシステム構成を概略的に示した図である。 階層型スキームによる広域分散システムのシステム構成を概略的に示した図である。 分散型スキームによる広域分散システムのシステム構成を概略的に示した図である。
符号の説明
11…CPU(Central Processing Unit:中央処理装置)、13…メインメモリ、15
…磁気ディスク装置(HDD)、16…ネットワークインタフェース、100…グリッドサーバ、110…スケジューラ、111…リソース能力問い合わせ応答部、112…リソース能力取得部、113…ジョブ受け付け部、114…最適リソース選択部、115…ジョブ依頼部、120…リソースエージェント、121…リソース状況管理部、122…リソース能力管理部、123…ジョブ受け付け部、124…ジョブ依頼部、130…GSエージェント・インタフェース、131…リソース能力情報取得部、132…リソース能力情報通知部、133…ジョブ受け付け部、134…ジョブ実行依頼部、200…プロセスサーバ、210…PSエージェント・インタフェース、211…PS状況監視部、212…リソース能力情報通知部、213…ジョブ受け付け部、214…ジョブ実行部、300…クライアント、310…リソース能力問い合わせ部、320…ジョブ依頼部

Claims (14)

  1. 複数のコンピュータシステムをネットワークを介して接続する分散処理環境において、当該ネットワークに接続されたコンピュータシステムであって、
    ジョブを実行するコンピュータ資源(ローカルリソース)と、
    ジョブの割り当ておよび実行要求を行うグリッドサーバとを備え、
    前記グリッドサーバが、
    前記ネットワーク上で前記コンピュータシステム(自システム)に接続されている少なくとも1つの他のコンピュータシステム(ネットワークリソース)および前記ローカルリソースに関する情報(リソース情報)を管理し、これらのリソースにジョブの実行を要求するエージェントと、
    第1のジョブの実行をもとめる第1の要求に応答して、前記リソース情報に基づき、前記ローカルリソースおよび前記ネットワークリソースのうち1または複数のリソースに当該第1のジョブを割り当てるスケジューラと、を具備することを特徴とする、
    コンピュータシステム。
  2. 前記エージェントは、各々の前記ネットワークリソースおよび前記ローカルリソースごとに設けられることを特徴とする、請求項1に記載のコンピュータシステム。
  3. 前記エージェントによって管理される前記リソース情報は、対応する前記ローカルリソースまたは前記ネットワークリソースの処理能力に関する静的情報を含むことを特徴とする、請求項2に記載のコンピュータシステム。
  4. 前記エージェントによって管理される前記リソース情報は、対応する前記ローカルリソースまたは前記ネットワークリソースの実時間における負荷状況に関する動的情報を含むことを特徴とする、請求項2記載のコンピュータシステム。
  5. 前記グリッドサーバは、
    前記ネットワーク上の他のコンピュータシステムから送信された第2のジョブの実行をもとめる第2の要求を受け付け、当該第2の要求を前記スケジューラに渡して当該第2のジョブの割り当てを依頼する第1のインタフェース手段をさらに具備することを特徴とする、請求項1に記載のコンピュータシステム。
  6. 前記第1のインタフェース手段は、
    前記他のコンピュータシステムからの問い合わせに応じて、前記コンピュータシステム(自システム)に関する前記リソース情報を、当該他のコンピュータシステムに通知する手段をさらに有することを特徴とする、請求項5に記載のコンピュータシステム。
  7. 前記ローカルリソースに対応する前記エージェントは、当該ローカルリソースの処理能力および動作状況に関する情報を前記リソース情報として管理し、
    前記ネットワークリソースに対応する前記エージェントは、当該ネットワークリソースが前記第1の要求に対して提供可能なリソースの処理能力に関する情報を前記リソース情報として管理し、
    前記スケジューラは、前記エージェントに管理されている前記リソース情報に基づいて、前記第1のジョブの割り当てを行うことを特徴とする、
    請求項2に記載のコンピュータシステム。
  8. 前記ローカルリソースは、
    対応する前記エージェントからの問い合わせに応じて、前記リソース情報を当該エージェントに通知する第2のインタフェース手段をさらに具備することを特徴とする、請求項
    2に記載のコンピュータシステム。
  9. それぞれがジョブを実行するローカルのコンピュータ資源(ローカルリソース)を有する複数のコンピュータシステムをネットワークを介して接続する分散処理環境において、ジョブの実行を制御するための方法であって、
    前記ネットワークに接続された第1のコンピュータシステムが、自身の前記ローカルリソースからその処理能力に関する第1のリソース情報を、前記ネットワーク上で当該第1のコンピュータシステムと接続されている少なくとも1つの第2のコンピュータシステム(ネットワークリソース)からその処理能力に関する第2のリソース情報を、それぞれ取得して管理するステップと、
    前記第1のコンピュータシステムが、第1のジョブの実行をもとめる第1の要求に応答して、前記第1および第2のリソース情報に基づいて、前記ローカルリソースと前記ネットワークリソースを対象として前記第1のジョブの割り当てを行うステップと、
    前記第1のコンピュータシステムが、前記第1のジョブの割り当てられたリソースに対して当該第1のジョブの実行をもとめる第2の要求を発行するステップと、
    を含むことを特徴とするジョブ実行制御方法。
  10. 前記第1のコンピュータシステムが、発行された前記第2の要求を一時的に保持し、前記第1のジョブの割り当てられた前記リソースの動作状況に応じて、当該リソースに送信するステップをさらに有することを特徴とする、請求項9記載の方法。
  11. 前記第2のコンピュータシステムが、前記ネットワーク上で当該第2のコンピュータシステムと接続されている少なくとも1つの第3のコンピュータシステムとの関係で、前記第1のコンピュータシステムと同等のステップを実行することを特徴とする、請求項10記載の方法。
  12. 前記第2のコンピュータシステムが、前記第1のコンピュータシステムからの問い合わせに応答して、前記第2のリソース情報を通知するステップを有することを特徴とする、請求項9記載の方法。
  13. それぞれがジョブを実行するローカルのコンピュータ資源(ローカルリソース)を有する複数のコンピュータシステムをネットワークを介して接続する分散処理環境において、前記ネットワークに接続された第1のコンピュータシステムに、
    前記ネットワークに接続された第1のコンピュータシステムが、自身の前記ローカルリソースからその処理能力に関する第1のリソース情報を、前記ネットワーク上で当該第1のコンピュータシステムと接続されている少なくとも1つの第2のコンピュータシステム(ネットワークリソース)からその処理能力に関する第2のリソース情報を、それぞれ取得して管理する処理と、
    前記第1のコンピュータシステムが、第1のジョブの実行をもとめる第1の要求に応答して、前記第1および第2のリソース情報に基づいて、前記ローカルリソースと前記ネットワークリソースを対象として前記第1のジョブの割り当てを行う処理と、
    前記第1のコンピュータシステムが、前記第1のジョブの割り当てられたリソースに対して当該第1のジョブの実行をもとめる第2の要求を発行する処理と、
    を実行させることを特徴とするプログラム。
  14. 前記第1のコンピュータシステムが、発行された前記第2の要求を一時的に保持し、前記第1のジョブの割り当てられた前記リソースの動作状況に応じて、当該リソースに送信する処理を前記コンピュータにさらに実行させることを特徴とする請求項13に記載のプログラム。
JP2006513869A 2004-05-31 2005-05-23 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム Pending JPWO2005116832A1 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2004161819 2004-05-31
JP2004161819 2004-05-31
PCT/JP2005/009350 WO2005116832A1 (ja) 2004-05-31 2005-05-23 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム

Publications (1)

Publication Number Publication Date
JPWO2005116832A1 true JPWO2005116832A1 (ja) 2008-04-03

Family

ID=35451046

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006513869A Pending JPWO2005116832A1 (ja) 2004-05-31 2005-05-23 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム

Country Status (3)

Country Link
JP (1) JPWO2005116832A1 (ja)
CN (1) CN1954295A (ja)
WO (1) WO2005116832A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4522780B2 (ja) * 2004-07-28 2010-08-11 株式会社トヨタIt開発センター グリッド・コンピューティング・システム、プログラム、記録媒体およびグリッド・コンピューティング方法
JP4806362B2 (ja) * 2007-02-14 2011-11-02 富士通株式会社 並列処理制御プログラム、並列処理制御システムおよび並列処理制御方法
US8442015B2 (en) * 2007-07-20 2013-05-14 Broadcom Corporation Method and system for an atomizing function of a mobile device
JP4821783B2 (ja) * 2008-02-08 2011-11-24 日本電気株式会社 グリッドコンピューティングシステム及びデータ処理方法
US8959525B2 (en) 2009-10-28 2015-02-17 International Business Machines Corporation Systems and methods for affinity driven distributed scheduling of parallel computations
JP2013239124A (ja) * 2012-05-17 2013-11-28 Nec Corp 端末制御システム、端末管理装置、端末制御装置、端末制御方法、端末管理プログラム及び端末制御プログラム
JP6413789B2 (ja) 2015-01-22 2018-10-31 富士通株式会社 ジョブ管理プログラム、ジョブ管理方法及びジョブ管理装置
CN106899656B (zh) * 2017-01-03 2018-12-11 珠海格力电器股份有限公司 设备控制方法和装置
CN110032364B (zh) * 2019-04-11 2023-08-15 上海商汤智能科技有限公司 数据处理方法、装置、电子设备和计算机存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2580525B2 (ja) * 1993-11-17 1997-02-12 工業技術院長 並列計算機における負荷分散方法
JP3512080B2 (ja) * 1995-12-27 2004-03-29 ソニー株式会社 計算装置および方法
JP3745820B2 (ja) * 1996-02-23 2006-02-15 三菱電機株式会社 自律協調情報処理装置並びに自律協調情報処理方法
JP2912225B2 (ja) * 1996-04-18 1999-06-28 四国日本電気ソフトウェア株式会社 通信処理システム

Also Published As

Publication number Publication date
WO2005116832A1 (ja) 2005-12-08
CN1954295A (zh) 2007-04-25

Similar Documents

Publication Publication Date Title
JP5022030B2 (ja) コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム
JP4954089B2 (ja) グリッド・アクティビティのモニタリングおよび振り分けによる総合的グリッド環境管理を促進する方法、システム、およびコンピュータ・プログラム
US7707288B2 (en) Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment
US9075659B2 (en) Task allocation in a computer network
JPWO2005116832A1 (ja) 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム
US7788375B2 (en) Coordinating the monitoring, management, and prediction of unintended changes within a grid environment
US7774457B1 (en) Resource evaluation for a batch job and an interactive session concurrently executed in a grid computing environment
US7464160B2 (en) Provisioning grid services to maintain service level agreements
JP4606404B2 (ja) 計算資源管理プログラムおよび計算資源管理装置
Elmroth et al. Grid resource brokering algorithms enabling advance reservations and resource selection based on performance predictions
US20080229320A1 (en) Method, an apparatus and a system for controlling of parallel execution of services
US20050188087A1 (en) Parallel processing system
US9424096B2 (en) Task allocation in a computer network
JP2001331333A (ja) 計算機システム及び計算機システムの制御方法
JP2007041720A (ja) ジョブステップ実行プログラムおよびジョブステップ実行方法
CN111443870B (zh) 一种数据处理的方法、设备及存储介质
JP3944176B2 (ja) 探索要求送信装置およびプログラム
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
JP5151509B2 (ja) 仮想マシンシステム及びそれに用いる仮想マシン分散方法
JP4557949B2 (ja) 資源ブローカリングプログラム、該プログラムを記録した記録媒体、資源ブローカリング装置、および資源ブローカリング方法
JP2007102332A (ja) 負荷分散システム及び負荷分散方法
JPH10207847A (ja) 分散システムにおける自動負荷分散方式
JP2010097566A (ja) 情報処理装置、及び情報処理システムにおけるバッチ処理の割り当て方法
US12028269B2 (en) Method for optimal resource selection based on available GPU resource analysis in large-scale container platform
US20230155958A1 (en) Method for optimal resource selection based on available gpu resource analysis in large-scale container platform

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090331

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090629

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090915