JP2004287801A - 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム - Google Patents
情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム Download PDFInfo
- Publication number
- JP2004287801A JP2004287801A JP2003078492A JP2003078492A JP2004287801A JP 2004287801 A JP2004287801 A JP 2004287801A JP 2003078492 A JP2003078492 A JP 2003078492A JP 2003078492 A JP2003078492 A JP 2003078492A JP 2004287801 A JP2004287801 A JP 2004287801A
- Authority
- JP
- Japan
- Prior art keywords
- information processing
- candidate
- performance
- information
- processing
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5072—Grid computing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multi Processors (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
【解決手段】プロセッサの計算資源を複数の小プロセッサ14にクラスタ化しておき、管理プロセッサ12で、各小プロセッサ14の稼働状況を監視して、要求された情報処理の負荷の大きさに応じて稼働させる小プロセッサにタスクを割り当てる。I/Oインタフェース13を通じて他のコンピュータから資源貸出の要求があったときは、空き状態の小プロセッサ14の計算資源を貸し出す。
【選択図】 図2
Description
【発明の属する技術分野】
本発明は、複数の情報処理装置、例えばパーソナルコンピュータ又はサーバのようなコンピュータの協働による負荷の分散実行の仕組みに関する。
【0002】
【発明の背景】
ネットワークに接続された複数のコンピュータによって一つのタスクを分散実行する手法として、二つの手法がある。
一つの手法は、どのコンピュータに負荷を分散させるかを最初に決めてから情報処理の内容(以下、「タスク」と称する)を割り付ける手法であり、もう一つの手法は、あるコンピュータでタスクを実行し始めた後、負荷が重すぎるとわかったときに、他のコンピュータを探してタスクを割り付ける手法である。
【0003】
前者の手法の場合は、タスクの負荷の大きさを事前に予測しなければならないが、負荷の大きさに予測性がない情報処理の場合にはタスクの割り当てを行うことができない。後者の手法の場合には負荷の大きさを予測する必要はないが、負荷が重すぎるとわかった時点で計算資源が余っている他のコンピュータを探し出すための特別の処理が必要となる。しかし、計算資源が余っているコンピュータを探し出した後、実際にタスクを割り宛てる際に、そのコンピュータの使用状況が変わると、再度計算資源が余っている他のコンピュータを探し出して負荷を分散させなければならず、そのための手続が煩雑になる。
【0004】
一般に、コンピュータにおいて一つの計算資源で複数のタスクを共用して使う場合は、時分割等によってタスクを割り当てることが行われている。計算資源がどの位余っているかは、ある時間単位で、タスクを区切ったときに、どの位の時間で、タスクが終了しているかで判断している。図12(a)は、この様子を示している。
しかしながら、どのような時間単位でタスクを区切れるかは、タスクの種類によって異なるため、他のタスクを、この空いている時間に割り付けられるかどうかは、予測が難しい。また、無理に単位時間を合わせると、タスクの切り替えによって起こるオーバーヘッドが大きくなり、予測がさらに難しくなる。
【0005】
単一のプロセッサが時分割で複数のタスクを実行するときのタイミング例を図12(b)に示す。図12(b)の例では、タスクAがある1単位の処理を終えた後、一定時間、他のタスクに割り当て(その間、タスクAについては空き時間となる)、一定時間後、再び、タスクAを行うことを繰り返す。この場合、タスクAの1単位の処理が、常に一定時間で終わることが保証されていれば、都合良く全体の処理時間に占めるタスクAの割合は一定であるが、タスク実行条件によって一定時間内で終わらない場合は、図12(c)のように、タスクAのための処理時間の割合が変化する。タスク実行条件によって処理時間が変化する場合としては、例えば、グラフィクス処理で視点が移動したときに描画すべきオブジェクトの数が変化するとか、動画像の圧縮データの解凍処理の際に、画像内容によって前後のフレームのデータを使うかどうかが変化するなどが挙げられる。このような例における「1単位の処理」としては、例えば1フレーム分の処理が挙げられる。
【0006】
上記のように、タスク実行条件によって処理時間の割合が変化するという不都合を解消するためには、1単位の処理をできるだけ細かい時間間隔で区切り、一定時間が経過したら、タスクAをうち切ってしまうということが考えられる。この場合、図12(d)のように、タスクを切り替えるのに都合のよい切替タイミングBではなく、切替タイミングAでタスクを切り替えなければならない場合が生じ得る。この場合は、より多くのデータ(コンテキスト)をセーブしておかないと、タスクを再開できなくなる。このデータのセーブ/ロードは、処理のオーバーヘッドとなり、都合が悪い。
【0007】
このように、単一のプロセッサに時分割により複数のタスクを割り当てる方法では、割当時間の安定性と処理効率とを両立させることが困難となる。
本発明は、このような従来の問題点を解決する分散情報処理の仕組みを提供することを、主たる課題とする。
【0008】
【課題を解決するための手段】
本発明は、タスクを実行するためのプログラム実行手段をクラスタ(Cluster)化しておくことにより、互いに繋がる他のクラスタの計算資源が不足しているときに、計算資源の貸出を容易にする仕組みを提供する。より具体的には、分散処理を可能にする情報処理システム、情報処理装置、分散情報処理方法、コンピュータプログラムを提供する。
【0009】
本発明の情報処理システムは、複数の情報処理装置によりクラスタ化された情報処理システムであって、少なくとも一つの情報処理装置が、自装置から見た他の一部又は全部の情報処理装置の処理性能を表す性能情報を更新自在に保持する性能情報管理手段と、要求された情報処理の負荷の大きさを計測する負荷計測手段と、この負荷計測手段により計測された負荷の大きさと前記性能情報管理手段に保持されている性能情報とを比較することにより前記要求された情報処理の一部又は全部のタスクを分散実行可能な候補装置を決定する候補決定手段と、この候補決定手段により決定された候補装置にタスクを割り当てるタスク割当手段とを有することを特徴とする。「候補装置」は、候補となる情報処理装置を意味する。
【0010】
このような情報処理システムでは、分散実行可能な候補装置の処理性能を情報処理装置の側で把握することができるため、当該情報処理装置において計算資源が足りなくなった場合には、他の候補装置の計算資源を借用してタスクを実行することができ、効率的な分散情報処理が可能になる。
情報処理システムを一つの情報処理を実行するプログラム実行手段とみた場合、個々の情報処理装置は、分割されたクラスタに相当する。情報処理装置は、通常はプロセッサを主要部品とする装置ないしデバイスであるが、プログラムを実行することができる形態であれば、プロセッサも情報処理装置となり得るものである。この場合、複数のプロセッサの集合から成る装置は、情報処理システムに相当する。
【0011】
上記の情報処理システムにおいて、前記性能情報管理手段は、具体的には、前記他の情報処理装置の静的な処理性能を表す第1性能情報を取得して1又は複数の候補装置を決定するとともに、決定した候補装置をリスト化した第1候補リストを所定のメモリ領域に記録する第1候補リスト管理手段と、前記第1候補リストにリストアップされている候補装置の動的な処理性能を表す第2性能情報を計測し、計測した第2性能情報を処理性能別に分類してリスト化した第2候補リストを作成するとともに、この第2候補リストにリストアップされている第2性能情報をもつ候補装置をタスク実行条件別にソートしてタスク実行条件毎に適した1又は複数の候補装置を決定し、決定した候補装置をリスト化したインデックスリストを所定のメモリ領域に記録する第2候補リスト管理手段とを有し、このインデックスリストにリストアップされた候補装置の第2性能情報を前記メモリ領域より読み出して前記性能情報として前記候補決定手段に提供するように構成される。
第2性能情報は時点々によって大きく変化するので、作成した前記第2候補リスト及び前記インデックスリストを前記第1候補リストよりも高い頻度で更新することが好ましい。
【0012】
第1候補リストは、より具体的には、候補装置の種別、数など、本来的に時間に左右されない(これを「静的」と称している)処理性能を表す情報に基づいて候補装置をリスト化したものである。この第1候補リストは、各候補装置が任意の時点で起動したり終了したりする場合があるので、定期的に更新する必要がある。これに対して第2候補リスト及びインデックスリストは、候補装置の稼働状態等、その時点々の状況に大きく左右される(これを「動的」と称している)処理性能を表す情報に基づいて候補装置をリスト化したものであり、第1候補リストよりも頻繁に更新する必要がある。更新は、好ましくは、タスク実行に先立って行うことが好ましい。
【0013】
前記第1候補リスト管理手段は、例えば、個々の情報処理装置が具えるプログラム実行手段の構成情報と、当該プログラム実行手段で実行可能なプログラムの種類を表す情報とを前記第1性能情報とし、複数の情報処理装置についての前記第1性能情報を比較することにより前記第1候補リストにおけるリストアップ順を決定する。
【0014】
また、前記第2候補リスト管理手段は、例えば、前記第1候補リストにリストアップされている候補装置に対して処理要求を発信するとともに、この処理要求に対する応答結果を受信することにより当該候補装置の前記第2性能情報を得る。より具体的には、第2候補リスト管理手段は、前記第2性能情報に、予め定めた処理性能の種別に応じて設定されている係数値を重み付けすることにより、前記処理性能毎の第2候補リストを作成する。
【0015】
インデックスリストを持たない情報処理システムにすることもできる。すなわち、前記性能情報管理手段が、前記他の情報処理装置の静的な処理性能を表す第1性能情報を取得して1又は複数の候補装置を決定するとともに、決定した候補装置をリスト化した第1候補リストを所定のメモリ領域に記録する第1候補リスト管理手段と、前記第1候補リストにリストアップされている候補装置の動的な処理性能を表す第2性能情報を計測し、計測した第2性能情報に予め複数のタスク実行条件の各々に応じて定められている係数値を重み付けすることにより、タスク実行条件によって異なる第2性能情報をもつ候補装置をリスト化した第2候補リストを所定のメモリ領域に記録する第2候補リスト管理手段とを有し、この第2候補リストにリストアップされた候補装置の第2性能情報を前記メモリ領域より読み出して前記性能情報として前記候補決定手段に提供するように構成することもできる。
前記複数の情報処理装置がネットワークを介して相互に接続されている場合、前記第2候補リスト管理手段は、前記ネットワークを通じて前記処理要求を発信するとともに、この処理要求に対する応答結果を当該ネットワークを通じて受信するように動作する。
【0016】
前記複数の情報処理装置のうち、少なくとも一つの情報処理装置における前記プログラム実行手段が複数のクラスタに分割されており、各クラスタの稼働状況を他の情報処理装置に通知可能に構成するものであってもよい。分割されたクラスタの処理能力が他のクラスタと均質の場合、情報処理装置の稼働状況は稼働中のクラスタの数、未稼働状態のクラスタの数として定量化することができる。そこで、プログラム実行手段がクラスタに分割された前記情報処理装置が、貸出可能なクラスタ数を前記稼働状況として前記他の情報処理装置に通知するように構成することにより、この通知を受けた側でのタスク割当が容易になる。例えば、あるタスクの実行条件ではクラスタ3個分が足りないから3個のクラスタを探し出して割り当てるという運用が可能になる。
【0017】
本発明の情報処理装置は、負荷の大きさに予測性がない情報処理を実行する装置であって、複数のクラスタに分割されたプログラム実行手段と、このプログラム実行手段の各クラスタの処理性能を表す性能情報を更新自在に保持する性能情報管理手段と、要求された情報処理の負荷の大きさを計測する負荷計測手段と、この負荷計測手段により計測された負荷の大きさと前記性能情報管理手段に保持されている性能情報とを比較することにより前記要求された情報処理を分散実行可能な複数の候補クラスタを決定する候補決定手段と、この候補決定手段により決定された複数の候補クラスタにそれぞれ前記要求された情報処理の一部を割り当てるタスク割当手段と、このタスク割当手段により割り当てた各候補クラスタからの実行結果を統合して出力する出力手段とを有することを特徴とする。
このような情報処理装置では、負荷の大きさに応じた数の候補クラスタを選んでタスクを実行させることができるので、計算資源に無駄のない情報処理を実行することが可能になる。
【0018】
他の情報処理装置と連携して情報処理を分散実行可能にする場合は、他の情報処理装置が発信した処理要求に対する所要の情報処理を実行するとともに、その実行結果を送信開始時刻と共に当該他の情報処理装置に返信する処理要求実行手段と、前記性能情報管理手段に保持されている性能情報を他の情報処理装置に通知する通知手段と、を更に備えて情報処理装置を構成する。前記複数のクラスタの各々がプロセッサを含んで構成されるようにしてもよい。
【0019】
本発明の分散情報処理方法は、ネットワークを介して相互に接続された複数の情報処理装置の各々で、他の情報処理装置の処理性能を前記ネットワークを通じて計測し、計測した処理性能を表す性能情報を所定のメモリ領域に更新自在に保持し合うとともに、他の情報処理装置からの処理要求のために自装置のプログラム実行手段の一部の資源を貸出可能にしておき、いずれかの情報処理装置において、負荷の大きさに予測性がない情報処理の要求が生じたときに、当該情報処理の要求が生じた情報処理装置が、当該情報処理の負荷の大きさを計測する処理、計測した負荷の大きさと前記メモリ領域に保持されている性能情報とを比較して前記要求された情報処理を分散実行可能な1又は複数の候補装置を決定する処理、決定した候補装置に前記要求された情報処理の一部を割り当てる処理、及び、割り当てた候補装置の実行結果を統合して出力する処理を実行することを特徴とする。
【0020】
この分散情報処理方法では、貸出可能なプログラム実行手段の一部の資源のみを他の情報処理装置に貸し出すことができるので、互いの処理性能が予め判っている複数の情報処理装置同士で分散情報処理を実行する場合に比べて、無駄のない情報処理が可能になる。
【0021】
本発明のコンピュータプログラムは、ネットワークを介して他の複数の情報処理装置と接続される情報処理装置に、他の情報処理装置の処理性能を前記ネットワークを通じて計測する処理、計測した他の情報処理装置の処理性能を表す性能情報を所定のメモリ領域に更新自在に保持する処理、負荷の大きさに予測性がない不確定の情報処理の要求が生じたときに当該情報処理の負荷の大きさを計測する処理、計測した負荷の大きさと前記メモリ領域に保持されている性能情報とを比較して前記要求された情報処理を分散実行可能な1又は複数の候補装置を決定する処理、決定した候補装置に前記要求された情報処理の一部を割り当てる処理、及び、割り当てた候補装置の実行結果を統合して出力する処理を実行させるためのコンピュータプログラムである。
【0022】
【発明の実施の形態】
以下、本発明の実施形態を説明する。
本発明は、図1のように構成される情報処理システムとしての実施が可能である。この情報処理システムは、複数のコンピュータ1m、1cをインターネットのような広域のネットワークNを介して接続して構成される。この実施形態では、便宜上、分散情報処理を主体的に行うコンピュータを主コンピュータ1m、主コンピュータ1mに対して自己のプログラム実行手段の一部を貸し出すコンピュータを候補コンピュータ1cとするが、両者を区別する必要がない場合は、単に「コンピュータ」と称する。
【0023】
各コンピュータ1m、1cにおけるプログラム実行手段のハードウエア構成、つまりプロセッサの種別及び数、個々のプロセッサの能力(処理速度)、メモリ容量等は任意であるが、この実施形態では、便宜上、すべて均質な構成のプログラム実行手段を備えているものとして説明する。
【0024】
コンピュータ1m、1cにおけるプログラム実行手段は、図2のように、メモリ11、管理プロセッサ12、I/Oインタフェース13及び4つの小プロセッサ14をバスBを通じて相互に接続して構成されている。メモリ11には、プログラム及びデータを含む各種デジタル情報、時刻データ、後述する各種リストが記録される。プログラム及びデータ等のデジタル情報は、ネットワークNを通じて、あるいは、可搬性記録媒体に記録されたデジタル情報をインストールすることによって、メモリ11に記録される。
I/Oインタフェース13は、ネットワークNに接続された他のコンピュータその他の外部コンピュータとの間で情報の受け渡しを可能にする公知の機構である。小プロセッサ14は、管理プロセッサ12により割り当てられたタスクを実行する。この実施形態の場合、情報処理システムのプログラム実行手段のクラスタとして複数のコンピュータ1m、1cがあり、各コンピュータ1m、1c自身のプログラム実行手段もまた、4つのクラスタに分割されていることになる。
【0025】
管理プロセッサ12は、メモリに記録されているプログラムにより、図3のような機能を当該コンピュータ内に形成する。
すなわち、性能情報管理部21、他装置性能情報保持部22、タスク入力部23、負荷計測部24、タスク実行管理部25、稼働状況監視部26、候補決定部27、タスク割当部28、実行結果保持部29、及び、稼働状況通知部30の機能を形成する。
【0026】
性能情報管理部21は、自己から見た他の候補コンピュータ1cの処理性能を表す性能情報を定期的に計測ないし取得し、必要に応じてその性能情報をリストアップする。性能情報には、静的な処理性能を表す第1性能情報と、動的な処理性能を表す第2性能情報とがある。これらの性能情報をリストアップする場合、性能情報管理部21は、図4に示されるように、第1性能情報を静的性能計測部211で計測ないし取得して第1候補リスト212を作成する。また、第1候補リスト212からタスク割当が原始的に可能な候補コンピュータ1cを選抜するとともに、選抜された候補コンピュータ1cについての第2性能情報を動的性能計測部213で計測して実際的にタスク割当可能な候補コンピュータ1cを決定し、この第2性能情報を処理性能毎にリスト化した第2候補リスト214と、第2性能情報をタスク実行条件毎にソート(並び替え)して、タスク実行条件毎に最適な第2性能情報をもつ候補コンピュータ1cをリスト化したインデックスリスト215を作成する。
作成された第1候補リスト212、第2候補リスト214及びインデックスリスト215は、他装置性能情報保持部22のメモリ領域に記録され、随時更新される。但し、第1候補リスト212と第2候補リスト214及びインデックスリスト215とでは、後述するように、更新のタイミングと更新対象となる数が大きく相違する。
【0027】
この実施形態における第1性能情報としては、プロセッサの種別、プロセッサの数、個々のプロセッサの能力(処理速度)、実行可能なプログラムの種類、メモリ容量その他の分散可能処理能力(分散処理が可能かどうかの情報を含む)を表す候補コンピュータ1c固有の情報である。この第1性能情報は、例えば、静的性能計測部211から各候補コンピュータ1cに問い合わせ用のプログラムを転送し、このプログラムに基づき、当該候補コンピュータ1cが搭載するオペレーティングシステムが集めたハードウエア構成情報を、転送開始時刻と共に返信してもらうことにより、取得が可能である。候補コンピュータ1cの側が自発的に送信することによって取得するようにしてもよい。自ら計測する場合は、性能把握用のプログラム及びデータを候補コンピュータ1cへ転送し、その候補コンピュータ1cからのレスポンスを計測する。
候補コンピュータ1cは、随時起動したり終了したりするので、性能情報管理部21は、第1性能情報を定期的に計測し、他装置性能情報保持部22の第1候補リスト212を更新する。
【0028】
第2性能情報は、例えば、第1候補リスト212により選抜された候補コンピュータ1cについて、ネットワークNの転送状態(輻輳の状態を含む)、各候補コンピュータ1cにおける小プロセッサ14の稼働状況、例えば空き具合など、その時点々の状況によって変化する、候補コンピュータ1c固有の情報である。この第2性能情報は、例えば、動的性能計測部213から各候補コンピュータ1cに処理要求を行った後、処理結果を受け取るまでに要する時間を計測することにより定量化(例えば数値化)することができる。受け取ったデータを送り出すだけのプログラムを転送し、データ受け取りまでの時間を計測するようにしてもよい。一般に、この時間が短い程、動的な処理性能は高いことになる。あるいは、候補コンピュータ1cに小プロセッサ14の空き具合等を問い合わせ、その問い合わせに応じて返送されてきたデータを第2性能情報として用いるようにしてもよい。
【0029】
なお、性能情報管理部21において、第2候補リスト214を作成する際に、例えば、第2性能情報に、予め定めた処理性能の種別に応じて設定されている係数値を重み付けすることにより、処理性能毎の分類が可能になるので、実際に候補コンピュータ1cを決めるためのインデックスリスト215の作成が容易になる利点がある。
【0030】
静的性能計測部211によって作成される第1候補リスト212の内容例を図5(a)、動的性能計測部213によって作成される第2候補リスト214の内容例を図5(b)、第2候補リスト214からタスク実行条件(タスク実行に好適な条件)毎に最適な順にソートすることにより作成された候補コンピュータ1cのインデックスリスト215の例を図5(c)に示す。
【0031】
図5(a)においてADは候補コンピュータ1cのアドレス、PIDは各候補コンピュータ1cが実行可能な処理あるいはプログラムの種類を識別するためのID、SIDは各候補コンピュータ1cの構成情報(プロセッサの数及び個々のプロセッサの能力等)である。
PID欄にある「3」は3次元処理(あるいはそのためのプログラム)、「G」はジオメトリ(Geometry)処理(あるいはそのためのプログラム)、「R」はレンダリング(Rendering)処理(あるいはそのためのプログラム)である。また、SID欄のC1,C4はプロセッサの種別、P1〜P3は分散処理能力を表している。例えば、ADが「311」、PIDが「3,G,R」、SIDがC1・P3の候補コンピュータ1cは、3次元のジオメトリ処理及びレンダリング処理が可能な分散処理可能なコンピュータであることを表している。
【0032】
図5(b)に示される第2候補リスト214は、動的性能計測部213によって計測された候補コンピュータ1cの転送状態と、未負荷計算資源の状態を第2性能情報の例としてリスト化したものである。図5(b)において、ADは候補コンピュータ1cのアドレスであり、未負荷計算資源欄のC1,はプロセッサの種別、P1,P2は分散処理能力を表している。図示の例の場合、ADが「311」の候補コンピュータ1cは、計測時点では、送信可能なデータサイズは大きいが、受信できるサイズは中程度であり、しかし、レスポンスは高いこと、未負荷計算資源にはC1があり、分散処理能力はP1になっていることを示している。
【0033】
図5(c)に示されるインデックスリスト215には、ジオメトリ処理、レンダリング処理のようなタスク実行条件毎に、第2候補リスト214からソートされた候補コンピュータ1cのアドレス(図5(a),(b)のAD)が記録されている。タスクを実行するときに、このインデックスリスト215を上から順に辿っていくことにより、そのタスク実行条件のもとでは最も効率よく候補コンピュータ1cを割り当てることができることを示している。
インデックスリスト215は、第2候補リスト214が作成された時点で作成される。すなわち、インデックスリスト215は、性能情報管理部21が、他の候補コンピュータ1cに割り当てるべきタスク実行条件に応じて第2候補リスト214にリストアップされた第2性能情報を評価してソートすることによって作成される。割り当てるタスクが発生する又はし得るようになったタイミングで、インデックスリスト215を作成してもよい。
【0034】
なお、第2性能情報は上述のように時点々で大きく変化するため、性能情報管理部21は、第2候補リスト214及びインデックスリスト215を、第1候補リスト212よりも頻繁に更新するようにしている。その結果、他装置性能情報保持部22に記録されている各種性能情報の内容は、各候補コンピュータ1cについて最新のものとなっている。
【0035】
タスク入力部23は、候補コンピュータ1cその他の外部コンピュータから要求された情報処理の内容(タスク)をI/Oインタフェース13を通じて受け付ける。あるいは、主コンピュータ1m内部のアプリケーションから要求された情報処理の内容を受け付ける。負荷計測部24は、例えば単位時間に処理すべき情報量を計測することにより、要求された情報処理の負荷の大きさを計測する。
【0036】
タスク実行管理部25は、情報処理の実行に際して自己の小プロセッサ14にタスクを割り当て、その実行を促す。
稼働状況監視部26は、いくつの小プロセッサ14が実際に稼働しているかを監視し、負荷に余裕があるかどうか、ある場合は、いくつの小プロセッサ14が空き状態になっているかを数値データとして出力する。また、主コンピュータ1mの小プロセッサ14の空き具合の情報を取得するために、他の候補コンピュータ1cから監視結果の要求があった場合には、稼働状況通知部30を通じて要求元に通知する機能も有している。
【0037】
候補決定部27は、負荷計測部24で計測した負荷の大きさと、稼働状況監視部26による監視結果と、他装置性能情報保持部22に保持されている性能情報とを比較することにより、要求された情報処理の一部又は全部のタスクを分散実行させる必要があるかどうか、ある場合には、分散実行可能な候補コンピュータ1cがどれかを決定する。
【0038】
タスク割当部28は、候補決定部27で決定した候補コンピュータ1cに情報処理の一部又は全部のタスクを割り当てるものであり、実行結果保持部29は、自己の小プロセッサ14及び割り当てた候補コンピュータ1cにおいて実行された情報処理の結果データを一時的に保持するものである。
【0039】
[分散情報処理方法]
次に、上記の情報処理システムにおいて、主コンピュータ1mが主体的に行う分散情報処理の手順例を説明する。
<準備段階>
分散情報処理に先立ち、主コンピュータ1mは、例えば図6の手順で、自己から見た他の候補コンピュータ1cの処理性能を把握する。
まず、性能情報管理部21において、第1候補リスト212にリストアップされている候補コンピュータ1cについての第2性能情報を計測ないし取得する。例えば、メモリ11に記録されている性能把握用のプログラムとデータを第1候補リスト212にリストアップされている順に転送するとともに、転送開始時刻T1,転送終了時刻T2をメモリ11の時刻記録領域に記録しておく(ステップS101)。
【0040】
各候補コンピュータ1cから応答があったときは(ステップS102:Yes)、各候補コンピュータ1cによる処理結果の転送開始時刻T3,結果の転送終了時刻T4を検出し、これを上記の時刻領域に記録する(ステップS103)。そして、各候補コンピュータ1cへの転送バンド幅B1、各候補コンピュータ1cからの転送バンド幅B2、レイテンシLを候補コンピュータ毎に算出する(ステップS104)。
【0041】
転送バンド幅B1は、転送するプログラムとデータの合計サイズがD1であるとすると、D1/(T2−T1)の演算式により求めることができる。また、バンド幅B2は、処理結果のデータサイズがD2であるとすると、D2/(T4−T3)の演算式により求めることができる。レイテンシLは、T3−T1から求めることができる。各候補コンピュータ1cの構成情報により特定される処理性能がP(=プロセッサ能力*プロセッサ数)であるとすると、例えば下記のような評価式で、候補コンピュータ毎の評価値を決める。
K1*B1+K2*B2+K3*L+K4*P
【0042】
この式で、K1,K2,K3,K4は、それぞれタスク実行条件によって個々の重み付けが異なる係数である。例えば、主コンピュータ1mから各候補コンピュータ1cに送るデータが大きく、処理結果のデータが小さいときは、K1=1.0、K2=0.1、K3=1.0、K4=1.0のようにする。データサイズは、送る場合も受け取る場合も共に小さく、受け取る時間が速いほどよいとする場合にはK1=0.1、K2=0.1、K3=1.0、K4=1.0とする。データサイズは大きいが、転送先の負荷が殆どないことが判明している場合には、K1=1.0、K2=1.0、K3=0.1、K4=0.1にする。このような条件は例示であり、他の条件であってもよいのは勿論である。また、上記評価式は、線形であるが、2次式など非線形な式を代用してもよい。
【0043】
このような評価値に基づき、性能情報管理部21は、第2候補リスト214からインデックスリスト215を作成し、これらを他装置性能情報保持部22に記録する(ステップS105、S106)。このようにして、準備段階を終える。
【0044】
<アプリケーション実行時>
次に、準備段階を終えた主コンピュータ1mに、負荷の大きさに予測性がないアプリケーションの実行要求が入力されたときの情報処理の手順例を図7を参照して説明する。
アプリケーション実行要求をタスク入力部23で受け付けると(ステップS201:Yes)、負荷計測部24で、そのアプリケーションによるタスクの実行負荷を計測する(ステップS202)。そして、分散実行の必要があるかどうかを判別する。分散実行の必要がある場合は、候補決定部27の機能を起動する(ステップS203:Yes)。
【0045】
候補決定部27は、稼働状況監視部26で監視している自己の小プロセッサ14の現在の稼働状況(空き具合)を見て余裕があるかどうかを判別し、余裕がない場合には、不足負荷を計算するとともに他装置性能情報保持部22内のインデックスリスト215のうち、需要に適したインデックスリスト215を特定する(ステップS204)。そして、特定したインデックスリスト215にリストアップされた順に、各候補コンピュータ1cの現在の実行負荷を確認する(ステップS205)。
負荷に余裕がある候補コンピュータ1cに順次タスクを割り当て、不足負荷を再計算する(ステップS206)。
不足負荷がなくなるまでステップS206の処理を繰り返し、不足負荷がなくなった時点で(ステップS207:Yes)、自己分のタスクを実行する(ステップS208)。
ステップS203において、分散実行の必要がないとされた場合には、直ちに自己分のタスクを実行する(ステップS203:No)。
【0046】
なお、アプリケーションにおけるタスクの実行負荷に変動要素がある場合、あるいは、候補コンピュータ1cの第2性能情報が第2候補リスト214及びインデックスリスト215にリストアップないし分類された後、ある程度時間が経過している場合は、インデックスリスト215に従い、各候補コンピュータ1cに、現在の負荷を問い合わせ、問い合わせた結果に基づいて第2候補リスト214及びインデックスリスト215を更新するか、あるいは、問い合わせた結果に基づいてタスクを割り当てるようにしてもよい。
【0047】
また、負荷の分散が必要な場合、つまり自己の小プロセッサ14だけでは足りない場合に、とりあえず、処理できる分のタスクを自分の小プロセッサ14に割り当てるようにしてもよい。
また、自己の小プロセッサ14よりも他のクラスタ、つまり候補コンピュータ1cで処理した方がメリットがある場合は、第1候補リスト212、第2候補リスト214及びインデックスリスト215に、自己の小プロセッサ14もクラスタの1つとして掲載し、自己の小プロセッサ14を含めて、利用可能な全クラスタの中から最適なクラスタを特定してタスクを割り当てる、という形態にしてもよい。
さらに、タスク実行条件の種類が少ないなどの場合においては、インデックスリスト215を作成することなく、負荷の分散の必要が生じた時点で、第2性能情報を評価して第2候補リスト214を作成し、最適な候補コンピュータ1cを選定してもよい。
【0048】
このように、本実施形態の情報処理システムでは、1つのプログラム実行手段を複数のコンピュータによってクラスタ化しておくことにより、各候補コンピュータ1cが、ネットワークNで繋がる主コンピュータ1mのプログラム実行手段の計算資源が不足しているときに、自己の計算資源を容易に貸し出せるようになる。
【0049】
また、計算資源の貸出を受ける主コンピュータ1mでは、予め静的な処理性能(第1性能情報)に基づく第1候補リスト212を作成し、また、動的な処理性能(第2性能情報)に基づく評価値をリストアップした第2候補リスト214を作成し、さらに、第2候補リスト214にリストアップした評価値をタスク実行条件毎に分類したインデックスリスト215を作成し、タスク実行時に、インデックスリスト215に従って負荷を分散させる候補コンピュータ1cを選定するようにしたので、タスク実行前、あるいは、タスク実行中の負荷が重すぎるとわかった時点で計算資源が余っている他の候補コンピュータを探し出す処理が簡略化され、あるいは、その処理自体が不要となる。また、これにより、分散情報処理が効率化される。
【0050】
なお、この実施形態のように、情報処理システムのクラスタ要素となる複数のコンピュータがすべて均質な構成のプログラム実行手段を備えており、このプログラム実行手段もそれぞれ複数の小プロセッサ14によってクラスタ化されている場合、性能情報、特に第2性能情報は、コンピュータの種類や数に関わらず、当該時点で空いているクラスタの総数によって表現することができる。
【0051】
例えば、あるコンピュータにおいてあるタスクを実行する際に、足りない処理能力がクラスタ何個分に相当するかを算出し、その足りない処理能力分のクラスタをネットワークに接続されている他のコンピュータから確保し、確保したクラスタにタスクを割り当てていくという運用が可能となる。1つのクラスタで実行可能なタスクを「単位時間内に終了するクラスタ1つ分の処理」として把握するのである。
また、足りない分のクラスタを、1つのコンピュータからのみではなく、複数のコンピュータによる数珠つなぎ的な連絡によって確保するという運用も可能となる。
【0052】
さらに、例えば特定の補助プロセッサが存在することを前提として、「A処理が可能なクラスタ」あるいは「B処理が可能なクラスタ」というように、第1性能情報に基づく「〜処理が可能なクラスタ1つ分の処理」として把握する運用形態も、本発明によれば可能である。このような運用形態は、上記のように「単位時間内に終了するクラスタ1つ分の処理」が動的性能に基づくものであるのに対し、静的性能に基づくものということができる。
【0053】
また、コンピュータないしそのプログラム実行手段が均質かどうかを問わず、あるコンピュータAが、自分の性能では、処理仕切れない分の処理を他のコンピュータBに割り当て、そのコンピュータBはその処理の一部又は全部をさらに他のコンピュータCに割り当てるという別の形態の数珠つなぎ的な処理も、本発明によれば、可能になる。
【0054】
なお、この実施形態では、第2候補リスト214には、候補コンピュータ1cの第2性能情報を未ソートの状態で分離・集計してリストアップし、インデックスリスト215には第2候補リスト214の第2性能情報をタスク実行条件でソートしてリストアップした場合の例を示したが、第2候補リスト214に、タスク実行条件でソートした候補コンピュータ1cの第2性能情報をリストアップし、インデックスリスト215は、タスク実行条件毎にふさわしい第2候補リスト214はどれかを特定するためのリスト(第2候補リスト214のリスト番号をリストアップする)として用いるようにすることもできる。
【0055】
すなわち、動的性能計測部213は、第2性能情報をタスク実行条件毎に分類して第2候補リスト214を作成する。タスク実行条件は、タスクの種類によって様々であるが、その様々なタスク実行条件に対応した第2候補リスト214を作成するのである。このとき、計測した第2性能情報に、予め複数のタスク実行条件の各々に応じて定められている係数値を重み付けすることにより、タスク実行条件によって異なる第2候補リストを容易に作成できるようになる利点がある。このような第2候補リスト214をそれぞれ作成するために第2性能情報を収集する対象となる候補コンピュータ1cは、タスク実行条件に基づき、第1候補リスト212から選抜される。例えば、タスク実行条件がレンダリング処理に関するものである場合、図5(a)に示されるアドレス(AD)333の候補コンピュータ1cは、レンダリング処理には向かないため、この候補コンピュータ1cからは、第2性能情報を収集しない。
【0056】
【実施例】
次に、負荷の大きさに予測性がないアプリケーションが画像処理であるときの分散情報処理の実施例を説明する。
画像処理には、上述したジオメトリ処理とレンダリング処理とがある。ジオメトリ処理は、絶対座標空間におけるモデル(物体)の形状を、頂点座標、境界線・面を表現する方程式のパラメータなどにより定義するとともに、定義したモデルを、視点を基準としたスクリーン空間に置き換える処理であり、3次元空間での座標変換や光源処理(Lighting)、クリッピング等を行う。レンダリング処理は、このジオメトリ処理で作成されたデータをもとに、画像用メモリ上に線や面の描画を行い、目的のモデルを画像表現する処理である。
ジオメトリ処理は膨大な計算処理を伴うので、複数のコンピュータで分散実行するアプリケーションとしては適している。
【0057】
ここでは、画像処理が、図8のようなモデルを表示画面50に表示させるためのデータを作ることであるとする。モデルは、メッシュデータに基づいて作成されるもので、ジオメトリ処理では、図9に示されるような格子点上の頂点データに座標変換を行うものであるとする。
主コンピュータ1mは、それぞれがクラスタの要素となる図2に示されるように4つの小プロセッサ14を有し、各小プロセッサ14は、1単位時間に8×8のデータのブロックAを4つ含む17×17頂点の座標変換を単位時間で行うことができるものとすると、処理しなければならないデータは、図9に示されるようにブロック6つ分のデータであるから、主コンピュータ1mで1単位時間でデータ処理するには、2つのブロック分の処理性能が足りない。そこで、CとDのブロックについてのジオメトリ処理を他の候補コンピュータ1cに代行させる必要がある。
そこで、主コンピュータ1mは、負荷を分散すべき候補コンピュータ1cを、以下のような手順で見つける。
【0058】
まず、第1候補リスト212中のジオメトリ処理可能な候補コンピュータ1cに、プログラム及びデータをネットワークN上の各候補コンピュータ1cに転送してデータ受け取りまでの時間を計測し、計測結果に基づく現時点での転送バンド幅B1、B2、レイテンシLを求めて第2候補リスト214を作成し、さらに、候補コンピュータ毎の評価値を決め、評価値によって第2候補リスト214をソーティングして、ジオメトリ処理に適したインデックスリスト215を作成する。ジオメトリ処理に適する条件は、転送するデータ、受け取るデータ共にそのサイズが大きく、応答時間は速いことである。
【0059】
ジオメトリ用の処理性能PAと、主コンピュータ1mの全処理性能P1とを較べ、足りない処理性能(PA−P1)を求めた後、第2候補リスト214で最も順位の高い候補コンピュータ1cに、どれだけの性能が余っているかを尋ねる。余っている性能P2が、足りない性能よりも多ければ(P2≧PA−P1)、その候補コンピュータにタスクを割り当てる。その候補コンピュータで余っている性能が足りない性能に満たない場合(PA−P1−P2>0)は、候補コンピュータ1cに、余っている性能P2分の処理を割り当て、さらに、第2候補リスト214に従って他の候補コンピュータに尋ねることを、足りない処理性能が確保されるまで繰り返す。
【0060】
このようにして、ブロックCについてのデータは第1候補コンピュータ、ブロックDのデータは第2候補コンピュータに決定されると、主コンピュータ1mは、データをメモリ11上に格納し、ブロックBの部分の座標変換を行うとともに、ブロックCについてのデータは第1候補コンピュータに転送し、ブロックDのデータは第2候補コンピュータに転送する。第1候補コンピュータは、ブロックCの座標変換を行い、演算結果を主コンピュータ1mに転送して、実行結果保持部29に蓄積させる。第2候補コンピュータは、ブロックDの座標変換を行い、演算結果を主コンピュータ1mに転送して、実行結果保持部29に蓄積させる。主コンピュータ1mは、ブロックBの座標変換結果とブロックC,Dの座標変換結果とを統合して描画を行い、描画結果を自己に接続されている表示装置の表示画面50に表示させる。図10は、以上の手順の流れを図示したものである。
【0061】
<変形例>
上記の実施例の変形として、以下のような弾力的な運用が可能である。
例えば、上記の実施例の場合、ジオメトリ処理については、処理(計算)の負荷、例えばデータ量によっては、他の候補コンピュータの計算能力を借りることが必要になるので、ジオメトリ処理に先立って、処理を分散させるべき第1候補コンピュータを見つけ、その第1候補コンピュータに、ジオメトリ処理用のプログラムを転送して、処理の予約を行っておく。そして、その後に負荷が大きいことが判明した時点で第1候補コンピュータにデータのみを送り、計算結果を受領する。計算が自己のみで間に合う場合は、データを送らないようにする。また、データ転送速度及び処理速度にプロセッサの数を乗算して単位時間内に第1候補コンピュータが処理できるデータ量を予め特定しておき、これ以上のデータについては、転送しないようにする。この結果、予約した計算能力以下の処理を分散させることになるが、この場合は、その旨を第1候補コンピュータに通知するようにすればよい。
【0062】
なお、この実施形態では、すべてのコンピュータのプログラム実行手段の構成が同じであることを前提として説明したが、本発明は、空いている計算資源を他のコンピュータに貸し出せるようにすればよいので、プログラム実行手段の構成は、コンピュータによって異なる場合であっても本発明を実施できることは勿論である。
【0063】
また、コンピュータが随時追加接続されることを考慮すると、全てのコンピュータに図3のような機能を用意させておく形態のほか、分散情報処理のための性能情報の管理は一つの管理コンピュータのみが行い、他のコンピュータは、自己の負荷が大きいことが判った段階で、管理コンピュータを介して他のコンピュータに分散情報処理の実行を依頼するようにしてもよい。
例えば、図11は、一つの管理サーバと、複数のクライアント#1〜#nとをネットワークを介して接続し、各クライアントのプログラム実行手段の稼働状況を管理サーバで監視するとともに、あるクライアントから分散情報処理の依頼があったときに、計算資源に余裕があるクライアントにその分散情報処理を実行させ、その処理結果を依頼元に返信するようにすることもできる。
【0064】
【発明の効果】
以上の説明から明らかなように、本発明によれば、複数のタスクを分散実行をするときに、負荷の大きさと候補装置の性能を計測し、当該時点で最適な資源にタスクを割り当てることができるので、分散情報処理の効率化が図れる効果がある。
【図面の簡単な説明】
【図1】本発明が適用される情報処理システムの全体構成図。
【図2】情報処理システムの構成要素となるコンピュータのプログラム実行手段のハードウエア構成例を示した図。
【図3】コンピュータに形成される機能ブロック構成図。
【図4】性能情報管理部の詳細ブロック構成図。
【図5】(a)は第1候補リストの内容例を示した図、(b)第2候補リストの内容例を示した図、(c)はインデックスリストの内容例を示した図。
【図6】分散情報処理を行う場合の準備段階の手順説明図。
【図7】アプリケーション入力時の分散情報処理の実行手順説明図。
【図8】画像処理により得られるモデルの説明図。
【図9】ジオメトリ処理を行うときのデータの種類及びサイズの説明図。
【図10】分散情報処理の実行手順説明図。
【図11】本発明の他の実施形態の説明図。
【図12】分散情報処理を行うときの従来手法のタイミング関係を示した図であり、(a)は一つの計算資源で複数のタスクを共用して使う際の各タスクの終了タイミングを示した図、(b)は時分割で複数のタスクを実行するときの各タスクと空き時間のタイミング関係を示した図、(c)は各タスクが一定時間内で終わらない場合の不都合状態を示した図、(d)は処理を細かい時間間隔で区切った場合の不都合状態を示した図である。
【符号の説明】
1m・・・主コンピュータ、1c・・・候補コンピュータ、N・・・ネットワーク、11・・・メモリ、12・・・管理プロセッサ、13・・・I/O(入出力)インタフェース、14・・・小プロセッサ、B・・・バス、21・・・性能情報管理部、22・・・他装置性能情報保持部、23・・・タスク入力部、24・・・負荷計測部、25・・・タスク実行管理部、26・・・稼働状況監視部、27・・・候補決定部、28・・・タスク割当部、29・・・実行結果保持部、30・・・稼働状況通知部、211・・・静的性能計測部、212・・・第1候補リスト、213・・・動的性能計測部、214・・・第2候補リスト、215・・・インデックスリスト、50・・・表示画面
Claims (15)
- 複数の情報処理装置によりクラスタ化された情報処理システムであって、
少なくとも一つの情報処理装置が、
自装置から見た他の一部又は全部の情報処理装置の処理性能を表す性能情報を更新自在に保持する性能情報管理手段と、
要求された情報処理の負荷の大きさを計測する負荷計測手段と、
この負荷計測手段により計測された負荷の大きさと前記性能情報管理手段に保持されている性能情報とを比較することにより前記要求された情報処理の一部又は全部のタスクを分散実行可能な候補装置を決定する候補決定手段と、
この候補決定手段により決定された候補装置にタスクを割り当てるタスク割当手段とを有することを特徴とする、
情報処理システム。 - 前記性能情報管理手段は、前記他の情報処理装置の静的な処理性能を表す第1性能情報を取得して1又は複数の候補装置を決定するとともに、決定した候補装置をリスト化した第1候補リストを所定のメモリ領域に記録する第1候補リスト管理手段と、
前記第1候補リストにリストアップされている候補装置の動的な処理性能を表す第2性能情報を計測し、計測した第2性能情報を処理性能別に分類してリスト化した第2候補リストを作成するとともに、この第2候補リストにリストアップされている第2性能情報をもつ候補装置をタスク実行条件別にソートしてタスク実行条件毎に適した1又は複数の候補装置を決定し、決定した候補装置をリスト化したインデックスリストを所定のメモリ領域に記録する第2候補リスト管理手段とを有し、
このインデックスリストにリストアップされた候補装置の第2性能情報を前記メモリ領域より読み出して前記性能情報として前記候補決定手段に提供するように構成されることを特徴とする、
請求項1記載の情報処理システム。 - 前記第1候補リスト管理手段は、個々の情報処理装置が具えるプログラム実行手段の構成情報と、当該プログラム実行手段で実行可能なプログラムの種類を表す情報とを前記第1性能情報とし、複数の情報処理装置についての前記第1性能情報を比較することにより前記第1候補リストにおけるリストアップ順を決定することを特徴とする、
請求項2記載の情報処理システム。 - 前記第2候補リスト管理手段は、前記第1候補リストにリストアップされている候補装置に対して処理要求を発信するとともに、この処理要求に対する応答結果を受信することにより当該候補装置の前記第2性能情報を得ることを特徴とする、
請求項2記載の情報処理システム。 - 前記第2候補リスト管理手段は、前記第2性能情報に予め定めた処理性能の種別に応じて設定されている係数値を重み付けすることにより前記処理性能毎の第2候補リストを作成することを特徴とする、
請求項4記載の情報処理システム。 - 前記性能情報管理手段は、前記他の情報処理装置の静的な処理性能を表す第1性能情報を取得して1又は複数の候補装置を決定するとともに、決定した候補装置をリスト化した第1候補リストを所定のメモリ領域に記録する第1候補リスト管理手段と、
前記第1候補リストにリストアップされている候補装置の動的な処理性能を表す第2性能情報を計測し、計測した第2性能情報に予め複数のタスク実行条件の各々に応じて定められている係数値を重み付けすることにより、タスク実行条件によって異なる第2性能情報をもつ候補装置をリスト化した第2候補リストを所定のメモリ領域に記録する第2候補リスト管理手段とを有し、
この第2候補リストにリストアップされた候補装置の第2性能情報を前記メモリ領域より読み出して前記性能情報として前記候補決定手段に提供するように構成されることを特徴とする、
請求項1記載の情報処理システム。 - 前記第2候補リスト管理手段は、作成した前記第2候補リスト及び前記インデックスリストを前記第1候補リストよりも高い頻度で更新することを特徴とする、
請求項2記載の情報処理システム。 - 前記複数の情報処理装置がネットワークを介して相互に接続されており、前記第2候補リスト管理手段は、前記ネットワークを通じて前記処理要求を発信するとともに、この処理要求に対する応答結果を当該ネットワークを通じて受信することを特徴とする、
請求項4記載の情報処理システム。 - 前記複数の情報処理装置の少なくとも一つは、
前記プログラム実行手段が複数のクラスタに分割されており、
各クラスタの稼働状況を他の情報処理装置に通知可能に構成されていることを特徴とする、
請求項3記載の情報処理システム。 - 前記少なくとも一つの情報処理装置は、貸出可能なクラスタ数を前記稼働状況として前記他の情報処理装置に通知することを特徴とする、
請求項9記載の情報処理システム。 - 負荷の大きさに予測性がない情報処理を実行する装置であって、
複数のクラスタに分割されたプログラム実行手段と、
このプログラム実行手段の各クラスタの処理性能を表す性能情報を更新自在に保持する性能情報管理手段と、
要求された情報処理の負荷の大きさを計測する負荷計測手段と、
この負荷計測手段により計測された負荷の大きさと前記性能情報管理手段に保持されている性能情報とを比較することにより前記要求された情報処理を分散実行可能な複数の候補クラスタを決定する候補決定手段と、
この候補決定手段により決定された複数の候補クラスタにそれぞれ前記要求された情報処理の一部を割り当てるタスク割当手段と、
このタスク割当手段により割り当てた各候補クラスタからの実行結果を統合して出力する出力手段とを有することを特徴とする、
情報処理装置。 - 他の情報処理装置が発信した処理要求に対する所要の情報処理を実行するとともに、その実行結果を送信開始時刻と共に当該他の情報処理装置に返信する処理要求実行手段と、
前記性能情報管理手段に保持されている性能情報を他の情報処理装置に通知する通知手段と、を更に有することを特徴とする、
請求項11記載の情報処理装置。 - 前記複数のクラスタの各々がプロセッサを含んで構成されることを特徴とする、
請求項11記載の情報処理装置。 - ネットワークを介して相互に接続された複数の情報処理装置の各々で、他の情報処理装置の処理性能を前記ネットワークを通じて計測し、計測した処理性能を表す性能情報を所定のメモリ領域に更新自在に保持し合うとともに、他の情報処理装置からの処理要求のために自装置のプログラム実行手段の一部の資源を貸出可能にしておき、
いずれかの情報処理装置において、負荷の大きさに予測性がない情報処理の要求が生じたときに、
当該情報処理の要求が生じた情報処理装置が、
当該情報処理の負荷の大きさを計測する処理、計測した負荷の大きさと前記メモリ領域に保持されている性能情報とを比較して前記要求された情報処理を分散実行可能な1又は複数の候補装置を決定する処理、決定した候補装置に前記要求された情報処理の一部を割り当てる処理、及び、割り当てた候補装置の実行結果を統合して出力する処理を実行することを特徴とする、
分散情報処理方法。 - ネットワークを介して他の複数の情報処理装置と接続される情報処理装置に、
他の情報処理装置の処理性能を前記ネットワークを通じて計測する処理、
計測した他の情報処理装置の処理性能を表す性能情報を所定のメモリ領域に更新自在に保持する処理、
負荷の大きさに予測性がない不確定の情報処理の要求が生じたときに当該情報処理の負荷の大きさを計測する処理、
計測した負荷の大きさと前記メモリ領域に保持されている性能情報とを比較して前記要求された情報処理を分散実行可能な1又は複数の候補装置を決定する処理、
決定した候補装置に前記要求された情報処理の一部を割り当てる処理、
及び、割り当てた候補装置の実行結果を統合して出力する処理を実行させるためのコンピュータプログラム。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003078492A JP2004287801A (ja) | 2003-03-20 | 2003-03-20 | 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム |
TW093107587A TWI244030B (en) | 2003-03-20 | 2004-03-19 | Information processing system, information processing device, distributed information processing method and computer readable recording medium |
US10/804,790 US7797705B2 (en) | 2003-03-20 | 2004-03-19 | System for assigning tasks according to the magnitude of the load of information processing requested |
PCT/JP2004/003775 WO2004084069A2 (en) | 2003-03-20 | 2004-03-19 | Load balancing and taskdistribution system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003078492A JP2004287801A (ja) | 2003-03-20 | 2003-03-20 | 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004287801A true JP2004287801A (ja) | 2004-10-14 |
JP2004287801A5 JP2004287801A5 (ja) | 2006-02-16 |
Family
ID=33027978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003078492A Pending JP2004287801A (ja) | 2003-03-20 | 2003-03-20 | 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム |
Country Status (4)
Country | Link |
---|---|
US (1) | US7797705B2 (ja) |
JP (1) | JP2004287801A (ja) |
TW (1) | TWI244030B (ja) |
WO (1) | WO2004084069A2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005124548A1 (ja) * | 2004-06-15 | 2005-12-29 | Sony Computer Entertainment Inc. | 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム |
WO2005124549A1 (ja) * | 2004-06-15 | 2005-12-29 | Sony Computer Entertainment Inc. | 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム |
JP2007251769A (ja) * | 2006-03-17 | 2007-09-27 | Mitsubishi Electric Corp | 制御ノード装置及びデータ管理方法及びプログラム |
JP2008097418A (ja) * | 2006-10-13 | 2008-04-24 | Nec Corp | ロードバランサ及び負荷振り分け方法 |
WO2008096390A1 (ja) * | 2007-02-02 | 2008-08-14 | Sony Computer Entertainment Inc. | 仲介サーバ、端末、及び分散処理方法 |
JP2011529587A (ja) * | 2008-07-29 | 2011-12-08 | アルカテル−ルーセント ユーエスエー インコーポレーテッド | コンピュータ・ネットワーク内の複数のユーザ・デバイス間の資源共用のための方法および装置 |
JP2016018302A (ja) * | 2014-07-07 | 2016-02-01 | 公立大学法人会津大学 | 再生可能エネルギーを利用した情報処理システム |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050273507A1 (en) * | 2004-06-08 | 2005-12-08 | Yong Yan | Method and system for managing heterogeneous resources across a distributed computer network |
US7522168B2 (en) * | 2005-09-27 | 2009-04-21 | Sony Computer Entertainment Inc. | Cell processor task and data management |
US8037474B2 (en) | 2005-09-27 | 2011-10-11 | Sony Computer Entertainment Inc. | Task manager with stored task definition having pointer to a memory address containing required code data related to the task for execution |
US8141076B2 (en) | 2005-09-27 | 2012-03-20 | Sony Computer Entertainment Inc. | Cell processor methods and apparatus |
US7975269B2 (en) | 2005-09-27 | 2011-07-05 | Sony Computer Entertainment Inc. | Parallel processor methods and apparatus |
US7506123B1 (en) | 2005-09-27 | 2009-03-17 | Sony Computer Entertainment Inc. | Method and system for performing memory copy function on a cell processor |
US7734827B2 (en) | 2005-09-27 | 2010-06-08 | Sony Computer Entertainment, Inc. | Operation of cell processors |
US8316220B2 (en) | 2005-09-27 | 2012-11-20 | Sony Computer Entertainment Inc. | Operating processors over a network |
US7934216B2 (en) * | 2005-10-03 | 2011-04-26 | International Business Machines Corporation | Method and system for load balancing of computing resources |
US7779091B2 (en) * | 2005-12-19 | 2010-08-17 | Vmware, Inc. | Method and system for providing virtualized application workspaces |
US8595747B2 (en) | 2005-12-29 | 2013-11-26 | Sony Computer Entertainment Inc. | Efficient task scheduling by assigning fixed registers to scheduler |
US7543000B2 (en) * | 2006-01-23 | 2009-06-02 | International Business Machines Corporation | Method and system combining state replication and operational-replay synchronization |
US8028069B2 (en) * | 2006-05-08 | 2011-09-27 | International Business Machines Corporation | Structure for securing leased resources on a computer |
JP5135728B2 (ja) * | 2006-07-18 | 2013-02-06 | 富士通株式会社 | 情報処理方法、情報処理装置およびプログラム |
US8732307B1 (en) * | 2006-07-25 | 2014-05-20 | Hewlett-Packard Development Company, L.P. | Predictive control for resource entitlement |
US10122593B2 (en) * | 2007-02-20 | 2018-11-06 | Oracle America, Inc. | Method and system for managing computing resources using an electronic leasing agent |
US11393018B2 (en) * | 2007-02-20 | 2022-07-19 | Oracle America, Inc. | Method and system for managing computing resources using an electronic auction agent |
US8635349B2 (en) * | 2007-02-20 | 2014-01-21 | Oracle America, Inc. | Method and system for managing computing resources using an electronic broker agent |
US8510741B2 (en) * | 2007-03-28 | 2013-08-13 | Massachusetts Institute Of Technology | Computing the processor desires of jobs in an adaptively parallel scheduling environment |
US20100331017A1 (en) * | 2008-02-21 | 2010-12-30 | Nec Corporation | Method and system of efficiently using mobile terminal context |
US8230439B2 (en) * | 2008-08-22 | 2012-07-24 | International Business Machines Corporation | Green computing interchange switching function |
US8285729B2 (en) * | 2009-12-15 | 2012-10-09 | International Business Machines Corporation | Reducing overheads in application processing |
US8484279B1 (en) * | 2010-01-29 | 2013-07-09 | Sprint Communications Company L.P. | System and method of distributed computing using embedded processors |
JP5472449B2 (ja) | 2010-03-31 | 2014-04-16 | 富士通株式会社 | マルチコアプロセッサシステム、電力制御方法、および電力制御プログラム |
US8983960B1 (en) | 2011-03-28 | 2015-03-17 | Google Inc. | Opportunistic job processing |
US9195684B2 (en) | 2012-03-02 | 2015-11-24 | Cleversafe, Inc. | Redundant task execution in a distributed storage and task network |
US9477529B2 (en) * | 2012-06-20 | 2016-10-25 | International Business Machines Corporation | Job distributed within a grid environment using mega-host groupings of execution hosts based on resource attributes |
CN103577299A (zh) * | 2012-08-02 | 2014-02-12 | 北京千橡网景科技发展有限公司 | 监控方法和装置、数据处理方法和装置及分布式计算系统 |
WO2017018928A1 (en) * | 2015-07-28 | 2017-02-02 | Razer (Asia-Pacific) Pte. Ltd. | Servers for a reward-generating distributed digital resource farm and methods for controlling a server for a reward-generating distributed digital resource farm |
US10762086B2 (en) * | 2016-09-01 | 2020-09-01 | Amazon Technologies, Inc. | Tracking query execution status for selectively routing queries |
CN109936606A (zh) * | 2017-12-18 | 2019-06-25 | 浙江宇视科技有限公司 | 任务分配方法和装置 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6256675B1 (en) * | 1997-05-06 | 2001-07-03 | At&T Corp. | System and method for allocating requests for objects and managing replicas of objects on a network |
DE19807076A1 (de) * | 1998-02-20 | 1999-08-26 | Cit Alcatel | Datenbereitstellungsystem |
US6009455A (en) * | 1998-04-20 | 1999-12-28 | Doyle; John F. | Distributed computation utilizing idle networked computers |
WO2001013228A2 (en) | 1999-08-13 | 2001-02-22 | Sun Microsystems, Inc. | Graceful distribution in application server load balancing |
US6938256B2 (en) * | 2000-01-18 | 2005-08-30 | Galactic Computing Corporation | System for balance distribution of requests across multiple servers using dynamic metrics |
US20020069279A1 (en) * | 2000-12-29 | 2002-06-06 | Romero Francisco J. | Apparatus and method for routing a transaction based on a requested level of service |
US7467383B2 (en) * | 2004-03-08 | 2008-12-16 | Ab Initio Software Llc | System for controlling task execution using a graphical representation of task dependency |
-
2003
- 2003-03-20 JP JP2003078492A patent/JP2004287801A/ja active Pending
-
2004
- 2004-03-19 US US10/804,790 patent/US7797705B2/en active Active
- 2004-03-19 WO PCT/JP2004/003775 patent/WO2004084069A2/en active Application Filing
- 2004-03-19 TW TW093107587A patent/TWI244030B/zh active
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005124549A1 (ja) * | 2004-06-15 | 2005-12-29 | Sony Computer Entertainment Inc. | 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム |
US8195737B2 (en) | 2004-06-15 | 2012-06-05 | Sony Computer Entertainment Inc. | Process management apparatus, computer systems, distributed processing method, and computer program |
US7689694B2 (en) | 2004-06-15 | 2010-03-30 | Sony Computer Entertainment Inc. | Process management apparatus, computer systems, distributed processing method, and computer program for avoiding overhead in a process management device |
WO2005124548A1 (ja) * | 2004-06-15 | 2005-12-29 | Sony Computer Entertainment Inc. | 処理管理装置、コンピュータ・システム、分散処理方法及びコンピュータプログラム |
JP4528273B2 (ja) * | 2006-03-17 | 2010-08-18 | 三菱電機株式会社 | 制御ノード装置及びデータ管理方法及びプログラム |
JP2007251769A (ja) * | 2006-03-17 | 2007-09-27 | Mitsubishi Electric Corp | 制御ノード装置及びデータ管理方法及びプログラム |
JP2008097418A (ja) * | 2006-10-13 | 2008-04-24 | Nec Corp | ロードバランサ及び負荷振り分け方法 |
JPWO2008096390A1 (ja) * | 2007-02-02 | 2010-05-20 | 株式会社ソニー・コンピュータエンタテインメント | 仲介サーバ、端末、及び分散処理方法 |
JP4885871B2 (ja) * | 2007-02-02 | 2012-02-29 | 株式会社ソニー・コンピュータエンタテインメント | 仲介サーバ、端末、及び分散処理方法 |
WO2008096390A1 (ja) * | 2007-02-02 | 2008-08-14 | Sony Computer Entertainment Inc. | 仲介サーバ、端末、及び分散処理方法 |
US8935372B2 (en) | 2007-02-02 | 2015-01-13 | Sony Corporation | Mediation server, terminals and distributed processing method |
JP2011529587A (ja) * | 2008-07-29 | 2011-12-08 | アルカテル−ルーセント ユーエスエー インコーポレーテッド | コンピュータ・ネットワーク内の複数のユーザ・デバイス間の資源共用のための方法および装置 |
JP2016018302A (ja) * | 2014-07-07 | 2016-02-01 | 公立大学法人会津大学 | 再生可能エネルギーを利用した情報処理システム |
Also Published As
Publication number | Publication date |
---|---|
WO2004084069A2 (en) | 2004-09-30 |
US7797705B2 (en) | 2010-09-14 |
TWI244030B (en) | 2005-11-21 |
WO2004084069A3 (en) | 2005-10-27 |
US20040205759A1 (en) | 2004-10-14 |
TW200424928A (en) | 2004-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004287801A (ja) | 情報処理システム、情報処理装置、分散情報処理方法及びコンピュータプログラム | |
TWI553472B (zh) | 個人資料中心內的排程和管理 | |
CN107710161B (zh) | 用于增加的工作流优化的独立可联网硬件加速器 | |
CN105718479B (zh) | 跨idc大数据处理架构下执行策略生成方法、装置 | |
US7853948B2 (en) | Method and apparatus for scheduling grid jobs | |
US8095933B2 (en) | Grid project modeling, simulation, display, and scheduling | |
US7831971B2 (en) | Method and apparatus for presenting a visualization of processor capacity and network availability based on a grid computing system simulation | |
US7995474B2 (en) | Grid network throttle and load collector | |
JP6241300B2 (ja) | ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム | |
WO2019217573A1 (en) | Task assignment in virtual gpu enabled systems | |
CN103067524A (zh) | 一种基于云计算环境的蚁群优化计算资源分配方法 | |
JP2010122758A (ja) | ジョブ管理装置、ジョブ管理方法およびジョブ管理プログラム | |
CN103995735A (zh) | 用于调度工作流作业的设备和方法 | |
US6907607B1 (en) | System and method for analyzing capacity in a plurality of processing systems | |
CN108924214A (zh) | 一种计算集群的负载均衡方法、装置及系统 | |
JP3944176B2 (ja) | 探索要求送信装置およびプログラム | |
TW201608382A (zh) | 用於一叢集運算系統之主裝置、從屬裝置及其運算方法 | |
TWI454949B (zh) | 分散式資源管理系統及其分散式資源管理方法 | |
Perwej | The ambient scrutinize of scheduling algorithms in big data territory | |
Surya et al. | Prediction of resource contention in cloud using second order Markov model | |
Komarasamy et al. | ScHeduling of jobs and Adaptive Resource Provisioning (SHARP) approach in cloud computing | |
JP2004046372A (ja) | 分散処理システム、リソース割当方法およびプログラムならびにリソース割当プログラムが記録された記録媒体 | |
Ahrens et al. | PaTraCo: a framework enabling the transparent and efficient programming of heterogeneous compute networks | |
Ghazali et al. | CLQLMRS: improving cache locality in MapReduce job scheduling using Q-learning | |
Sharma et al. | An Empirical Study of Different Techniques for the Improvement of Quality of Service in Cloud Computing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20051221 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080805 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080929 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081209 |