JP2006277617A - ジョブ管理装置、ジョブ管理プログラム、及びジョブ管理方法 - Google Patents
ジョブ管理装置、ジョブ管理プログラム、及びジョブ管理方法 Download PDFInfo
- Publication number
- JP2006277617A JP2006277617A JP2005099412A JP2005099412A JP2006277617A JP 2006277617 A JP2006277617 A JP 2006277617A JP 2005099412 A JP2005099412 A JP 2005099412A JP 2005099412 A JP2005099412 A JP 2005099412A JP 2006277617 A JP2006277617 A JP 2006277617A
- Authority
- JP
- Japan
- Prior art keywords
- job
- batch system
- job management
- information
- resource
- 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
Links
Images
Abstract
【課題】 理想的なグリッド分散環境を実現できると共に、計算機資源の拡張性にも優れ、かつ計算機の秘匿性を実現できるジョブ管理装置を提供する。
【解決手段】 各バッチシステム3a、3b…3nをP2Pにおけるピアとして分散し、それらバッチシステム3a,3b,3cを連携させて情報を共有化する。そして、各バッチシステム3a、3b…3nにおけるジョブの情報を相互のバッチシステムで伝播させることによりジョブを実行させる暇なバッチシステム3aの計算機資源6a…6nを決定し、多忙なバッチシステム3bのジョブを暇なバッチシステム3aに投入する。
【選択図】 図1
【解決手段】 各バッチシステム3a、3b…3nをP2Pにおけるピアとして分散し、それらバッチシステム3a,3b,3cを連携させて情報を共有化する。そして、各バッチシステム3a、3b…3nにおけるジョブの情報を相互のバッチシステムで伝播させることによりジョブを実行させる暇なバッチシステム3aの計算機資源6a…6nを決定し、多忙なバッチシステム3bのジョブを暇なバッチシステム3aに投入する。
【選択図】 図1
Description
本発明は、グリッド上のバッチシステムによってジョブの分散管理を行うグリッド計算システムに適用されるジョブ管理装置、ジョブ管理プログラム、及びジョブ管理方法に関するものである。
従来より、グリッド計算において構成されるバッチシステムをコンピュータツーコンピュータ(以下、P2Pという)に基づく形で連携させ、耐故障性、拡張性などを実現させる分散管理システムが知られている。この分散管理システムは、P2Pに基づくグリッド上のバッチシステムによって実現される。このような分散管理システムにおいて、大量のジョブを実行するバッチシステムでは、主に、センタ装置で集中的に管理されている計算機群を対象にジョブの投入が効率的に行われている。このとき、ジョブの投入端末は、ジョブが必要とするCPUアーキテクチャやメモリ量などのジョブ情報を入力として与え、その投入端末が属するバッチシステムの動くサーバが管理している全資源の中から適切な資源を割り当ててジョブを実行している。このようなバッチシステムの動作により、バッチシステム内の計算機を設定する手間をかけることなく、ユーザ端末(つまり、ジョブの投入依頼端末)は容易にジョブの投入依頼を行うことができる。
また、近年、1つのコンピュータを中心にしてジョブを分散するグリッド計算という環境が出現しているため、広域に亘って分散配置された計算機資源にジョブを投入することが可能になっている。このような分散環境でバッチシステムを構築するときには従来のバッチシステムの技術を拡張する手法が用いられている(例えば、非特許文献1及び非特許文献2参照)。また、グリッドコンピューティングシステムにおいて、ワークステーションの活動状況が低いときはグリッド・ワークロードを割り当て、ワークステーションの活動状況が高いときはグリッド・ワークロードを割り当てないようにして、ジョブの分散化を図った技術も開示されている(例えば、特許文献1参照)。さらに、グリッドコンピューティングシステムにおいて、P2Pの通信を使用して資源利用コンピュータと資源提供コンピュータとを相互通信する技術も開示されている(例えば、特許文献2参照)。すなわち、特許文献1や特許文献2の技術によれば、グリッドコンピューティングシステムの資源割り当てを行うサーバを分散させ、計算機資源が開いているサーバを見つけたら自発的にそのサーバにジョブ情報を流してジョブの投入を依頼することができる。このようにしてサーバを連携させることにより、グリット上のバッチシステムをP2Pによって実現することができる。
特開2004−38972号公報
特開2004−206273号公報
しかしながら、従来のバッチシステムでは、一つのサーバが全ジョブと全計算機資源を管理し、各ジョブに対して適切な計算機資源を割り当ててそれぞれのジョブを実行している。つまり、従来のバッチシステムでは、サーバの負荷を軽減させたり耐故障性を向上させるためにサーバを分散することはあっても、論理的には、バッチシステム全体の系では1つのサーバとして捉えることができるため、サーバが停止すると、バッチシステム内の全体の計算機資源が使えなくなるなどの不具合を生じる。例えば、社内の計算機資源を利用するバッチシステムでA地域の工場内にサーバがあるときにA地域で停電が発生すると、B地域やC地域といった他の地域の計算機資源は動いているにも関わらず、A地域のサーバは他の地域のサーバに対してジョブを投入できなくなる事態が生じる。つまり、グリッド計算の分野に適用すると、ある地区が停電で計算機資源を動かせないときに、その地区でサーバが動いていた場合には他の全ての地域でジョブの実行が不可能になるなど、特定の地域での故障が全てのバッチシステムの停止に至ってしまう。
このようなことは、特にグリッド分散環境ということを考えると、センタ装置で全てのジョブを管理するのでなく、分散配置された計算機資源の利用を透過的に可能にしている状況では望ましくない。つまり、従来のバッチシステムでは、ユーザ端末から見ると多くの計算機資源にジョブを投入できるようになったという利点はあるものの、ジョブ投入の管理サーバが集中管理しているため、ユーザ端末が観測するバッチシステムとしては集中管理されたバッチシステムと何ら変わらない。さらに、ユーザ端末がジョブを実行させるためにはセンタ装置のサーバにアクセスする必要がある。つまり、ジョブをネットワーク的に近い計算機資源で実行する場合であっても、センタ装置のサーバを経由することを省くことはできない。そのため、全ての入力ファイルが一度にセンタ装置のサーバへ転送するなどの現象が発生して、無駄なネットワークトラフィックが生じるおそれがあると共に、通信の輻輳を生じさせるおそれもある。
さらには、従来のバッチシステムでは、拡張性の面で考えると扱うことができる計算機資源の個数にも問題が生じる。つまり、グリッド計算においては、使用することが可能な計算機資源の個数はセンタ装置に比べて非常に多いと考えられ、センタ装置で想定する個数より多くの計算機資源を扱える環境にする必要がある。言い換えれば、グリッド計算の分野では1つの組織が全ての計算機資源を管理しているわけではなく、使える計算機資源の個数が動的に定まるために、使用可能な計算機資源の個数をあらかじめ予見することができない。そのため、計算機資源の個数の拡張性は極めて重要である。しかし、従来のバッチシステムではこのような拡張性に十分に対応していない。
また、グリッド計算の特徴の1つである異なる組織の計算機資源を利用する場合には、計算機資源の詳細な仕様を隠したままジョブを実行させたいという要求がある。このような要求は、例えば、バッチシステムに接続されているユーザ端末にOSのバージョンを読み取られることにより、そのOSのセキュリティホールをつくような攻撃を受ける危険性をなくすためである。つまり、バッチシステムに接続されたサーバが全資源の情報を集めるようなバッチシステムの方式では、計算機資源の詳細な仕様を隠したまま所定のジョブを実行させるようなシステムを構築することはできない。
本発明は上記のような問題点に鑑みてなされたものであり、各々が独立したバッチシステム間でジョブの必要とするCPUアーキテクチャやメモリ量等の情報や資源情報を共有させるように機能させることにより、理想的なグリッド分散環境を実現することができると共に、計算機資源の拡張性にも優れ、かつ個々の計算機の秘匿性を実現させることの可能なジョブ管理装置、ジョブ管理プログラム、及びジョブ管理方法を提供することを目的としている。
上述した課題を解決するため、本発明は、配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置であって、自己の配下にない資源を管理する他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおける資源情報を受信する他システム資源情報受信部と、前記他システム資源情報受信部により取得された前記他のバッチシステムにおける資源情報に基づいて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するジョブ移動投入部とを備えてなる。
さらに、自己の配下にある資源に関する情報を他のバッチシステムのジョブ管理装置に送信する自己システム資源情報送信部と、前記他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入部とを備えてなる。
ここで、前記資源情報には、資源におけるジョブに対する余剰能力に関する情報が含まれていることを特徴とする。また、前記他のバッチシステムには自己のバッチシステムにおけるジョブ管理装置から所定のホップ数で接続される範囲のバッチシステムが含まれることを特徴とする。
また、本発明は、配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置のコンピュータにより実行されるジョブ管理プログラムであって、他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおける資源情報を受信する他システム資源情報受信ステップと、前記他システム資源情報受信ステップにより取得された前記他のバッチシステムにおける資源情報に基づいて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するジョブ移動投入ステップとをコンピュータに実行させる。
さらに、このジョブ管理プログラムにおいて、自己の配下にある資源に関する情報を他のバッチシステムのジョブ管理装置に送信する自己システム資源情報送信ステップと、前記他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入ステップとをコンピュータに実行させる。
また、前記ジョブ移動投入ステップに先駆けて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するために、前記他のバッチシステムのジョブ管理装置に資源の予約を行い、予約成立の場合に前記ジョブ移動投入ステップが行われる資源予約ステップをコンピュータに実行させる。
また、前記ジョブ移動投入ステップに先駆けて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するために、前記他のバッチシステムのジョブ管理装置に資源の予約を行い、予約成立の場合に前記ジョブ移動投入ステップが行われる資源予約ステップをコンピュータに実行させる。
また、本発明は、配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置であって、ジョブの必要とするCPUメモリ量といった情報(以下「ジョブ情報」と記述)を受信する他システムジョブ情報受信部と、前記他システムジョブ情報受信部により取得された前記他のバッチシステムにおけるジョブ情報に基づいて他のバッチシステムからジョブを取得を要求するジョブ移動要求送信部と、前記他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入部と備えている。
このジョブ管理装置において、自己に投入されたジョブのジョブ情報を他のバッチシステムのジョブ管理装置に送信する事故システムジョブ情報送信部と、前記他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入部とを備えている。
また、本発明は、配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置のコンピュータにより実行されるジョブ管理プログラムであって、他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおけるジョブ情報を受信する他システムジョブ情報受信ステップと、他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおけるジョブ情報に基づいてジョブ取得要求を送信するジョブ取得要求送信システムと他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入ステップとをコンピュータに実行させる。
また、このジョブ管理プログラムにおいて、自己に投入されたジョブに関する情報を他のバッチシステムのジョブ管理装置に送信する自己システムジョブ情報送信ステップと、前記他のバッチシステムから送信されるジョブ取得要求に基づいて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するジョブ移動投入ステップとをコンピュータに実行させる。
また、前記他ジョブ受付投入ステップにより、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して実行する場合に、前記他のバッチシステムにおけるジョブ管理装置に、実行状態に関する情報を通知する実行状態通知ステップをコンピュータに実行させる。
また、前記他ジョブ受付投入ステップにより、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して実行する場合に、前記他のバッチシステムにおけるジョブ管理装置に、実行状態に関する情報を通知する実行状態通知ステップをコンピュータに実行させる。
また、本発明は、配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置により実行されるジョブ管理方法であって、自己の配下にない資源を管理する他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおける資源情報を受信する他システム資源情報受信ステップと、前記他システム資源情報受信ステップにより取得された前記他のバッチシステムにおける資源情報に基づいて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するジョブ移動投入ステップとを備える。
本発明によれば、各バッチシステムが独立して動作しているため、あるバッチシステムが動作しなくなった場合でも、他のバッチシステムの配下にある資源を有効に使用することができる。また、ジョブが必要とするCPUアーキテクチャやメモリ量等の情報を他のバッチシステムに流し、受信側(つまり、情報を受け取った他のバッチシステム側)で資源情報に対応するジョブのマッチングを行っているので、各バッチシステムの負荷分散が可能になり、かつ、計算機資源の内容を開示することなくジョブを受け入れることが可能になる。
また、従来のバッチシステムが資源情報を収集する手法では、ジョブが大量に投入されているバッチシステムがジョブを処理するために負荷が高い上に、さらに、情報を集めて自己のバッチシステムでジョブを実行する計算機資源を決めなくてはならないために益々負荷が増加してしまう問題があった。しかし、本発明によるバッチシステムでは、負荷の軽いバッチシステムのジョブ実行先でジョブの割り当てを行うことができるため、負荷の重いバッチシステムが負荷に関する情報を要求されることにより、さらに負荷が重くなるというような不具合は発生しなくなる。
また、本発明によれば、計算機資源の拡張が容易になり、最初から管理する全体の計算機資源を把握しなくても、随時にバッチシステムを追加してそれをP2P的につなげて行けば計算機資源を任意に拡張することができる。
〈発明の概要〉
本発明は、各バッチシステムにおいて独立しているジョブ管理装置(サーバ)をP2Pにおけるピアとして分散し、それらのサーバを連携させてジョブ情報を共有化する。そして、ジョブ情報を相互のサーバで伝播させることによりジョブを実行させる計算機資源を決定する。これにより、負荷分散による負荷の軽減化、耐故障性の向上、ファイル転送量の軽減化、及び資源情報の隠蔽化を図ることができる。また、ジョブ情報の移動によるジョブ実効資源の決定機構により、系全体の負荷を軽減させることができる。
本発明は、各バッチシステムにおいて独立しているジョブ管理装置(サーバ)をP2Pにおけるピアとして分散し、それらのサーバを連携させてジョブ情報を共有化する。そして、ジョブ情報を相互のサーバで伝播させることによりジョブを実行させる計算機資源を決定する。これにより、負荷分散による負荷の軽減化、耐故障性の向上、ファイル転送量の軽減化、及び資源情報の隠蔽化を図ることができる。また、ジョブ情報の移動によるジョブ実効資源の決定機構により、系全体の負荷を軽減させることができる。
〈実施の形態〉
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。図1は、本発明の実施の形態に適用されるグリッド計算システムの構成図である。図1において、グリッド計算システム1は、複数のバッチシステム3a、3b、…3nがネットワーク4に接続されてシステム連携された構成となっている。各バッチシステム3a、3b、…3nは、それぞれ、配下にある計算機資源を用いてジョブを実行させるジョブ管理装置(サーバ)2a、2b、…2nを備えて構成されている。また、バッチシステム3aでは、ジョブを依頼するユーザ端末5a1…5anとジョブを実行する計算機資源6a1…6anとが接続され、バッチシステム3bでは、ジョブを依頼するユーザ端末5b1…5bnとジョブを実行する計算機資源6b1…6bnとが接続され、以下、同様にして、バッチシステム3nでは、ジョブを依頼するユーザ端末5n1…5nnとジョブを実行する計算機資源6n1…6nnとが接続されている。
以下、本発明の実施の形態について図面を参照しつつ詳細に説明する。図1は、本発明の実施の形態に適用されるグリッド計算システムの構成図である。図1において、グリッド計算システム1は、複数のバッチシステム3a、3b、…3nがネットワーク4に接続されてシステム連携された構成となっている。各バッチシステム3a、3b、…3nは、それぞれ、配下にある計算機資源を用いてジョブを実行させるジョブ管理装置(サーバ)2a、2b、…2nを備えて構成されている。また、バッチシステム3aでは、ジョブを依頼するユーザ端末5a1…5anとジョブを実行する計算機資源6a1…6anとが接続され、バッチシステム3bでは、ジョブを依頼するユーザ端末5b1…5bnとジョブを実行する計算機資源6b1…6bnとが接続され、以下、同様にして、バッチシステム3nでは、ジョブを依頼するユーザ端末5n1…5nnとジョブを実行する計算機資源6n1…6nnとが接続されている。
各バッチシステム3a、3b、…3nは、それらのジョブ管理装置2a,2b,…2nそれぞれが自己の配下にジョブを実行する計算機資源を抱えている。そして、例えば、あるユーザ端末5b1が自己の認識している1つのジョブ管理装置2bにジョブ実行依頼(投入)する。このとき、各バッチシステム3a、3b、…3nは、相互にジョブ情報や計算機資源の資源情報をやりとりしており、ジョブ管理装置2bは空いている計算機資源を持っているバッチシステム(例えば、バッチシステム3a)にジョブを移動させてジョブを実行させる。
このとき、各々が独立したバッチシステム3a、3b、…3n(ジョブ管理装置2a,2b,…2n)の間で、ジョブが必要とするCPUアーキテクチャやメモリ量などのジョブ情報や、各バッチシステム3a、3b、…3nが保有する計算機資源の資源情報を共有している。そして、各バッチシステム3a、3b、…3nの間におけるジョブ移動の選別を行うために、ジョブが必要とするCPUアーキテクチャやメモリ量などの情報を相互に通知し合っている。
図2は、図1に示す各バッチシステム3a、3b、…3nにおけるジョブ管理装置(サーバ)2が実現するソフトウェアの機能構成図である。各バッチシステム3a、3b、…3nにおけるジョブ管理装置2の機能は、それぞれ、情報伝播制御機能11とジョブ実行機能12とによって構成されている。情報伝播制御機能11は、送信情報の生成、ジョブ情報の受信、ジョブ情報の送信、資源情報の受信、及び資源情報の送信などを実現する。なお、資源情報とは計算機資源のCPUアーキテクチャやメモリ量などの情報である。また、ジョブ情報とは、ジョブが必要とするCPUアーキテクチャやメモリ量などの情報である。
ジョブ実行機能12は、内部情報として、実行待ちジョブの集合、実行中のジョブの集合、及び資源情報の集合を保有している。また、ジョブ実行機能12は、これらの保有情報に基づいてジョブ及び資源キューの操作、挿入、削除、取り出し、要素の参照、資源データの参照、及びジョブの移動などを実現する。すなわち、バッチシステムにおいては、情報伝播制御機能11が、ジョブ実行機能12の提出するメソッドであるキュー操作関数を使ってジョブ実行機能12の内部情報を取り出し、自己の内部にある送信情報の生成メソッドを使って他のブローカ(GRM)に送信するジョブや計算機資源の情報を生成する。
図3は、図2に示すジョブ管理装置の送受信機能部の構成を示すブロック図である。図3に示すように、ジョブ管理装置(送受信機能部)2(図1の2a〜2n)は、他システム資源情報受信部22、ジョブ移動投入部23、自己システム資源情報送信部24、他ジョブ受付投入部25、他システムジョブ情報受信部26、ジョブ移動要求送信部27、他システムジョブ情報送信部28を備えた構成となっている。
あるバッチシステム(例えば3a)におけるジョブ管理装置の他システム資源情報受信部22は、自己の配下にない計算機資源(例えば、計算機資源6b1…6bn)を管理する他のバッチシステム(例えば3b)のジョブ管理装置2bから送信される当該他のバッチシステム(バッチシステム3b)における資源情報(計算機資源6b1…6bn)を受信する機能を有している。
あるバッチシステム(例えば、バッチシステム3a)におけるジョブ管理装置(例えば2a)のジョブ移動投入部23は、他システム資源情報受信部22によって取得された他のバッチシステム(例えば3b)における資源情報に基づいて、自己のバッチシステム(3a)において投入されたジョブを他のバッチシステム(3b)に移動して投入する機能を有している。
あるバッチシステム(例えば3a)におけるジョブ管理装置(例えば2a)の自己システム資源情報送信部24は、自己の配下にある計算機資源(計算機資源6a1…6an)に関する情報を自己の配下にない計算機資源(例えば、計算機資源6b1…6bn)を管理する他のバッチシステム(例えば3b)のジョブ管理装置(例えば2b)に送信する機能を有している。なお、計算機資源に関する情報には、実行中のジョブに対する資源の余剰能力、また実行中のジョブが無い場合は、その旨等、該情報によりそのバッチシステムが他のバッチシステムからジョブを移動投入することができるか否かの判断を行う情報が含まれる。
あるバッチシステム(例えば3a)におけるジョブ管理装置(例えば2a)の他ジョブ受付投入部25は、他のバッチシステム(例えば3b)から送信されるジョブの移動投入要求に基づいて、他のバッチシステム(3b)において投入されたジョブを自己の配下にある計算機資源(計算機資源6a1…6an)に投入する機能を有している。
あるバッチシステム(例えば3a)におけるジョブ管理装置(例えば2a)の他システムジョブ情報受信部26は、他のバッチシステム(例えば3b)から送信されるジョブ情報を受信する機能を有している
あるバッチシステム(例えば3a)におけるジョブ管理装置(例えば2a)の
ジョブ移動要求送信部27は、他のバッチシステム(例えば3b)から送信されるジョブ情報に基づき、該当ジョブの自分の場所への移動要求を送信する機能を有している
ジョブ移動要求送信部27は、他のバッチシステム(例えば3b)から送信されるジョブ情報に基づき、該当ジョブの自分の場所への移動要求を送信する機能を有している
あるバッチシステム例えば3a)におけるジョブ管理装置(例えば2a)の
他システムジョブ情報送信部27は、自分に投入されたジョブ情報を他のバッチシステム(例えば3b)に送信する機能を有している。
他システムジョブ情報送信部27は、自分に投入されたジョブ情報を他のバッチシステム(例えば3b)に送信する機能を有している。
次に、図1、図2、及び図3を参照しながら、実施の形態の動作について説明する。本発明では、ジョブに計算機資源を割り当てるバッチシステム3a、3b…3nが地理的に複数箇所に亘って分散して配置されている。ここで、理解を容易にするために、一例として、配下にある全ての計算機資源6a1…6anがジョブを実行していないバッチシステム3aを「暇なバッチシステム」と呼び、実行待ちのジョブがあるバッチシステム3bを「忙しいバッチシステム」と呼ぶことにする。
そして、暇なバッチシステム(バッチシステム3a)は、自己が暇であること示す情報(資源情報に含まれる)を他のバッチシステム(バッチシステム3b…バッチシステム3n)に広報する。また、他のバッチシステム(バッチシステム3b…バッチシステム3n)は任意のトポロジー(接続形態)でつながっているものとし、情報が伝わる範囲はポップ(POP)数で制限されるものとする。
今、バッチシステム3bにジョブが大量に投入されて忙しいバッチシステムとなり、自己の配下にある全ての計算機資源6b1…6bnでジョブの実行状態になったとき、暇なバッチシステム3aにジョブ情報を送信する。ジョブ情報を受け取った暇なバッチシステム3aはそのジョブを実行するのに適切な計算機資源が自己の配下にあった場合にジョブ情報を取得する。その後も忙しいバッチシステム3bは情報を送ったジョブが持って行かれて実行される限り、一定個数ずつその暇なバッチシステム3aに対してジョブ情報を送り続ける。また、一定時間内にジョブが持っていかれない場合には、バッチシステム3bは、その暇なバッチシステム3aにジョブを送信するのをやめ、他の暇なバッチシステム(例えば、バッチシステム3n)から暇であるという情報が届くのを待って、前述と同じように、他の暇なバッチシステム(バッチシステム3n)へジョブ情報の伝達を繰り返す。
すなわち、本実施の形態では、計算機資源の割り当てを行う独立したバッチシステムが複数個あるとき、ジョブが必要とするCPUアーキテクチャやメモリ量等のCPU情報や資源情報をP2Pの形態で送受信する仕組みを構築している。なお、P2Pの形態とは、センタとなるサーバにCPU情報や資源情報を送ることなく、任意のバッチシステム間でCPU情報や資源情報を送受信する通信の形態である。
また、本発明では、計算機資源の割り当てを行うバッチシステムを分散化させ、それらのシステム間で計算機資源やジョブなどの情報を共有する。このとき、各システムは、独立してジョブの実行を行う独立モジュールと情報の共有を制御する共有モジュールとを備えている。情報の共有を制御する共有モジュールは情報の送受信などのライブラリを使って管理者が自身の制御ポリシーを記述する。したがって、あるシステムがダウンした場合でも、共有モジュールの機能によって、動作している他のシステムの管理下の計算機資源を使ってジョブの実行を継続することができる。
このとき、従来のバッチシステムでは、例えば、実行していない計算機資源を大量に持つバッチシステム3aのジョブ管理装置2aがジョブを探す場合、現在忙しいバッチシステム3bにも問い合わせるため、バッチシステム3bの処理量をさらに増大させてしまい、結果的に、バッチシステム3bの負荷がさらに増加してしまう。
本発明では、各バッチシステム(ジョブ管理装置)からジョブの混み状況を予め広報しているため、忙しいバッチシステムが他の忙しいバッチシステムに問い合わせを行う必要はなく、暇なバッチシステムを見出すことができ、もって、忙しいバッチシステムの負荷を増大させることはない。
また、バッチシステム3bからバッチシステム3aへのジョブ情報の転送により、バッチシステム3aは自己の資源情報を非開示のままバッチシステム3bからジョブを受け入れることもできる。さらに、バッチシステム3bは、自己が処理可能な負荷の量である限りは自己の内部でジョブを実効するためのコマンドとファイルの転送量を減らすことができる。
なお、ファイルには入力ファイルと出力ファイルがあり、入力ファイルとは、ジョブのコマンド(例えば、aというバイナリに1“hoge”という引数を与えてジョブを実行するときには、a1“hoge”という文字列のコマンド)とプログラムが必要とするファイルである。また、出力ファイルとはジョブが出力するファイルである。
次に、シーケンス図を用いて、図1に示すグリッド計算システムにおける分散処理の流れを説明する。あらかじめ、シーケンス図に用いられる各種の矢印の意味について説明する。図4は、図1に示すグリッド計算システムのシーケンス図に用いられる各種の矢印の意味を示す図であり、図5は、図4に示す各種の矢印を使用した具体例を示す図である。図4に示すように、(a)の矢印は非同期メッセージの流れに用いられ、受信の完了を待たずに次の操作が可能な流れを意味する。(b)の矢印は同期メッセージの流れに用いられ、受信の完了を待って次の操作を行う流れを意味する。(c)の組合せ矢印は同期メッセージとその返信の流れを意味する。
したがって、図5に示すように、(a)のシーケンスは、2は1の受信完了前に送信が可能な状態を示している。(b)のシーケンスは、4は3の受信完了後に初めて送信が可能な状態を示している。また、(c)のシーケンスは、6は5の返信であって新たなメッセージではない状態を示している。
図6は、図1に示すグリッド計算システムにおける分散処理の流れを示す第1の形態のシーケンス図である。図6に示す第1の形態のシーケンス図は、計算機資源の資源情報を各バッチシステムのジョブ管理装置(サーバ)に渡しておいてジョブを送信する場合の流れを示している。なお、以下のシーケンス図では、各バッチシステムのジョブ管理装置をGRM(ブローカ)で表わしている。
図6において、計算機資源が資源情報をGRM2に伝達すると(S1)、その資源情報はGRM2からGRM1へ伝達される(S2)。このような環境下において、ユーザ端末がジョブを実行するためのコマンド及び入力ファイルをGRM1へ送信すると(S3)、GRM1は、受信したコマンド及び入力ファイルに基づいて、GRM2に対して資源予約を行い(S4)、GRM2から予約成功通知を受け取る(S5)。これによって、GRM1は、自己が受信したコマンド及び入力ファイルをGRM2へ送信する(S6)。
すると、GRM2はそのコマンド及び入力ファイルを計算機資源へ送信してジョブを実行させる(S7)。そして、GRM2は、計算機資源が実行中である旨を示す状態変化通知をGRM1へ送信する(S8)。さらに、GRM2は、計算機資源からジョブの実行結果と出力ファイルを受け取って(S9)、これらの情報(つまり、実行結果と出力ファイル)をGRM1へ送信する(S10)。さらに、GRM1からジョブの依頼元であるユーザ端末に対して、計算機資源の実行結果と出力ファイルを送信する(S11)。
図7は、図1に示すグリッド計算システムにおける分散処理の流れを示す第2の形態のシーケンス図である。図7に示す第2の形態のシーケンス図は、ジョブ情報をバッチシステムのジョブ管理装置に渡しておいてジョブを送信する場合の流れを示している。
図7において、あらかじめ、計算機資源が資源情報をGRM2に伝達しておく(S21)。このような環境下において、ユーザ端末がジョブを実行させるためのコマンド及び入力ファイルをGRM1へ送信すると(S22)、GRM1は、受信したコマンド及び入力ファイルに基づくジョブ情報をGRM2へ送信する(S23)。すると、GRM2は、GRM1に対してジョブの取得要求を行い(S24)、GRM1からユーザ端末の送信したコマンド及び入力ファイルを受け取る(S25)。
GRM2はそのコマンド及び入力ファイルを計算機資源へ送信してジョブを実行させる(S26)。そして、GRM2は、計算機資源が実行中である旨を示す状態変化通知をGRM1へ送信する(S27)。さらに、GRM2は、計算機資源からジョブの実行結果と出力ファイルを受け取って(S28)、これらの情報(つまり、実行結果と出力ファイル)をGRM1へ送信する(S29)。さらに、GRM1からジョブの依頼元であるユーザ端末に対して、計算機資源の実行結果と出力ファイルを送信する(S30)。
図8は、図1に示すグリッド計算システムにおける分散処理の流れを示す第3の形態のシーケンス図である。図8に示す第3の形態のシーケンス図は、GRMが3個存在する場合の分散処理の流れを示している。図8において、あらかじめ、計算機資源が資源情報をGRM2に伝達しておく(S31)。このような環境下において、ユーザ端末がジョブを実行するためのコマンド及び入力ファイルをGRM1へ送信すると(S32)、GRM1は、受信したコマンド及び入力ファイルをGRM3へ送信する(S33)。ここで、GRM2がGRM3に対してジョブの取得要求を行うと(S34)、GRM3からGRM2に対してコマンド及び入力ファイルが送信される(S35)。さらに、GRM3からGRM1に対してジョブの位置情報が送信される(S36)。
そして、GRM2は受信したコマンド及び入力ファイルを計算機資源へ送信してジョブを実行させる(S37)。さらに、GRM2は、計算機資源が実行中である旨を示す状態変化通知をGRM1へ送信する(S38)。そして、GRM2は、計算機資源からジョブの実行結果と出力ファイルを受け取って(S39)、これらの情報(つまり、実行結果と出力ファイル)をGRM1へ送信する(S40)。さらに、GRM1からジョブの依頼元であるユーザ端末に対して、計算機資源の実行結果と出力ファイルを送信する(S41)。
図9は、図1に示すグリッド計算システムにおける分散処理の流れを示す第4の形態のシーケンス図である。図9に示す第4の形態のシーケンス図は、ジョブ依頼元のユーザ端末がジョブの実行中にジョブキャンセルを行う場合の分散処理の流れを示している。
図9において、計算機資源からGRM2へ資源情報が伝達されると(S61)、GRM2からGRM1へその資源情報が伝達される(S62)。このような環境において、ユーザ端末がジョブを実行するためのコマンド及び入力ファイルをGRM1へ送信すると(S63)、GRM1は受信したコマンド及び入力ファイルをGRM2へ送信し(S64)、さらに、このコマンド及び入力ファイルは計算機資源へ送信される(S65)。そして、計算機資源でジョブが実行されると、GRM2は、計算機資源が実行中である旨を示す状態変化通知をGRM1へ送信する(S66)。
このとき、ジョブを依頼したユーザ端末がGRM1に対してジョブキャンセルを行うと(S67)、そのジョブキャンセルはGRM1からGRM2へ送信され(S68)、さらに、GRM2から計算機資源へ送信される(S69)。これによって、全てのGRM(GRM1とGRM2)におけるジョブの実行がキャンセルされる。なお、シーケンス図には示していないが、全てのGRMにおけるジョブの実行がキャンセルされた後に、計算機資源からGRM2(又は、GRM1)に対して、これまでに実行されたジョブの実行結果及び出力ファイルを送信し、GRM2(又は、GRM1)からユーザ端末へこれらの情報(実行結果及び出力ファイル)を送信することもできる。
以上のように本発明の実施の形態では、計算機資源の割り当てを行う独立したバッチシステムが複数個あるとき、ジョブが必要とするCPUアーキテクチャやメモリ量等のCPU情報や資源情報をP2Pの形態で各バッチシステムへ送受信するように構築されている。そして、既存のバッチシステムのジョブから計算機資源への割り当て部分に、他のバッチシステムの配下にあるジョブや資源情報が加えられるような形態になっている。これによって、他のバッチシステムの配下の計算機資源を使用することができるような環境になる。
このようにして、計算機資源の割り当てを行うジョブ管理装置(サーバ)を分散化させ、それらのジョブ管理装置の間で計算機資源やジョブなどの情報を共有化させている。したがって、あるジョブ管理装置がダウンした場合でも、動作している他のジョブ管理装置の管理下の計算機資源を使ってジョブの実行を継続することができる。
このとき、負荷を大量に持つ重負荷なジョブ管理装置が計算機資源の空いている軽負荷なジョブ管理装置を見つけたら、自発的に軽負荷なジョブ管理装置にジョブ情報を流して、軽負荷なジョブ管理装置にジョブを取得してもらうことにより、重負荷なジョブ管理装置の負荷を減らすことができる。また、重負荷なジョブ管理装置から軽負荷なジョブ管理装置へのジョブ情報の転送により、軽負荷なジョブ管理装置は自己の資源情報を非開示のまま重負荷なジョブ管理装置からジョブを受け入れることもできる。さらに、重負荷なジョブ管理装置は、自己が処理可能な負荷の量である限りは自己の内部でジョブを実行するために、ファイルの転送量を減らすことができる。
以上に詳述した本実施の形態において、図4〜図10に示した各ステップをコンピュータに実行させるプログラムをジョブ管理プログラムとしてコンピュータにより読取り可能な記録媒体に記憶させることによって、ジョブ管理装置を構成するコンピュータに実行させることが可能となる。ここで、上記コンピュータにより読取り可能な記録媒体としては、CD−ROMやフレキシブルディスク、DVDディスク、光磁気ディスク、ICカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
本発明によれば、計算機資源の内容を開示することなく負荷分散を行うことができると共に、計算機資源を任意に拡張することができるので、広範囲なグリッド計算システムに有効に利用することができる。
1 グリッド計算システム、2、2a、2b、…2n ジョブ管理装置、3a、3b、…3n バッチシステム、4 ネットワーク、5a1…5an、5b1…5bn、…、5n1…5nn ユーザ端末、6a1…6an、6b1…6bn、…、6n1…6nn 計算機資源、11 情報伝播制御機能、12 ジョブ実行機能、22 他システム資源情報受信部、23 ジョブ移動投入部、24 自己システム資源情報送信部、25 他ジョブ受付投入部、26 他システムジョブ情報受信部、27 ジョブ移動要求送信部、28 自己システムジョブ情報送信部。
Claims (14)
- 配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置であって、
自己の配下にない資源を管理する他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおける資源情報を受信する他システム資源情報受信部と、
前記他システム資源情報受信部により取得された前記他のバッチシステムにおける資源情報に基づいて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するジョブ移動投入部と、
を備えてなるジョブ管理装置。 - 請求項1に記載のジョブ管理装置において、
自己の配下にある資源に関する情報を他のバッチシステムのジョブ管理装置に送信する自己システム資源情報送信部と、
前記他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入部と、
を備えてなるジョブ管理装置。 - 請求項1又は請求項2に記載のジョブ管理装置において、
前記資源情報には、資源におけるジョブに対する余剰能力に関する情報が含まれていることを特徴とするジョブ管理装置。 - 請求項1乃至請求項3のいずれかに記載のジョブ管理装置において、
前記他のバッチシステムには自己のバッチシステムにおけるジョブ管理装置から所定のホップ数で接続される範囲のバッチシステムが含まれることを特徴とするジョブ管理装置。 - 配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置のコンピュータにより実行されるジョブ管理プログラムであって、
他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおける資源情報を受信する他システム資源情報受信ステップと、
前記他システム資源情報受信ステップにより取得された前記他のバッチシステムにおける資源情報に基づいて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するジョブ移動投入ステップと
をコンピュータに実行させるジョブ管理プログラム。 - 請求項5に記載のジョブ管理プログラムにおいて、
自己の配下にある資源に関する情報を他のバッチシステムのジョブ管理装置に送信する自己システム資源情報送信ステップと、
前記他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入ステップと
をコンピュータに実行させるジョブ管理プログラム。 - 請求項5又は請求項6に記載のジョブ管理プログラムにおいて、
前記ジョブ移動投入ステップに先駆けて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するために、前記他のバッチシステムのジョブ管理装置に資源の予約を行い、予約成立の場合に前記ジョブ移動投入ステップが行われる資源予約ステップをコンピュータに実行させるジョブ管理プログラム。 - 配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置であって、ジョブの必要とするCPUメモリ量といったジョブ情報を受信する他システムジョブ情報受信部と、
前記他システムジョブ情報受信部により取得された前記他のバッチシステムにおける前記ジョブ情報に基づいて他のバッチシステムからジョブを取得を要求するジョブ移動要求送信部と、
前記他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入部と
備えているジョブ管理装置。 - 請求項8のジョブ管理装置において、自己に投入されたジョブのジョブ情報を他のバッチシステムのジョブ管理装置に送信する事故システムジョブ情報送信部と、
前記他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入部と
を備えているジョブ管理装置。 - 配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置のコンピュータにより実行されるジョブ管理プログラムであって、
他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおけるジョブ情報を受信する他システムジョブ情報受信ステップと、
他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおけるジョブ情報に基づいてジョブ取得要求を送信するジョブ取得要求送信システムと
他のバッチシステムから送信されるジョブ移動投入要求に基づいて、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して投入する他ジョブ受付投入ステップと
をコンピュータに実行させるジョブ管理プログラム。 - 請求項10に記載のジョブ管理プログラムにおいて、
自己に投入されたジョブに関する情報を他のバッチシステムのジョブ管理装置に送信する自己システムジョブ情報送信ステップと、
前記他のバッチシステムから送信されるジョブ取得要求に基づいて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するジョブ移動投入ステップと
をコンピュータに実行させるジョブ管理プログラム。 - 請求項6又は請求項10に記載のジョブ管理プログラムにおいて、
前記他ジョブ受付投入ステップにより、前記他のバッチシステムにおいて投入されたジョブを自己の配下にある資源に移動して実行する場合に、前記他のバッチシステムにおけるジョブ管理装置に、実行状態に関する情報を通知する実行状態通知ステップをコンピュータに実行させるジョブ管理プログラム。 - 請求項5乃至請求項12のいずれかに記載のジョブ管理プログラムにおいて、
前記資源情報には、資源におけるジョブに対する余剰能力に関する情報が含まれていることを特徴とするジョブ管理プログラム。 - 配下にある資源を用いてジョブを行うバッチシステムにおけるジョブ管理装置により実行されるジョブ管理方法であって、
自己の配下にない資源を管理する他のバッチシステムのジョブ管理装置から送信される当該他のバッチシステムにおける資源情報を受信する他システム資源情報受信ステップと、
前記他システム資源情報受信ステップにより取得された前記他のバッチシステムにおける資源情報に基づいて、自己のバッチシステムにおいて投入されたジョブを前記他のバッチシステムに移動して投入するジョブ移動投入ステップと
を備えるジョブ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005099412A JP2006277617A (ja) | 2005-03-30 | 2005-03-30 | ジョブ管理装置、ジョブ管理プログラム、及びジョブ管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005099412A JP2006277617A (ja) | 2005-03-30 | 2005-03-30 | ジョブ管理装置、ジョブ管理プログラム、及びジョブ管理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006277617A true JP2006277617A (ja) | 2006-10-12 |
Family
ID=37212275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005099412A Pending JP2006277617A (ja) | 2005-03-30 | 2005-03-30 | ジョブ管理装置、ジョブ管理プログラム、及びジョブ管理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006277617A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182043A (zh) * | 2020-10-27 | 2021-01-05 | 网易(杭州)网络有限公司 | 日志数据查询方法、装置、设备及存储介质 |
-
2005
- 2005-03-30 JP JP2005099412A patent/JP2006277617A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112182043A (zh) * | 2020-10-27 | 2021-01-05 | 网易(杭州)网络有限公司 | 日志数据查询方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5022030B2 (ja) | コンピュータシステム、これを構成するサーバ、そのジョブ実行制御方法及びプログラム | |
US9184989B2 (en) | Grid proxy architecture for network resources | |
WO2018035856A1 (zh) | 实现硬件加速处理的方法、设备和系统 | |
JP2015537307A (ja) | コンポーネント指向ハイブリッドクラウドオペレーティングシステムのアーキテクチャ及びその通信方法 | |
US20060149842A1 (en) | Automatically building a locally managed virtual node grouping to handle a grid job requiring a degree of resource parallelism within a grid environment | |
JPH04271454A (ja) | 疎結合計算機システム | |
WO2012163245A1 (zh) | 一种基于事务的服务控制系统及其控制方法 | |
JP2007518169A (ja) | 準最適な最適とはいえないグリッド環境内におけるアプリケーションの動作の維持 | |
JP2008226181A (ja) | 並列実行プログラム、該プログラムを記録した記録媒体、並列実行装置および並列実行方法 | |
JPWO2005116832A1 (ja) | 分散処理環境におけるジョブの実行を制御するためのコンピュータシステム、方法及びプログラム | |
WO2012077390A1 (ja) | ネットワークシステム、及びそのサービス品質制御方法 | |
JP2008009865A (ja) | 分散コンピュータシステム | |
JP2004046372A (ja) | 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体 | |
JP2006277617A (ja) | ジョブ管理装置、ジョブ管理プログラム、及びジョブ管理方法 | |
JP2010231601A (ja) | グリッドコンピューティングシステム、リソース制御方法およびリソース制御プログラム | |
JP4918411B2 (ja) | グリッドコンピューティングシステム | |
JP4140014B2 (ja) | クライアントサーバシステムおよびクライアントサーバシステムのデータ処理方法 | |
CN104125292A (zh) | 一种数据处理装置、云服务器及其使用方法 | |
Kosar et al. | Data placement in widely distributed environments | |
WO2021187476A1 (ja) | クライアント、i/oサーバ、方法、および記録媒体 | |
JP4877526B2 (ja) | クライアントサーバシステムおよびクライアントサーバシステムのデータ処理方法 | |
JP5464746B2 (ja) | データベースを分散共有する資源管理装置、プログラム及び方法 | |
JP2002149619A (ja) | メッセージ・キュー管理方法 | |
Puri et al. | Grid operating system: making dynamic virtual services in organizations | |
JP5027773B2 (ja) | 資源管理装置、資源予約方法及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Effective date: 20070717 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A521 | Written amendment |
Effective date: 20070913 Free format text: JAPANESE INTERMEDIATE CODE: A523 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080304 |