JP2004341962A - 分散コンピューティング・システム、方法、プログラムおよび記録媒体 - Google Patents

分散コンピューティング・システム、方法、プログラムおよび記録媒体 Download PDF

Info

Publication number
JP2004341962A
JP2004341962A JP2003139534A JP2003139534A JP2004341962A JP 2004341962 A JP2004341962 A JP 2004341962A JP 2003139534 A JP2003139534 A JP 2003139534A JP 2003139534 A JP2003139534 A JP 2003139534A JP 2004341962 A JP2004341962 A JP 2004341962A
Authority
JP
Japan
Prior art keywords
group
processor
processors
distributed computing
control processor
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
JP2003139534A
Other languages
English (en)
Inventor
Ryokichi Onishi
亮吉 大西
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.)
Toyota InfoTechnology Center Co Ltd
Original Assignee
Toyota InfoTechnology Center Co Ltd
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 Toyota InfoTechnology Center Co Ltd filed Critical Toyota InfoTechnology Center Co Ltd
Priority to JP2003139534A priority Critical patent/JP2004341962A/ja
Publication of JP2004341962A publication Critical patent/JP2004341962A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】分散コンピューティング・システム10を構築する場合、プロセッサ集団の規模を自律的に反映することができる規模拡張性を有し、分散コンピューティング・システム10を構成する複数のプロセッサの数が動的に変化する場合にも効果的に対応することができる分散コンピューティング・システム10等を提供する。
【解決手段】分散コンピューティング・システム10へプロセッサ25a等が参加した場合、制御プロセッサ1はグループ記録部8に基づきプロセッサ25a等をグループ20等に構成してグループ記録部8の更新を行なう。プロセッサ25b等が脱退した場合、グループ記録部8に基づき脱退したプロセッサ25b等についてグループ記録部8の更新を行なう。制御プロセッサ1はグループ20等にタスクを均等に配分し、グループ制御プロセッサ23等が配分されたタスクをグループ20等内のプロセッサ25a等へ処理能力に応じて配分する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、複数のプロセッサにタスクの配分を行って該タスクの分散処理を実行する分散コンピューティング・システム等に関する。
【0002】
【従来の技術】
【特許文献1】特開平10−040229号公報
【0003】
一般的に、複数のプロセッサを統合して規模の大きいタスクを処理するような分散コンピューティング・システムを構築する場合、各プロセッサの処理能力に応じて公平にタスクを配分することによりスループットを増大させることが重要となる。このため、タスクの分配を最適に行う最適化プロセッサまたはコントローラが必要となる。しかし、最適化プロセッサの機能が特定の端末装置に集約されている場合、この集約されているということが複数のプロセッサにより構成されるプロセッサ集団の規模に対して処理上のボトルネックとなっていた。従って大規模な分散コンピューティング・システムを構築する場合、最適化プロセッサの機能を分散化させることが必要となっていた。
【0004】
例えば従来のグリッド・コンピューティング(grid computing)の場合、上述の最適化プロセッサはグリッド・コンピューティングを管理する管理センターの側にあった。この管理センター側で最適化プロセッサを並列プロセッサとして構成することにより最適化プロセッサの機能の分散化を図っていた。しかし、最適化プロセッサの並列化自体は人手により行なわれていたため、グリッド・コンピューティングを実行するプロセッサ集団の規模を自律的に反映することが困難であるという問題があった。
【0005】
上述の最適化プロセッサの機能の分散化として、インターネット等のネットワークを利用して複数のプロセッサを多段階に階層化するシステムも検討されている。この多段階の階層化システムは、システムを構成する複数のプロセッサの数が静的である場合には効果的である。しかし、システムを構成するプロセッサが途中で脱退しまったり、逆に途中から参加したりするような場合、システムの再編成が必要となる。このため、システムを構成する複数のプロセッサの数が動的に変化する場合には効果的ではないという問題があった。特許文献1には分散コンピューティング環境におけるプロセッサ・グループへの加入を管理するためのシステムが記載されている。特許文献1のシステムでは、特定のプロセスが対応するプロセス・グループに加わることを要求し、プロセッサがそのプロセス・グループを認識していない場合に、プロセッサがそのプロセス・グループのメンバになることを要求することが記載されている。しかし、特許文献1のシステムでは固定数の処理ノード(プロセッサ)を前提としているため、プロセッサの数が動的に変化する場合には対応することができない。
【0006】
【発明が解決しようとする課題】
上述のように、大規模な分散コンピューティング・システムを構築する場合、従来のグリッド・コンピューティングでは最適化プロセッサの並列化自体は人手により行なわれていた。このためグリッド・コンピューティングを実行するプロセッサ集団の規模を自律的に反映することが困難であるという問題があった。
インターネット等のネットワークを利用した多段階の階層化システムでは、システムを構成する複数のプロセッサの数が動的に変化する場合には効果的ではないという問題があった。
【0007】
そこで、本発明の目的は、上記問題を解決するためになされたものであり、大規模なプロセッサから構成される分散コンピューティング・システムを構築する場合、プロセッサ集団の規模を自律的に反映することができる規模拡張性を有し、システムを構成する複数のプロセッサの数が動的に変化する場合にも効果的に対応することができる分散コンピューティング・システム等を提供することにある。
【0008】
【課題を解決するための手段】
この発明の分散コンピューティング・システムは、複数のプロセッサにタスクの配分を行って該タスクの分散処理を実行する分散コンピューティング・システムであって、複数のプロセッサの構成とタスクの配分とを含む制御を行なう制御プロセッサと、所定の上限個数のプロセッサから構成されるグループ内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサとを有し、該制御プロセッサと該グループ内制御プロセッサとは相互に接続され、グループ内のプロセッサと該グループのグループ制御プロセッサとは相互に接続されており、前記制御プロセッサは、分散コンピューティング・システムへプロセッサが参加した場合、前記グループ内のプロセッサ数、グループの種別及びグループ内のグループ制御プロセッサの識別子を含む情報を記録したグループ記録部に基づき、参加したプロセッサを前記グループに構成して該グループ記録部の更新を行ない、又は分散コンピューティング・システムからプロセッサが脱退した場合、グループ記録部に基づき、脱退したプロセッサについて該グループ記録部の更新を行なうグループ化手段と、前記グループ化手段で構成されたグループにタスクを均等に配分するタスク配分手段とを備え、前記グループ制御プロセッサは、前記タスク配分手段でグループに配分されたタスクを該グループ内のプロセッサへ処理能力に応じて配分するグループ内タスク配分手段を備えたことを特徴とする。
【0009】
ここで、この発明の分散コンピューティング・システムにおいて、タスクの分散処理に参加しているプロセッサが制御プロセッサのみの状態で最初にプロセッサが参加した場合、前記グループ化手段は、最初に参加したプロセッサのみで最初のグループを構成し、該最初に参加したプロセッサを該グループ内のグループ制御プロセッサと指定することができる。
【0010】
ここで、この発明の分散コンピューティング・システムにおいて、プロセッサの数が所定の上限個数に達しないグループが存在する状態で新たなプロセッサが参加した場合、前記グループ化手段は、所定の上限個数に達するまで新たに参加したプロセッサを該グループへ入れることができる。
【0011】
ここで、この発明の分散コンピューティング・システムにおいて、プロセッサの数が所定の上限個数に達したグループが存在する状態で新たなプロセッサが参加した場合、前記グループ化手段は、新たに参加したプロセッサのみで新たなグループを構成し、該新たに参加したプロセッサを該新たなグループ内のグループ制御プロセッサと指定することができる。
【0012】
ここで、この発明の分散コンピューティング・システムにおいて、プロセッサの数が所定の上限個数に達したグループからグループ制御プロセッサではないプロセッサが脱退した状態で新たなプロセッサが参加した場合、前記グループ化手段は、新たに参加したプロセッサをグループ制御プロセッサではないプロセッサが脱退したグループへ入れることができる。
【0013】
ここで、この発明の分散コンピューティング・システムにおいて、グループ制御プロセッサが脱退した場合、前記グループ化手段は、グループ制御プロセッサが脱退したグループにおける他のプロセッサを新たにグループ制御プロセッサと指定することができる。
【0014】
この発明の分散コンピューティング方法は、複数のプロセッサにタスクの配分を行って該タスクの分散処理を実行する分散コンピューティング方法であって、前記複数のプロセッサの構成とタスクの配分とを含む制御を行なう制御プロセッサと、所定の上限個数のプロセッサから構成されるグループ内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサとを用い、該制御プロセッサと該グループ内制御プロセッサとは相互に接続され、グループ内のプロセッサと該グループのグループ制御プロセッサとは相互に接続されており、前記制御プロセッサが、分散コンピューティング・システムへプロセッサが参加した場合、前記グループ内のプロセッサ数、グループの種別及びグループ内のグループ制御プロセッサの識別子を含む情報を記録したグループ記録部に基づき、参加したプロセッサを前記グループに構成して該グループ記録部の更新を行ない、又は分散コンピューティング・システムからプロセッサが脱退した場合、グループ記録部に基づき、脱退したプロセッサについて該グループ記録部の更新を行なうグループ化ステップと、前記グループ化ステップで構成されたグループにタスクを均等に配分するタスク配分ステップと、グループ内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサが、前記タスク配分ステップでグループに配分されたタスクを該グループ内のプロセッサへ処理能力に応じて配分するグループ内タスク配分ステップとを備えたことを特徴とする。
【0015】
ここで、この発明の分散コンピューティング方法において、タスクの分散処理に参加しているプロセッサが制御プロセッサのみの状態で最初にプロセッサが参加した場合、前記グループ化ステップは、最初に参加したプロセッサのみで最初のグループを構成し、該最初に参加したプロセッサを該グループ内のグループ制御プロセッサと指定することができる。
【0016】
ここで、この発明の分散コンピューティング方法において、プロセッサの数が所定の上限個数に達しないグループが存在する状態で新たなプロセッサが参加した場合、前記グループ化ステップは、所定の上限個数に達するまで新たに参加したプロセッサを該グループへ入れることができる。
【0017】
ここで、この発明の分散コンピューティング方法において、プロセッサの数が所定の上限個数に達したグループが存在する状態で新たなプロセッサが参加した場合、前記グループ化ステップは、新たに参加したプロセッサのみで新たなグループを構成し、該新たに参加したプロセッサを該新たなグループ内のグループ制御プロセッサと指定することができる。
【0018】
ここで、この発明の分散コンピューティング方法において、プロセッサの数が所定の上限個数に達したグループからグループ制御プロセッサではないプロセッサが脱退した状態で新たなプロセッサが参加した場合、前記グループ化ステップは、新たに参加したプロセッサをグループ制御プロセッサではないプロセッサが脱退したグループへ入れることができる。
【0019】
ここで、この発明の分散コンピューティング方法において、グループ制御プロセッサが脱退した場合、前記グループ化ステップは、グループ制御プロセッサが脱退したグループにおける他のプロセッサを新たにグループ制御プロセッサと指定することができる。
【0020】
この発明の分散コンピューティング・プログラムは、複数のプロセッサにタスクの配分を行って該タスクの分散処理を実行する分散コンピューティング・プログラムであって、複数のプロセッサの構成とタスクの配分とを含む制御を行なう制御プロセッサに、分散コンピューティング・システムへプロセッサが参加した場合、前記グループ内のプロセッサ数、グループの種別及びグループ内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサの識別子を含む情報を記録したグループ記録部に基づき、参加したプロセッサを前記グループに構成して該グループ記録部の更新を行ない、又は分散コンピューティング・システムからプロセッサが脱退した場合、グループ記録部に基づき、脱退したプロセッサについて該グループ記録部の更新を行なうグループ化ステップ、前記グループ化ステップで構成されたグループにタスクを均等に配分するタスク配分ステップを実行させるための分散コンピューティング・プログラムである。
【0021】
ここで、この発明の分散コンピューティング・プログラムにおいて、タスクの分散処理に参加しているプロセッサが制御プロセッサのみの状態で最初にプロセッサが参加した場合、前記グループ化ステップは、最初に参加したプロセッサのみで最初のグループを構成し、該最初に参加したプロセッサを該グループのグループ制御プロセッサと指定することができる。
【0022】
ここで、この発明の分散コンピューティング・プログラムにおいて、プロセッサの数が所定の上限個数に達しないグループが存在する状態で新たなプロセッサが参加した場合、前記グループ化ステップは、所定の上限個数に達するまで新たに参加したプロセッサを該グループへ入れることができる。
【0023】
ここで、この発明の分散コンピューティング・プログラムにおいて、プロセッサの数が所定の上限個数に達したグループが存在する状態で新たなプロセッサが参加した場合、前記グループ化ステップは、新たに参加したプロセッサのみで新たなグループを構成し、該新たに参加したプロセッサを該新たなグループ内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサと指定することができる。
【0024】
ここで、この発明の分散コンピューティング・プログラムにおいて、プロセッサの数が所定の上限個数に達したグループからグループ制御プロセッサではないプロセッサが脱退した状態で新たなプロセッサが参加した場合、前記グループ化ステップは、新たに参加したプロセッサをグループ制御プロセッサではないプロセッサが脱退したグループへ入れることができる。
【0025】
ここで、この発明の分散コンピューティング・プログラムにおいて、グループ制御プロセッサが脱退した場合、前記グループ化ステップは、グループ制御プロセッサが脱退したグループにおける他のプロセッサを新たにグループ制御プロセッサと指定することができる。
【0026】
この発明の記録媒体は本発明のいずれかの分散コンピューティング・プログラムを記録したコンピュータ読取り可能な記録媒体である。
【0027】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して詳細に説明する。
【0028】
実施の形態1.
図1は、本発明の分散コンピューティング・システム10を例示する。図1に示されるように、分散コンピューティング・システム10において複数のプロセッサ23、25a、25b、25c、...、25n−2、25n−1等は所定の上限個数(n個またはn台)のグループ20を構成しており、他のプロセッサ33、35a、35b、35c、...、35n−2、35n−1等も同様に所定の上限個数(n個)のグループ30を構成している。プロセッサ63、65a、65b、65c等は所定の上限個数(n個)には未だ達していないグループ60を構成している。以下、所定の上限個数(n個)のプロセッサを有するグループ20等を完成グループと呼び、所定の上限個数(n個)には未だ達していないグループ60をエッジ・グループと呼ぶ。完成グループ20、30等およびエッジ・グループ60には各々グループ20、30、60等内のプロセッサ25a、35a、65a等に対してタスクの配分を含む制御を行なうグループ制御プロセッサ23、33、63等が存在している。このグループ制御プロセッサ23、33、63等はグループ内のプロセッサ25a、35a、65a等とインターネット等のネットワーク等(不図示)を介して相互に接続されている。グループ制御プロセッサ23、33、63等はインターネット等のネットワーク5等を介して制御プロセッサ1と接続されており、この制御プロセッサ1が複数のプロセッサ23、25a等に対して上記グループ構成とタスクの配分とを含む制御を行なっている。
【0029】
図1において、符号2は制御プロセッサ1の機能および使用するファイル等をブロック化して示す機能ブロックである。機能ブロック2において、符号4は 分散コンピューティング・システム10へプロセッサ25a等が参加した場合、グループ20等内のプロセッサ数、完成グループ、エッジ・グループまたは未熟なグループ(後述)等のグループの種別及びグループ20等内のグループ制御プロセッサ23等の識別子を記録したグループ記録部8に基づき、参加したプロセッサ25a等をグループ20等に構成してグループ記録部8の更新を行なうグループ化部(グループ化手段)である。グループ化部4は分散コンピューティング・システム10からプロセッサ25a等が脱退した場合、グループ記録部8に基づき、脱退したプロセッサ25a等についてグループ記録部8の更新も行なう。グループ記録部8には、各グループ20等についてグループ制御プロセッサ23の識別子が記録されており、完成グループ20等についてはプロセッサ数nと完成グループの種別(フラグ等)とが記録され、エッジ・グループ60についてはプロセッサ数4とエッジ・グループの種別とが記録されている。符号6はグループ化部4により構成されたグループ20等にタスクを均等に配分するタスク配分部(タスク配分手段)である。
【0030】
図1において、符号22はグループ制御プロセッサ23の機能をブロック化して示す機能ブロックである。機能ブロック22において、符号24は制御プロセッサ1のタスク配分部6によりグループ20に配分されたタスクを、グループ20内のプロセッサ25a等へ処理能力に応じて配分するグループ内タスク配分部(グループ内タスク配分手段)である。他のグループ制御プロセッサ33等も同様の機能を有するため説明は省略する。
【0031】
以上のように、制御プロセッサ1はまず複数のプロセッサ23、25a等のグループ化を行い、各グループ20等のグループ制御プロセッサ23等へ均等にタスクを配分する。次にグループ制御プロセッサ23等は制御プロセッサ1から配分されたタスクをグループ20等内のプロセッサ25a等へ処理能力に応じて配分する。以下、グループ化部4の行なうグループ化について、図2ないし図10を用い場合を分けて説明する。図2ないし図10において図1と同じ符号を付した箇所は同じ要素を示すため説明は省略する。
【0032】
初期状態及び最初のプロセッサの参加.
図2は、タスクの分散処理に参加しているプロセッサが制御プロセッサ1のみの状態、すなわち分散コンピューティング・システム10の初期状態を示す。図3は、分散コンピューティング・システム10の初期状態において最初にプロセッサ23が参加した状態を示す。グループ化部4は、最初に参加したプロセッサ23のみで最初のグループ20を構成し、この最初に参加したプロセッサ23をエッジ・グループ20内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサ23と指定する。グループ記録部8には、エッジ・グループ20についてプロセッサ数1とエッジ・グループの種別とグループ制御プロセッサ23の識別子とが記録されている。図3に示される状態では未だ他のプロセッサは存在していないため、制御プロセッサ1からエッジ・グループ20へタスクが配分された場合、このタスクはグループ制御プロセッサ23のみで実行される。
【0033】
2台目以降のプロセッサの参加.
図4はエッジ・グループ20に2台目のプロセッサ25aが参加した状態を示す。まずグループ化部4はグループ記録部8に基づきグループ20についてプロセッサ数が1であり、エッジ・グループであることを得る。図4に示されるようにエッジ・グループ20が存在する状態で新たなプロセッサ25aが参加した場合、グループ化部4は所定の上限個数(n個)に達するまで新たに参加したプロセッサ25aをエッジ・グループ20へ入れる。
【0034】
図5はエッジ・グループ20にn台目のプロセッサ25n−1が参加した状態を示す。この結果、グループ記録部8にはエッジ・グループ20についてプロセッサ数nと完成グループの種別とが記録される。図4または図5に示される状態で制御プロセッサ1からエッジ・グループ20または完成グループ20へタスクが配分された場合、このタスクはグループ制御プロセッサ23からタスクを配分されたプロセッサ25a等により実行される。グループ制御プロセッサ23は自分を含めてタスクを配分することもできる。
【0035】
n+1台目以降のプロセッサの参加.
図6は、分散コンピューティング・システム10へn+1台目以降のプロセッサが参加した状態を示す。まずグループ化部4はグループ記録部8に基づきグループ20についてプロセッサ数がnであり、グループ20が完成グループであることを得る。図6に示されるように、完成グループ20が存在する状態で新たなプロセッサ33が参加した場合、グループ化部4は、新たに参加したプロセッサ33のみで新たなエッジ・グループ30を構成し、この新たに参加したプロセッサ33を新たなエッジ・グループ30内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサ33と指定する。グループ記録部8には、エッジ・グループ30についてプロセッサ数1とグループ制御プロセッサ33の識別子とが記録される。図6に示される状態では、エッジ・グループ30には未だ他のプロセッサは存在していないため、制御プロセッサ1からエッジ・グループ30へタスクが配分された場合、このタスクはグループ制御プロセッサ33のみで実行される。
【0036】
図7はエッジ・グループ30に2台目のプロセッサ35aが参加した状態を示す。まずグループ化部4はグループ記録部8に基づきグループ20についてプロセッサ数がnであり、グループ20が完成グループであることを得る。さらにグループ記録部8に基づきグループ30についてプロセッサ数が1であり、グループ30がエッジ・グループであることを得る。図7に示されるように、エッジ・グループ30が存在する状態で新たなプロセッサ35aが参加した場合、グループ化部4は、所定の上限個数(n個)に達するまで新たに参加したプロセッサ35aをエッジ・グループ30へ入れる。
【0037】
プロセッサの脱退.
図8は完成グループ20からプロセッサ25bが脱退した状態を示す。グループ化部4は完成グループ20からグループ制御プロセッサ23ではないプロセッサが脱退した場合、グループ記録部8のグループ20に対しプロセッサ数を1減ずる更新を行なう。このように一度完成グループとなった後に完成グループではなくなったグループを未熟なグループと呼ぶ。未熟なグループの種別は他のグループの種別と同様にグループ記録部8に適宜フラグを立てることにより記録しておくことができる。このフラグによりグループ化部4はグループ20が未熟なグループであることを得る。
【0038】
図9は未熟なグループ20とエッジ・グループ30とが混在する状態で新たなプロセッサ25jが参加した場合を示す。まずグループ化部4はグループ記録部8に基づきグループ20についてプロセッサ数がn−1であり、グループ20が未熟なグループであることを得る。次にグループ記録部8に基づきグループ30についてプロセッサ数が1であり、グループ30がエッジ・グループであることを得る。このように未熟なグループ20とエッジ・グループ30とが混在する場合、グループ化部4は新たに参加したプロセッサ25jを未熟なグループ20へ入れることができる。これはできるだけ完成グループを増やすことに重点を置いたためである。従って、エッジ・グループ30のプロセッサ数がn−1である場合は、新たに参加したプロセッサ25jを未熟なグループ20へ入れる替わりにエッジ・グループ30へ入れてもよい。同じ条件の未熟なグループが複数存在する場合、グループが構成された時間順に新たに参加したプロセッサ25jを入れてもよい。あるいはランダムに選択されたグループへ新たに参加したプロセッサ25jを入れてもよい。
【0039】
図10はエッジ・グループ30からグループ制御プロセッサ23が脱退した状態を示す。エッジ・グループ30に限らずグループ制御プロセッサ23等が脱退した場合、グループ化部4はグループ制御プロセッサ33が脱退したグループ30における他のプロセッサ35aを新たにグループ制御プロセッサとして指定する。グループ記録部8のグループ30に対しプロセッサ35aの識別子をグループ制御プロセッサとして記録すると共に、プロセッサ数を1減ずる更新を行なう。グループ30はエッジ・グループであり一度も完成グループとなってはいないため、未熟なグループとはならない。
【0040】
図11は本発明の分散コンピューティング方法またはプログラムの処理の流れをフローチャートで示す。図11に示されるように、制御プロセッサ1はプロセッサのグループ化を行なう(グループ化ステップ。ステップS10、S14、S16、S18)。詳しくは、分散コンピューティング・システム10へプロセッサ25a等が参加した場合(ステップS10)、グループ20等内のプロセッサ数、グループ20等の種別及びグループ20等内のグループ制御プロセッサ23の識別子を含む情報を記録したグループ記録部8に基づき、参加したプロセッサ25a等をグループ20に構成してグループ記録部8の更新を行なう。プロセッサが参加していない場合はステップS20へ進む。
【0041】
ステップS12では、タスクの分散処理に参加しているプロセッサが制御プロセッサ1のみの状態で最初にプロセッサ23が参加した場合、最初に参加したプロセッサ23のみで最初のグループ20を構成し、最初に参加したプロセッサ23をグループ20内のグループ制御プロセッサと指定する。
【0042】
ステップS14では、プロセッサの数が所定の上限個数(n個)に達しないエッジ・グループ20等が存在する状態で新たなプロセッサ25a等が参加した場合、所定の上限個数(n個)に達するまで新たに参加したプロセッサ25a等をエッジ・グループ20等へ入れる。
【0043】
ステップS16では、プロセッサの数が所定の上限個数(n個)に達した完成グループ20が存在する状態で新たなプロセッサ33等が参加した場合、新たに参加したプロセッサ33のみで新たなグループ30を構成し、新たに参加したプロセッサ33を新たなグループ30内のグループ制御プロセッサと指定する。
【0044】
ステップS18では、プロセッサの数が所定の上限個数(n個)に達した完成グループ20等からグループ制御プロセッサ23等ではないプロセッサ25b等が脱退した状態で新たなプロセッサ25j等が参加した場合、新たに参加したプロセッサ25j等をグループ制御プロセッサ23等ではないプロセッサ25b等が脱退したグループ20等へ入れる。
【0045】
ステップS12、S14、S16およびS18が終了した後、ステップS20へ進む。グループ制御プロセッサ33等が脱退した場合(ステップS20)、グループ制御プロセッサ33等が脱退したグループ30等における他のプロセッサ35a等を新たにグループ制御プロセッサと指定する(ステップ22)。グループ記録部8に基づき、脱退したプロセッサ25b等についてグループ記録部8の更新を行ない、ステップS24へ進む。グループ制御プロセッサ33等が脱退していない場合も、ステップS24へ進む。
【0046】
ステップS24では、制御プロセッサ1が上述のグループ化ステップ(ステップS10、S12、S14,S16.S18)で構成されたグループにタスクを均等に配分する(タスク配分ステップ)。
【0047】
最後に、各グループ制御プロセッサ23等が、タスク配分ステップ(ステップS24)でグループ20等に配分されたタスクをグループ20等内のプロセッサ25a等へ処理能力に応じて配分する(グループ内タスク配分ステップ。ステップS26)。
【0048】
以上説明したように、本発明の実施の形態1によれば、制御プロセッサ1は分散コンピューティング・システム10へプロセッサ25a等が参加した場合、グループ20等内のプロセッサ数、グループ20等の種別及びグループ20等内のグループ制御プロセッサ23等の識別子を含む情報を記録したグループ記録部8に基づき、参加したプロセッサ25a等をグループ20等に構成してグループ記録部8の更新を行なう。又は分散コンピューティング・システム10からプロセッサ25b等が脱退した場合、グループ記録部8に基づき、脱退したプロセッサ25b等についてグループ記録部8の更新を行なう。上述のように構成されたグループ20等にタスクを均等に配分する。グループ制御プロセッサ23等は、グループ20等に配分されたタスクをグループ20等内のプロセッサ25a等へ処理能力に応じて配分する。従って、大規模なプロセッサから構成される分散コンピューティング・システム10を構築する場合、プロセッサ集団であるグループ20等の規模を自律的に反映することができ規模拡張性を有し、分散コンピューティング・システム10を構成する複数のプロセッサの数が動的に変化する場合にも効果的に対応することができる。
【0049】
実施の形態2.
図12は、上述した本発明のコンピュータ・プログラムである分散コンピューティング・プログラムを実行するコンピュータの内部回路10を示すブロック図である。図12において、上述の本発明の分散コンピューティング・プログラムは、ROM72、ディスク75aまたはCD−ROM75n等の記録媒体に記録されている。この分散コンピューティング・プログラムは、ROM72、ディスク75aまたはCD−ROM75n等の記録媒体からコントローラ74を介しバス76を通ってRAM73へロードされる。入力操作部78は制御プロセッサ1等のコンピュータに入力を行うためのマウスまたはテンキー等の入力装置であり、入力制御部77は入力操作部78と接続され入力制御等を行う。外部インタフェース(I/F)部79はネットワーク5等の外部との通信を行う際のインタフェース機能を有している。グループ記録部8等はディスク75a等に記録しておくことができる。
【0050】
CPU71がRAM73内の上述の本発明の分散コンピューティング・プログラムを実行することにより、本発明の目的を達成することができる。当該分散コンピューティング・プログラムは上述のようにCD−ROM75n等の脱着可能な記録媒体の形態でコンピュータCPU71に供給することができ、当該分散コンピューティング・プログラムを記録したCD−ROM75n等の記録媒体も同様に本発明を構成することになる。当該分散コンピューティング・プログラムを記録した記録媒体としては上述された記録媒体の他に、例えばDVD、光ディスク、メモリ・カード、メモリスティック、MO、FD等を用いることができる。
【0051】
【発明の効果】
以上説明したように、本発明の分散コンピューティング・システム10等によれば、分散コンピューティング・システム10へプロセッサ25a等が参加した場合、制御プロセッサ1はグループ20等内のプロセッサ数、グループ20等の種別及びグループ20等内のグループ制御プロセッサ23等の識別子を含む情報を記録したグループ記録部8に基づき、参加したプロセッサ25a等をグループ20等に構成してグループ記録部8の更新を行なう。又は分散コンピューティング・システム10からプロセッサ25b等が脱退した場合、グループ記録部8に基づき、脱退したプロセッサ25b等についてグループ記録部8の更新を行なう。上述のように構成されたグループ20等にタスクを均等に配分する。グループ制御プロセッサ23等は、グループ20等に配分されたタスクをグループ20等内のプロセッサ25a等へ処理能力に応じて配分する。従って、大規模なプロセッサから構成される分散コンピューティング・システム10を構築する場合、プロセッサ集団であるグループ20等の規模を自律的に反映することができる規模拡張性を有し、分散コンピューティング・システム10を構成する複数のプロセッサの数が動的に変化する場合にも効果的に対応することができる分散コンピューティング・システム10等を提供することができる。
【図面の簡単な説明】
【図1】本発明の分散コンピューティング・システム10を例示する図である。
【図2】タスクの分散処理に参加しているプロセッサが制御プロセッサ1のみの状態、すなわち分散コンピューティング・システム10の初期状態を示す図である。
【図3】分散コンピューティング・システム10の初期状態において最初にプロセッサ23が参加した状態を示す図である。
【図4】エッジ・グループ20に2台目のプロセッサ25aが参加した状態を示す図である。
【図5】エッジ・グループ20にn台目のプロセッサ25n−1が参加した状態を示す図である。
【図6】分散コンピューティング・システム10へn+1台目以降のプロセッサが参加した状態を示す図である。
【図7】エッジ・グループ30に2台目のプロセッサ35aが参加した状態を示す図である。
【図8】完成グループ20からプロセッサ25bが脱退した状態を示す図である。
【図9】未熟なグループ20とエッジ・グループ30とが混在する状態で新たなプロセッサが参加した場合を示す図である。
【図10】エッジ・グループ30からグループ制御プロセッサ233が脱退した状態を示す図である。
【図11】本発明の分散コンピューティング方法またはプログラムの処理の流れを示すフローチャートである。
【図12】本発明の分散コンピューティング・プログラムを実行するコンピュータの内部回路70を示すブロック図である。
【符号の説明】
1 制御プロセッサ、 2 機能ブロック、 4 グループ化部、 5 ネットワーク、 6 タスク配分部、 8 グループ記録部、 10 分散コンピューティング・システム、 20,30,60 グループ、 23,33,63 グループ制御プロセッサ、 25a,25b,25c,25n−2,25n−1,35a,35b,35c,35n−2,35n−1,65a,65b,65cプロセッサ、
70 内部回路、 71 CPU、 72 ROM、 73 RAM、 74コントローラ、 75a ディスク、 75n CD−ROM、 76 バス、 77 入力操作部、 78 入力制御部、 79 外部I/F部。

Claims (19)

  1. 複数のプロセッサにタスクの配分を行って該タスクの分散処理を実行する分散コンピューティング・システムであって、
    前記複数のプロセッサの構成とタスクの配分とを含む制御を行なう制御プロセッサと、所定の上限個数のプロセッサから構成されるグループ内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサとを有し、該制御プロセッサと該グループ内制御プロセッサとは相互に接続され、グループ内のプロセッサと該グループのグループ制御プロセッサとは相互に接続されており、
    前記制御プロセッサは、
    分散コンピューティング・システムへプロセッサが参加した場合、前記グループ内のプロセッサ数、グループの種別及びグループ内のグループ制御プロセッサの識別子を含む情報を記録したグループ記録部に基づき、参加したプロセッサを前記グループに構成して該グループ記録部の更新を行ない、又は分散コンピューティング・システムからプロセッサが脱退した場合、グループ記録部に基づき、脱退したプロセッサについて該グループ記録部の更新を行なうグループ化手段と、
    前記グループ化手段で構成されたグループにタスクを均等に配分するタスク配分手段とを備え、
    前記グループ制御プロセッサは、
    前記タスク配分手段でグループに配分されたタスクを該グループ内のプロセッサへ処理能力に応じて配分するグループ内タスク配分手段を備えたことを特徴とする分散コンピューティング・システム。
  2. 請求項1記載の分散コンピューティング・システムにおいて、タスクの分散処理に参加しているプロセッサが制御プロセッサのみの状態で最初にプロセッサが参加した場合、
    前記グループ化手段は、最初に参加したプロセッサのみで最初のグループを構成し、該最初に参加したプロセッサを該グループ内のグループ制御プロセッサと指定することを特徴とする分散コンピューティング・システム。
  3. 請求項1記載の分散コンピューティング・システムにおいて、プロセッサの数が所定の上限個数に達しないグループが存在する状態で新たなプロセッサが参加した場合、
    前記グループ化手段は、所定の上限個数に達するまで新たに参加したプロセッサを該グループへ入れることを特徴とする分散コンピューティング・システム。
  4. 請求項1記載の分散コンピューティング・システムにおいて、プロセッサの数が所定の上限個数に達したグループが存在する状態で新たなプロセッサが参加した場合、
    前記グループ化手段は、新たに参加したプロセッサのみで新たなグループを構成し、該新たに参加したプロセッサを該新たなグループ内のグループ制御プロセッサと指定することを特徴とする分散コンピューティング・システム。
  5. 請求項1記載の分散コンピューティング・システムにおいて、プロセッサの数が所定の上限個数に達したグループからグループ制御プロセッサではないプロセッサが脱退した状態で新たなプロセッサが参加した場合、
    前記グループ化手段は、新たに参加したプロセッサをグループ制御プロセッサではないプロセッサが脱退したグループへ入れることを特徴とする分散コンピューティング・システム。
  6. 請求項1記載の分散コンピューティング・システムにおいて、グループ制御プロセッサが脱退した場合、前記グループ化手段は、グループ制御プロセッサが脱退したグループにおける他のプロセッサを新たにグループ制御プロセッサと指定することを特徴とする分散コンピューティング・システム。
  7. 複数のプロセッサにタスクの配分を行って該タスクの分散処理を実行する分散コンピューティング方法であって、前記複数のプロセッサの構成とタスクの配分とを含む制御を行なう制御プロセッサと、所定の上限個数のプロセッサから構成されるグループ内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサとを用い、該制御プロセッサと該グループ内制御プロセッサとは相互に接続され、グループ内のプロセッサと該グループのグループ制御プロセッサとは相互に接続されており、
    前記制御プロセッサが、
    分散コンピューティング・システムへプロセッサが参加した場合、前記グループ内のプロセッサ数、グループの種別及びグループ内のグループ制御プロセッサの識別子を含む情報を記録したグループ記録部に基づき、参加したプロセッサを前記グループに構成して該グループ記録部の更新を行ない、又は分散コンピューティング・システムからプロセッサが脱退した場合、グループ記録部に基づき、脱退したプロセッサについて該グループ記録部の更新を行なうグループ化ステップと、
    前記グループ化ステップで構成されたグループにタスクを均等に配分するタスク配分ステップと、
    グループ内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサが、前記タスク配分ステップでグループに配分されたタスクを該グループ内のプロセッサへ処理能力に応じて配分するグループ内タスク配分ステップと
    を備えたことを特徴とする分散コンピューティング方法。
  8. 請求項7記載の分散コンピューティング方法において、タスクの分散処理に参加しているプロセッサが制御プロセッサのみの状態で最初にプロセッサが参加した場合、
    前記グループ化ステップは、最初に参加したプロセッサのみで最初のグループを構成し、該最初に参加したプロセッサを該グループ内のグループ制御プロセッサと指定することを特徴とする分散コンピューティング方法。
  9. 請求項7記載の分散コンピューティング方法において、プロセッサの数が所定の上限個数に達しないグループが存在する状態で新たなプロセッサが参加した場合、
    前記グループ化ステップは、所定の上限個数に達するまで新たに参加したプロセッサを該グループへ入れることを特徴とする分散コンピューティング方法。
  10. 請求項7記載の分散コンピューティング方法において、プロセッサの数が所定の上限個数に達したグループが存在する状態で新たなプロセッサが参加した場合、
    前記グループ化ステップは、新たに参加したプロセッサのみで新たなグループを構成し、該新たに参加したプロセッサを該新たなグループ内のグループ制御プロセッサと指定することを特徴とする分散コンピューティング方法。
  11. 請求項7記載の分散コンピューティング方法において、プロセッサの数が所定の上限個数に達したグループからグループ制御プロセッサではないプロセッサが脱退した状態で新たなプロセッサが参加した場合、
    前記グループ化ステップは、新たに参加したプロセッサをグループ制御プロセッサではないプロセッサが脱退したグループへ入れることを特徴とする分散コンピューティング方法。
  12. 請求項7記載の分散コンピューティング方法において、グループ制御プロセッサが脱退した場合、前記グループ化ステップは、グループ制御プロセッサが脱退したグループにおける他のプロセッサを新たにグループ制御プロセッサと指定することを特徴とする分散コンピューティング方法。
  13. 複数のプロセッサにタスクの配分を行って該タスクの分散処理を実行する分散コンピューティング・プログラムであって、複数のプロセッサの構成とタスクの配分とを含む制御を行なう制御プロセッサに、
    分散コンピューティング・システムへプロセッサが参加した場合、前記グループ内のプロセッサ数、グループの種別及びグループ内のプロセッサに対してタスクの配分を含む制御を行なうグループ制御プロセッサの識別子を含む情報を記録したグループ記録部に基づき、参加したプロセッサを前記グループに構成して該グループ記録部の更新を行ない、又は分散コンピューティング・システムからプロセッサが脱退した場合、グループ記録部に基づき、脱退したプロセッサについて該グループ記録部の更新を行なうグループ化ステップ、
    前記グループ化ステップで構成されたグループにタスクを均等に配分するタスク配分ステップ
    を実行させるための分散コンピューティング・プログラム。
  14. 請求項13記載の分散コンピューティング・プログラムにおいて、タスクの分散処理に参加しているプロセッサが制御プロセッサのみの状態で最初にプロセッサが参加した場合、
    前記グループ化ステップは、最初に参加したプロセッサのみで最初のグループを構成し、該最初に参加したプロセッサを該グループのグループ制御プロセッサと指定することを特徴とする分散コンピューティング・プログラム。
  15. 請求項13記載の分散コンピューティング・プログラムにおいて、プロセッサの数が所定の上限個数に達しないグループが存在する状態で新たなプロセッサが参加した場合、
    前記グループ化ステップは、所定の上限個数に達するまで新たに参加したプロセッサを該グループへ入れることを特徴とする分散コンピューティング・プログラム。
  16. 請求項13記載の分散コンピューティング・プログラムにおいて、プロセッサの数が所定の上限個数に達したグループが存在する状態で新たなプロセッサが参加した場合、
    前記グループ化ステップは、新たに参加したプロセッサのみで新たなグループを構成し、該新たに参加したプロセッサを該新たなグループのグループ制御プロセッサと指定することを特徴とする分散コンピューティング・プログラム。
  17. 請求項13記載の分散コンピューティング・プログラムにおいて、プロセッサの数が所定の上限個数に達したグループからグループ制御プロセッサではないプロセッサが脱退した状態で新たなプロセッサが参加した場合、
    前記グループ化ステップは、新たに参加したプロセッサをグループ制御プロセッサではないプロセッサが脱退したグループへ入れることを特徴とする分散コンピューティング・プログラム。
  18. 請求項13記載の分散コンピューティング・プログラムにおいて、グループ制御プロセッサが脱退した場合、前記グループ化ステップは、グループ制御プロセッサが脱退したグループにおける他のプロセッサを新たにグループ制御プロセッサと指定することを特徴とする分散コンピューティング・プログラム。
  19. 請求項13ないし18のいずれかに記載のプログラムを記録したコンピュータ読取り可能な記録媒体。
JP2003139534A 2003-05-16 2003-05-16 分散コンピューティング・システム、方法、プログラムおよび記録媒体 Pending JP2004341962A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003139534A JP2004341962A (ja) 2003-05-16 2003-05-16 分散コンピューティング・システム、方法、プログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003139534A JP2004341962A (ja) 2003-05-16 2003-05-16 分散コンピューティング・システム、方法、プログラムおよび記録媒体

Publications (1)

Publication Number Publication Date
JP2004341962A true JP2004341962A (ja) 2004-12-02

Family

ID=33528590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003139534A Pending JP2004341962A (ja) 2003-05-16 2003-05-16 分散コンピューティング・システム、方法、プログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP2004341962A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006013992A1 (ja) * 2004-08-02 2006-02-09 Sony Computer Entertainment Inc. ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
JP2006072987A (ja) * 2004-08-02 2006-03-16 Sony Computer Entertainment Inc ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
KR100795593B1 (ko) 2005-05-18 2008-01-21 아주대학교산학협력단 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템및 그 데이터 처리 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006013992A1 (ja) * 2004-08-02 2006-02-09 Sony Computer Entertainment Inc. ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
JP2006072987A (ja) * 2004-08-02 2006-03-16 Sony Computer Entertainment Inc ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
JP4485428B2 (ja) * 2004-08-02 2010-06-23 株式会社ソニー・コンピュータエンタテインメント ネットワークシステム、管理コンピュータ、クラスタ管理方法およびコンピュータプログラム
US8775622B2 (en) 2004-08-02 2014-07-08 Sony Corporation Computer-based cluster management system and method
KR100795593B1 (ko) 2005-05-18 2008-01-21 아주대학교산학협력단 동적 순위 매김 및 그룹핑을 이용한 그리드 컴퓨팅 시스템및 그 데이터 처리 방법

Similar Documents

Publication Publication Date Title
US20180241617A1 (en) System upgrade management in distributed computing systems
Walshaw et al. Parallel optimisation algorithms for multilevel mesh partitioning
US8566641B2 (en) Fault tolerant batch processing
CN106776395B (zh) 一种共享集群的任务调度方法及装置
Sadok et al. Stateful DRF: considering the past in a multi-resource allocation
CN110362394B (zh) 任务处理方法及装置、存储介质、电子装置
CN115237580A (zh) 面向智能计算的流水并行训练自适应调整系统、方法
CN105426255A (zh) Hadoop大数据平台中基于网络I/O代价评估的ReduceTask数据本地性调度方法
JP2004341962A (ja) 分散コンピューティング・システム、方法、プログラムおよび記録媒体
US20100318565A1 (en) Distributed Computing Management
CN108196970A (zh) Spark平台的内存动态管理方法和装置
JP3036489B2 (ja) マルチプロセッサシステムにおける集団通信装置
Hui et al. Theoretical analysis of the heterogeneous dynamic load-balancing problem using a hydrodynamic approach
CN110399600A (zh) 生成宽表的方法及装置
Malewicz et al. Distributed cooperation during the absence of communication
CN113641476B (zh) 一种任务调度方法、游戏引擎、设备及存储介质
CN114020408A (zh) 一种任务分片配置方法及装置、设备、存储介质
CN101535956A (zh) 多处理器系统、多处理器系统中的系统构成方法及其程序
Dong et al. Additive manufacturing cloud based on multi agent systems and rule inference
Berzano et al. PROOF on the Cloud for ALICE using PoD and OpenNebula
CN110750798A (zh) 一种协同计算管理平台和管理方法
Janczyk et al. Virtualized research environments on the bwForCluster NEMO
CN113157979B (zh) 一种基于哑模块节点的内核模块关系图构建方法、系统及介质
US20230306116A1 (en) Rules modifications
Kanrar et al. A new link failure resilient priority based fair mutual exclusion algorithm for distributed systems