JP3522820B2 - 分散処理システム - Google Patents

分散処理システム

Info

Publication number
JP3522820B2
JP3522820B2 JP04444894A JP4444894A JP3522820B2 JP 3522820 B2 JP3522820 B2 JP 3522820B2 JP 04444894 A JP04444894 A JP 04444894A JP 4444894 A JP4444894 A JP 4444894A JP 3522820 B2 JP3522820 B2 JP 3522820B2
Authority
JP
Japan
Prior art keywords
task
multiplicity
computer
message
target task
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.)
Expired - Fee Related
Application number
JP04444894A
Other languages
English (en)
Other versions
JPH07253951A (ja
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP04444894A priority Critical patent/JP3522820B2/ja
Publication of JPH07253951A publication Critical patent/JPH07253951A/ja
Application granted granted Critical
Publication of JP3522820B2 publication Critical patent/JP3522820B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、複数の計算機が通信路
で接続された分散処理システムに関する。
【0002】
【従来の技術】分散処理システムにおいて複数のタスク
を多重化して同時に行わせる場合は計算機単位の多重化
方式が従来より良く知られていた。この計算機単位の多
重化方式には次の二つがある。
【0003】(1)同一のタスク構成の計算機を多重化
して同時に実行する計算機単位の並列多重方式。
【0004】(2)多重化した計算機のうち1台のみを
稼動させて故障時には待機している計算機に切り替える
計算機単位の待機冗長方式。
【0005】これらの計算機単位の多重化方式は、ある
タスクについて分散処理システム内で多重化して並列実
行しているタスクの数(以下、タスクの多重度という)
を2にする場合は多重化処理しない場合の2倍の計算機
を必要とする。同様にタスクの多重度を3にすれば多重
化処理しない場合の3倍の計算機を必要とする。
【0006】これを具体的に説明する。例えば、図29
の模式図において、4台の計算機PU1,PU2,PU
3,PU4をそれぞれ四角形で示す。さらに、5種類の
タスクTA,TB,TC,TD,TEが計算機に割当て
られている様子を、計算機を表わす四角形の中に配置さ
れたタスク名を記した円によって示す。具体的に述べる
と、タスクTAが計算機PU1とPU2に、タスクTB
が計算機PU1とPU2に、タスクTCが計算機PU1
とPU2に、タスクTDが計算機PU3とPU4に、タ
スクTEが計算機PU3とPU4に、それぞれ割当てら
れて実行されている。すなわち、計算機PU1とPU2
が同一のタスク構成、計算機PU3とPU4が同一のタ
スク構成であり、タスクの多重度はいずれも2である。
【0007】このような計算機単位の多重化方式におい
て、並列多重化方式では、すべての計算機が稼動する。
これに対して、待機冗長方式では、例えば計算機PU1
とPU3が稼動して、計算機PU2とPU4は待機す
る。また、これらの方式においてタスクTAの多重度を
3にしたいのであれば、 (1)さらに計算機を1台追加して計算機PU1,PU
2と同一のタスク構成にする。
【0008】(2)タスクTAを計算機PU3,PU4
に追加して動作させる。
【0009】(3)計算機を1台追加してタスクの配置
をやりなおす。
【0010】などの方法がある。
【0011】(1)の方法では、計算機を追加すること
によりコストが増大し、タスクTB,TCの多重度まで
3になってしまうことにより無駄な計算が生じる。
(2)の方法では、計算機PU3,PU4の計算負荷が
増大することとタスクTAの多重度が4になってしまう
ことにより無駄な計算が生じる。(3)の方法は設備コ
ストの増大があり、人手が掛かる。
【0012】近年、上記した計算機単位の多重化方式の
欠点を考慮して、信頼性向上のために任意のタスクを複
数の計算機上で多重化して並列実行するタスク単位の並
列多重化方式が提案された。実際、タスクが多重化され
ていれば、分散処理システム内のある計算機が故障して
も他の正常な計算機で動作中のタスクで継続実行できる
ので信頼性が向上する。
【0013】すなわち、タスク単位の多重化方式はタス
クの多重度をタスクの重要度に応じてタスク単位で変え
ることができるので、分散処理システム内の計算機の数
を単純に2倍、3倍とする必要がなくなり、設備コスト
を抑える効果があるという点で優れている。これを具体
的に説明する。例えば、図28の模式図において、4台
の計算機PU1,PU2,PU3,PU4をそれぞれ四
角形で示す。さらに、5種類のタスクTA,TB,T
C,TD,TEが計算機に割当てられている様子を、計
算機を表わす四角形の中に配置されたタスク名を記した
円によって示す。具体的に述べると、タスクTAが計算
機PU1とPU2に、タスクTBが計算機PU1とPU
3に、タスクTCが計算機PU1とPU2とPU3に、
タスクTDが計算機PU2とPU3に、タスクTEが計
算機PU4に、それぞれ割当てられて実行されている。
この場合のタスクTAとTBとTDの多重度は2であ
り、タスクTCの多重度は3でありタスクTEの多重度
は1である。
【0014】このようにタスク単位の多重化方式では、
タスクの多重度をタスク毎に自由に指定することがで
き、これらの多重化されたタスクは並列に実行される。
ここでは、タスク間でのメッセージを他のタスクに渡す
場合は、放送通信方式で送信する(以下、放送するとい
う)。また、タスクがメッセージを受信する際は最初に
受信したメッセージを採用する、あるいは、同じ内容の
メッセージが指定された数だけ到着したときにそのメッ
セージを採用する、などの方法をとっている。したがっ
て、タスク実行にあたっては、タスクが割当てられてい
る計算機やタスクの多重度を知る必要がない。例えばタ
スクTAがTBにメッセージを渡す場合はタスクTAを
実行中の計算機PU1およびPU2からこのメッセージ
を放送する。このメッセージはすべての計算機が受信す
るが、実際に利用されるのはタスクTBを実行中の計算
機PU1およびPU3である。計算機PU1で実行中の
タスクTBは計算機PU1及びPU2のタスクTAから
同一内容のメッセージを2個受け取るが、前記の方法に
より1個のメッセージを採用することになる。また、計
算機PU3で実行中のタスクTBも同様にして1個のメ
ッセージを採用することになる。
【0015】この方式においてタスクTAの多重度を3
にしたいのであれば、タスクTAが動作していない計算
機PU3,PU4のうちで計算負荷が低いもので動作さ
せればよい。したがって、分散処理システム全体の計算
能力に余裕があれば、計算機を追加する必要がないの
で、設備コストを抑えることができる。
【0016】
【発明が解決しようとする課題】上記したタスク単位の
多重化方式において、動作中のタスクの増減や計算の程
度により、システム中の計算負荷は常に変化しうる。ま
た、タスクの実行中であっても、タスクが要求される信
頼性は計算内容によって変化しうる。すなわち、タスク
が要求される多重度は計算内容によって変化しうる。
【0017】ところが、従来のタスク単位の多重化方式
はタスクの多重度がタスクを起動してからは固定されて
おり、利用者が指定する他は変更することはできなかっ
た。したがって、計算負荷が高い状態が続く場合に、許
される範囲内でタスクの多重度を削減して計算負荷を低
下させ、システム全体の処理効率を向上させることがで
きるのにも関わらず、起動時の多重度が固定されている
のでシステム全体の処理効率を低下させることになって
いた。
【0018】さらに、従来のタスク単位の多重化方式
は、タスクの計算機への割当て方法をタスクを起動する
前に決めておく必要があり、タスク起動時のシステムの
状況をタスク割当ての方法に反映することができない。
また、これらの問題点を解決する際には、人手による操
作を必要としていた。
【0019】また、計算機が故障した場合はその計算機
上で実行していたタスクの多重度が減少して信頼性が低
下するので、計算機故障時にはタスクの多重度を維持す
る必要がある。さらに、故障した計算機が復旧した場合
や計算機を新規追加した場合のように計算負荷の低い計
算機が追加された場合には、分散処理システムの能力を
活かす意味から計算負荷の高い計算機上のタスクを追加
された計算機に移して負荷分散を図る必要がある。
【0020】以上のように、上記した従来のタスク単位
の多重化方式による分散処理システムには次のような問
題点があった。
【0021】(1)タスクを起動する前にタスクの多重
度、及び、タスクの計算機への割当て方法を決めておく
必要があり、タスクが動作中のシステムの状況をタスク
の多重度、及び、タスクの計算機への割当て方法に反映
することができず、システムの処理効率をより望ましい
ものにすることができない(適応性の問題)。
【0022】(2)計算機の故障時または追加時にはタ
スクの多重度の変更や計算機への割当てを人手で行わな
ければならず、利用者にタスクの多重度や割当てる計算
機を意識させる必要がある(保守性の問題)。
【0023】(3)タスクの割当ての手段があらかじめ
決められた一つあるいは複数のサービス計算機に設置さ
れており、それらのサービス計算機が故障した場合はタ
スクの割当てが行われない。また、計算機が故障した場
合にタスクの多重度が低下してしまう。さらに、タスク
割当て処理の計算負荷が一部の計算機に偏る(信頼性、
処理性の問題)。
【0024】本発明の分散処理システムはこのような課
題に着目してなされたものであり、その目的とするとこ
ろは、信頼性、保守性、適応性、処理性に優れた分散処
理システムを提供することにある。
【0025】
【課題を解決するための手段及び作用】上記の目的を達
成するために、第1の発明は、通信路を介して接続され
た複数の計算機によって複数のタスクをタスク単位で多
重化して実行する分散処理システムであって、前記複数
の計算機の各々は、各タスクにより要求される多重度に
従って作成された要求多重度テーブルを参照して計算機
内で動作中の各タスクの多重度を決定し、多重度の変更
を行う対象タスクと該対象タスクの多重度とを記述した
多重度変更要求を放送する多重度決定手段と、各計算機
において動作中の各タスクに関する情報が記述された計
算機状態テーブルを参照して得られる前記対象タスクの
現在の多重度と、受信した前記多重度変更要求に示され
る前記対象タスクの多重度とを比較し、このときの比較
結果に基づいて前記対象タスクの複写及び削除に関する
処理の決定を行う多重度管理手段と、前記多重度管理手
からの複写又は削除に関する処理の決定に基づいて
記対象タスクに対する複写・削除を実行して前記対象タ
スクの多重度を変更するタスク複写・削除手段と、を含
むタスク処理手段を具備する。また、第2の発明は、第
1の発明に係る分散処理装置において、前記要求多重度
テーブルは、各タスクの名称と、各タスクに対応した最
小多重度及び最大多重度情報とを備えており、前記多重
度決定手段は、各タスクにより要求される多重度を記述
した要求多重度メッセージを受信したときに前記要求多
重度テーブルを更新する。また、第3の発明は、第1又
は第2の発明に係る分散処理システムにおいて、前記計
算機状態テーブルは、各計算機の名称と、各計算機の計
算負荷と、各計算機で動作中の各タスクの名称からなる
リストとを備えており、前記多重度管理手段は、前記多
重度変更要求に基づいて作成した計算機状態メッセージ
により前記計算機状態テーブルを更新するとともに、こ
更新した前記計算機状態テーブルを参照して得られた
前記対象タスクの現在の多重度と、前記多重度変更要求
で指定された多重度とを比較する。また、第4の発明
は、第3の発明に係る分散処理システムにおいて、前記
比較の結果、前記多重度変更要求に記述された前記対象
タスクの多重度の方が大きい場合には、前記多重度管理
手段は、自身が担当する計算機内に前記対象タスクが
在するか否かを判断し、存在しない場合には、前記計算
機状態テーブルから前記対象タスクを含まない計算機の
リストを作成し、当該リスト内から前記多重度変更要求
により変更された前記対象タスクの多重度と、前記対象
タスクの現在の多重度との差に相当する個数の計算機を
選択し、選択された計算機に自身の担当する計算機が存
在する場合は、当該計算機のタスク複写・削除手段に前
対象タスクの複写要求を通知する。また、第5の発明
は、第3の発明に係る分散処理システムにおいて、前記
比較の結果、前記計算機状態テーブルを参照して求めら
れた前記対象タスクの現在の多重度の方が大きいとき、
前記多重度管理手段は、自身が担当する計算機内に前記
対象タスクが存在するか否かを判断し、存在する場合に
は、前記計算機状態テーブルから前記対象タスクを含む
計算機のリストを作成し、当該リストから、前記対象
タスクの現在の多重度と、前記多重度変更要求により変
更された多重度との差に相当する個数の計算機を選択
し、選択された計算機が自身の担当する計算機である場
合は当該計算機のタスク複写・削除手段に前記対象タス
クの削除要求を通知する。また、第6の発明は、第4の
発明に係る分散処理システムにおいて、前記タスク複写
・削除手段が、前記多重度管理手段から前記対象タスク
の複写要求を受け取ると、前記タスク複写・削除手段
は、前記対象タスクの存在する計算機のタスク複写・削
除手段に転送要求を通知するとともに、この転送要求を
受け取ったタスク複写・削除手段は、前記対象タスクの
内部状態からなる転送データを転送要求を通知した計算
機の前記タスク複写・削除手段に通知する。
【0026】
【0027】
【実施例】次に、本発明の分散処理システムについて、
その好ましい実施例を挙げ、添付図面を参照しつつ、具
体的に説明する。ここで、本実施例の分散処理システム
はタスク単位の多重化方式を用いており、その基本的動
作は前記した通りである。
【0028】まず、図1,図2を参照して、本発明の分
散処理システムの第1実施例について、その構成を詳細
に説明する。
【0029】第1実施例の分散処理システムは、図1の
構成図に示すように複数の計算機1が通信路2で接続さ
れている。計算機1はタスクを実行するタスク処理装置
3と、このタスク処理装置3が扱うデータを保存する記
憶装置4と、計算機間のメッセージ通信を処理する通信
装置5とからなり、計算機1と通信路2とは通信装置5
を通じて接続されている。
【0030】図2は、図1に示すタスク処理装置3の構
成を示す図であり、多重度決定手段31と、多重度管理
手段32と、タスク複写・削除手段33とから構成され
る。多重度決定手段31は、分散処理装置の資源情報に
対応してタスク処理装置3内で動作中のタスクの多重度
を決定して、その多重度を記した多重度変更メッセージ
を分散処理システム内の多重度決定手段31と多重度管
理手段32宛に放送する。
【0031】多重度管理手段32は、多重度変更メッセ
ージを受信すると、計算機1の状態を記した計算機状態
メッセージを分散処理システム内の多重度管理手段32
宛に放送するとともに、分散処理システム内の計算機状
態メッセージを受信して記憶装置4に格納する。そし
て、これらのデータを用いて前記タスクの多重度を実現
する方法、具体的にはタスクの複写と削除の方法を決定
して、その方法を記した処理方法メッセージを自計算機
内のタスク複写・削除手段33宛に送信する。
【0032】タスク複写・削除手段33は、前記の処理
方法メッセージを受信すると、前記決定された複写・削
除の方法を実現する。ここで、タスクの複写とは、タス
クが使用する変数の値や、プログラムの位置を示すアド
レスなどからなるタスクの内部状態を、新たに該当タス
クを動作させる計算機に転送することをいう。
【0033】なお、各計算機のタスク処理装置3が互い
にメッセージ通信を行う場合におけるメッセージは、上
記した3つの手段31、32、33の1つ、例えば多重
度決定手段31であることを示すデータM1と計算機名
を示すデータとメッセージ本体とからなる。また、メッ
セージを放送する場合は計算機名を示すデータの代わり
に放送モードであることを示すデータを使う。例えば、
計算機PU1がPU2の多重度決定手段31宛にメッセ
ージを送信する場合、その内容は (M1,PU2,メッセージ本体) となる。また、計算機PU1が分散処理システム内の他
のすべての計算機の多重度決定手段31宛にメッセージ
を放送する場合、その内容は (M1,放送,メッセージ本体) となる。
【0034】以下に、上記した多重度決定手段31、多
重度管理手段32、タスク複写・削除手段33の処理動
作手順を詳細に説明する。
【0035】図3は同実施例の動作を説明するためのデ
ータの流れの概略を示す図である。図の中の矢印は計算
機間で送信されるデータの流れを示している。また、図
3の要求多重度テーブル41、計算機状態テーブル42
は図1に示す計算機1内の記憶装置4に格納されている
テーブルであり、要求多重度テーブル41の構成が図4
に、計算機状態テーブル42の構成が図5に示されてい
る。
【0036】まず、新たにタスクが起動して、タスクが
要求する多重度を実現するためにタスクの複写を実行す
る場合の作用を説明する。ここでは、図28の状態でタ
スクが動作していて、タスクTEは計算機PU4におい
て起動したばかりであることを仮定する。
【0037】また、多重化する必要のあるタスクについ
て次の仮定をする。
【0038】(1)システムの設計者はシステム設計時
に、要求されるタスクの信頼性の程度とシステムの大き
さに応じてタスクの多重度の上限(以下、最大多重度と
いう)と下限(以下、最小多重度という)とを決定して
おく。
【0039】(2)タスクの最大多重度と最小多重度と
を記した要求多重度メッセージ51(図3)をタスク起
動時に分散処理システム内の多重度決定手段31(図
3)宛に放送するようにタスクを記述する。要求多重度
メッセージ51は、自タスク名、そのタスクが動作して
いる計算機名、最小多重度、最大多重度からなる。な
お、タスクが動作している計算機名をタスク内に固定し
て記述すると保守性が悪くなるので、タスクが動作して
いる計算機名は、分散処理システムが通常有する機能を
通じて、タスクの起動時に獲得して使用するものとす
る。
【0040】例えば、タスクTEの最小多重度と最大多
重度をそれぞれ2と3であるように設計して、計算機P
U4で起動した場合の要求多重度メッセージ51のメッ
セージ本体は (TE,PU4,2,3) のようになる。多重度決定手段31(図3)は、前記要
求多重度メッセージ51を受信すると(図6のステップ
112)、図4に示すような要求多重度テーブル41を
更新する(同ステップ113)。要求多重度テーブル4
1の各項目は、図4に示すようにメッセージ記載のタス
ク名、最小多重度、最大多重度からなり、前記要求多重
度メッセージ51記載のタスク名に関する項目があれば
メッセージ記載のデータで更新する。また該当タスク名
に関する項目が無ければテーブルに追加する。次に、メ
ッセージ記載の計算機名が自計算機名と一致すれば、多
重度変更メッセージ52(図3)を作成して、分散処理
システム内の多重度決定手段31と多重度管理手段32
宛に放送する(図6のステップ114、115、11
6)。
【0041】多重度変更メッセージ52は該当タスク名
と多重度からなる。この多重度は要求多重度メッセージ
51記載の最小多重度と最大多重度の間の値を取るもの
である。ここでは、タスク起動時はシステム全体の計算
負荷が正常であるものと仮定して、該当タスクの多重度
として最大多重度を採用する。したがって、例えばタス
クTEについての多重度変更メッセージ52のメッセー
ジ本体は (TE,3) のようになる。
【0042】前記多重度変更メッセージ52を自計算機
外から受信した多重度決定手段31は(同ステップ11
1)、現在の多重度変更処理が終了したことを示す処理
終了メッセージ53(図3)を受信する(図6のステッ
プ117)まで待機する。
【0043】多重度管理手段32(図3)は、前記多重
度変更メッセージ52を受信すると(図7のステップ2
01)、計算機状態メッセージ54(図3)を作成し
て、分散処理システム内の多重度管理手段32宛に放送
する(図7のステップ202)。計算機状態メッセージ
54は、自計算機名、自計算機の計算負荷、自計算機で
動作中のタスクのタスク名リストからなる。例えば計算
機PU1内の多重度管理手段32が作成する計算機状態
メッセージ54のメッセージ本体は (PU1,0.65,TA,TB,TC) である。
【0044】多重度管理手段32は、前記計算機状態メ
ッセージ54を受信すると、図5に示すような計算機状
態テーブル42を更新する(同ステップ203)。計算
機状態テーブル42の各項目は、図5に示すように計算
機状態メッセージ54の受信時刻、メッセージ記載の計
算機名、計算負荷、タスク名リストからなる。ここで、
受信時刻の欄を調べて一定時間経過した項目は削除す
る。これは、計算機状態メッセージ54は分散処理シス
テム内のすべての計算機から受信するので、一定時間以
上経過した項目に記載された計算機は何らかの理由によ
り停止していると考えられるからである。
【0045】次に、更新した計算機状態テーブル42を
用いて、該当タスクの現在の多重度Odを求め(同ステ
ップ204)、メッセージ記載の変更後のタスクの多重
度Ndとの大小を比較する(同ステップ205)。ここ
ではタスクTEを起動したときの作用を考えているの
で、現在の多重度Odは1である。メッセージ記載の変
更後のタスクの多重度Ndは3であるので、Ndの方が
大きい。そこで、多重度管理手段32は、該当タスクを
複写して多重度を1から3に増やす処理を行うが、以下
にこの手順を図8のフローチャートを参照して述べる。
【0046】まず、各計算機の多重度管理手段32は、
自計算機内に該当タスクがあるかどうかを調べる(図8
のステップ206)。該当タスクがある場合は、タスク
の内部状態を複写する際の転送元の候補となり、該当タ
スクの動作を中断して転送処理終了時に放送される処理
終了メッセージを受信するまで待機する(同ステップ2
14)。該当タスクがない場合は、該当タスクを受け入
れる候補となる。これらの候補のうちで、タスクを受け
入れる計算機としては計算負荷の低いものが負荷分散の
点から望ましい。そこで、計算機状態テーブル42から
該当タスクを含まない計算機について計算負荷が低いも
のから並べたリストを作る(同ステップ207)。例え
ば計算機状態テーブル42ではタスクTEを含まない計
算機はPU1,PU2,PU3であり、計算負荷が低い
順に並べると (PU1,PU2,PU3) となる。次に、前記リストの先頭からNd−Od個の候
補計算機を残して他は除去する(同ステップ208)。
例えばタスクTEについての前記リストの先頭からNd
−Od=3−1=2個の計算機だけを残すと、リストは (PU1,PU2) となる。すなわち、計算機PU1とPU2にタスクTE
を複写することになる。
【0047】以上の結果は、該当タスクを含まないすべ
ての計算機で同じように得られる。これは、先に放送通
信を用いて更新した同内容の計算機状態テーブル42を
利用しているためである。したがって、この結果に基づ
いて複写処理の方法を個々の計算機で決定しても矛盾は
生じない。ここで、複写処理の方法の決定とはタスクの
内部状態を転送する際の転送元と転送先を決めることで
ある。ここでは、複写先計算機は複写処理の方法を決定
するので、前記リストに自計算機名がある場合は(同ス
テップ209)、タスク内部状態の転送元となる計算機
を個々に決定する。また、自計算機名が無い場合は、転
送処理終了時に放送される処理終了メッセージを受信す
るまで待機する。
【0048】次に、複写元計算機を決定する手順を説明
する。まず、計算機状態テーブル42により該当タスク
が動作している計算機の数Tを求める。次に、前記リス
トの先頭を1番目としたときの自計算機の順番Sを求め
る。そしてSをTで割ったときの余りRを計算する。こ
のとき、該当タスクが動作している計算機を計算負荷が
低いものから並べたときにR+1番目にあたる計算機を
転送元計算機とする。例えば、計算機PU1であればタ
スクTEが動作している計算機の数Tは1であり、前記
リストにおける自計算機の順番Sは1である。したがっ
て、余りRは0であり、タスクTEが動作している計算
機を計算負荷が低いものから並べたときにR+1=0+
1=1番目になる計算機PU4を転送元計算機とする。
計算機PU2についても同様にT=1,S=2,R=0
となり、PU4を転送元計算機とする。
【0049】そこで、以上の結果に基づいて処理方法メ
ッセージ55(図3)を作成して、自計算機内のタスク
複写・削除手段33(図3)宛に送信する(図8のステ
ップ210)。処理方法メッセージ55は、該当タスク
名、転送元計算機名、タスクを複写する処理であるか、
タスクを削除処理できるかを示すデータ(以下では、前
者の場合に複写フラグといい、後者の場合に削除フラグ
という)からなる。例えば、タスクTEに関して計算機
PU1の多重度管理手段32が作成する処理方法メッセ
ージ55のメッセージ本体は (TE,PU4,複写) となる。
【0050】前記処理方法メッセージ55を受信したタ
スク複写・削除手段33は(図10のステップ30
1)、処理方法メッセージを調べて、この場合は複写フ
ラグがあることを確認する(同ステップ302)。複写
フラグがある場合は、転送要求メッセージ56(図3)
を作成して、メッセージ記載の転送元計算機のタスク複
写・削除手段33宛に送信する(図10のステップ30
3)。転送要求メッセージ56は、該当タスク名、自計
算機名からなる。例えばタスクTEに関して計算機PU
1のタスク複写・削除手段33が作成する転送要求メッ
セージ56のメッセージ本体は (TE,PU1) であり、宛先は計算機PU4のタスク複写・削除手段3
3である。
【0051】前記転送要求メッセージ56を受信したタ
スク複写・削除手段33は(同ステップ307)、メッ
セージ記載のタスクの内部状態からなる転送データ57
(図3)をメッセージ記載の計算機のタスク複写・削除
手段33宛に送信する(図10のステップ308)。転
送データ57は例えば (“DATA”,データ本体) のような構成になる。ここで、“DATA”はメッセー
ジを識別する目的で使っている。
【0052】前記転送データ57を受信したタスク複写
・削除手段33は(同ステップ304)、タスクの複写
処理を実行して、終了後、処理終了メッセージ53(図
3)を作成して、分散処理システムの各計算機内の多重
度決定手段31、及び、多重度管理手段32宛に放送す
る(図10のステップ305)。処理終了メッセージ5
3は、自計算機名、自計算機の計算負荷、自計算機で動
作中のタスクのタスク名リストからなる。例えばタスク
TEを複写後の計算機PU1内のタスク複写・削除手段
33が作成する処理終了メッセージ53のメッセージ本
体は (PU1,0.73,TA,TB,TC,TE) のような構成になる。
【0053】これまで待機していた多重度決定手段31
は前記処理終了メッセージ53を受信すると(図6のス
テップ117)、タスクの多重度を決定する処理手順を
再開する。
【0054】また、これまで待機していた多重度管理手
段32は前記処理終了メッセージ53をNd−Od個受
信すると(図8のステップ211)、複写対象となって
中断していたタスクの動作を再開、あるいは、複写され
てきたタスクの動作を開始する(同ステップ212)。
そして、処理終了メッセージ53記載のデータを用いて
計算機状態テーブル42を更新する(同ステップ21
3)。これは、図7のステップ203での処理と同じで
ある。
【0055】このようにして、タスク起動時に分散処理
システム内の計算負荷を考慮してタスクが要求する多重
度を実現することができる。
【0056】次に、計算負荷が高くなった場合に、信頼
性を考慮して許される範囲内でタスクの多重度を削減す
る方法を説明する。ここでは、図28の模式図の状態で
タスクが動作している場合について説明する。同図にお
いて、計算機を四角形で、タスクを円でそれぞれ示して
いる。
【0057】ある計算機の計算負荷が一定値以上になっ
て一定時間経過したことを、その計算機内の多重度決定
手段31が判定すると(図6のステップ118)、多重
度変更メッセージ52(図3)を作成して、分散処理シ
ステム内の多重度決定手段31と多重度管理手段32宛
に放送する(図6のステップ114、115、11
6)。ここでは多重度変更メッセージ52は多重度を削
減するタスクのタスク名とその変更後の多重度からな
る。このタスクと多重度は計算機状態テーブル42から
得られるタスクの現在の多重度、及び、要求多重度テー
ブル41から得られるタスクの多重度の許容範囲を用い
て決定する。
【0058】具体的には、ある計算機において高計算負
荷状態が一定時間接続した場合、その計算機の多重度決
定手段31は自計算機内で動作中のタスクで現在の多重
度が大きいタスクから順に、要求多重度テーブル41記
載の最小多重度よりも大きいかどうか探索していき、そ
のようなタスクが見つかった段階で探索処理を終了し
て、該当タスクの多重度を削減することにする。なお、
同一多重度のタスクについては、例えばタスク名に関す
る順番で調べる。ここでは、新しい多重度は現在の多重
度から1個削減したものにする。
【0059】また、条件にあてはまるタスクが無い場合
は、これ以上タスクの多重度を削減することができない
ので、多重度変更メッセージ52を作成しないでステッ
プ111へ戻る(同ステップ115)。例えば、計算機
PU3が高計算負荷状態にあれば、多重度決定手段31
は多重度が3のタスクTC、多重度が2のタスクTB、
TDの順に調べる。まず、タスクTCに関して、現在の
多重度は3、最小多重度は2であり、探索していたタス
クの条件にあてはまる。したがって、多重度変更メッセ
ージ52のメッセージ本体は (TC,2) となる。ここでは、現在の多重度3から1個削減した2
を新しい多重度としている。なお、この段階ではまだ上
記の判定を下した計算負荷が高い計算機で該当タスクを
削除することを決定していない。しかし、以下で述べる
ように、分散処理システム内の各計算機の最新の計算負
荷情報に基づいて該当タスクを削除する計算機を決定す
るので、上記の計算機から該当タスクを削除する可能性
はある。また、何らかの理由により急に計算負荷が高く
なった該当タスクを削除する可能性もある。
【0060】ここで、前記多重度変更メッセージ52を
受信した多重度決定手段31の作用はタスク起動時の作
用において述べたとおりである(図6のステップ11
1)。
【0061】前記多重度変更メッセージ52を受信した
多重度管理手段32は、図7のステップ114まではす
でに述べたとおりの作用をする。ここでは、前記メッセ
ージ記載の変更後の該当タスクの多重度Ndが、現在の
該当タスクの多重度Odよりも小さいので(図7のステ
ップ205)、該当タスクを削除して多重度を減少させ
る方法を次のごとく決定する。
【0062】まず、各計算機の多重度管理手段32は、
自計算機内に該当タスクがあるかどうかを調べる(図9
のステップ215)。該当タスクが自計算機内に無い場
合は他の計算機で実行される削除処理終了時に放送され
る処理終了メッセージを受信するまで待機する。一方、
該当タスクがある場合は、該当タスクを削除する計算機
の候補となる。これらの候補のうちで、タスクを削除す
る計算機としては計算負荷の高いものが負荷分散の点か
ら望ましい。そこで、計算機状態テーブル42から該当
タスクを含む計算機について計算負荷が高いものから並
べたリストを作る(同ステップ216)。例えば計算器
状態テーブル42ではタスクTCを含む計算機はPU
1,PU2,PU3であり、計算負荷が高い順に並べる
と (PU3,PU2,PU1) となる。次に、前記リストの先頭からOd−Nd個の候
補計算機を残して他は除去する(同ステップ217)。
例えばタスクTCについての前記リストの先頭からOd
−Nd=3−2=1個の計算機だけを残すと、リストは (PU3) となる。すなわち、計算機PU3においてタスクTCを
削除することになる。
【0063】以上の結果は、該当タスクを含むすべての
計算機で同じように得られる。これは、先に放送通信を
用いて更新した同内容の計算機状態テーブル42を利用
しているためである。したがって、この結果に基づいて
該当タスクを削除することを個々の計算機で決定しても
矛盾は生じない。そこで、前記リストに自計算機名があ
る場合は(同ステップ218)、処理方法メッセージ5
5(図3)を作成して自計算機内のタスク複写・削除手
段33(図3)宛に送信する(図9のステップ21
9)。
【0064】処理方法メッセージ55は、該当タスク
名、自計算機名、削除フラグからなる。例えば、タスク
TCに関して計算機PU3の多重度管理手段32が作成
する処理方法メッセージ55のメッセージ本体は (TC,PU3,削除) となる。
【0065】前記処理方法メッセージ55を受信したタ
スク複写・削除手段33は(図10のステップ30
1)、メッセージを調べて、この場合は削除フラグがあ
ることを確認する(同ステップ302)。そこで、メッ
セージ記載のタスクを自計算機において削除する(同ス
テップ306)。そして、処理終了メッセージ53(図
3)を作成して、分散処理システムの各計算機内の多重
度決定手段31、及び、多重度管理手段32宛に放送す
る(図10のステップ305)。処理終了メッセージ5
3は、自計算機名、自計算機の計算負荷、自計算機で動
作中のタスクのタスク名リストからなる。例えばタスク
TCを削除後の計算機PU3内のタスク複写・削除手段
33が作成する処理終了メッセージ53のメッセージ本
体は (PU3,0.68,TB,TD) のようになる。
【0066】これまで待機していた多重度決定手段31
は前記処理終了メッセージ53を受信すると(図6のス
テップ117)、タスクの多重度を決定する処理手順を
再開する。
【0067】また、これまで待機していた多重度管理手
段32は前記処理終了メッセージ53をOd−Nd個受
信すると(図8のステップ220)、処理終了メッセー
ジ53記載のデータを用いて計算機状態テーブル42を
更新する(同ステップ221)。これは、図7のステッ
プ203での処理と同じである。
【0068】このようにして、計算負荷が高い場合に、
タスクが要求する多重度の許容範囲内でタスクの多重度
を減少させて、分散処理システム内の計算機の計算負荷
を正常に戻すことができる。
【0069】次に、計算負荷が低くなった場合に、不足
していたタスクの多重度を増加させて信頼性の度合いを
回復する場合の作用を説明する。以下では、図28の模
式図の状態でタスクが動作している場合について説明す
る。この図で計算機を四角形で、タスクを円で、それぞ
れ示している。
【0070】ある計算機の計算負荷が一定値未満になっ
て一定時間経過したことを、その計算機内の多重度決定
手段31が判定すると(図6のステップ119)、多重
度変更メッセージ52(図3)を作成して、分散処理シ
ステム内の多重度決定手段31と多重度管理手段32宛
に放送する(図6のステップ114、115、11
6)。多重度変更メッセージ52は多重度を増加するタ
スクのタスク名とその変更後の多重度からなる。このタ
スクと多重度は計算機状態テーブル42から得られるタ
スクの現在の多重度、及び、要求多重度テーブル41か
ら得られるタスクの多重度の許容範囲を用いて決定す
る。
【0071】具体的には、ある計算機において低計算負
荷状態が一定時間持続した場合、その計算機の多重度決
定手段31は計算機状態テーブル42を用いて、分散処
理システム内の各計算機で動作中のタスクのうち、自計
算機で動作していないタスクの現在の多重度を調べて、
要求多重度テーブル41記載の最大多重度との差が大き
いタスクについて多重度を増加させることにする。自計
算機で動作しているタスクを対象外としたのは、そのよ
うなタスクは自計算機に複写することは不可能であり、
このような場合は自計算機の負荷を高くすることになら
ないからである。
【0072】なお、同一多重度のタスクについは、例え
ばタスク名に関する順番で調べる。ここでは、新しい多
重度は現在の多重度から1個増加したものにする。ま
た、条件にあてはまるタスクが無い場合は、分散処理シ
ステム内のタスクの多重度はすべて要求を満たしている
ので、多重度変更メッセージ52を作成しないでステッ
プ111へ戻る(同ステップ115)。
【0073】例えば、計算機PU4が低計算負荷状態に
あれば、多重度決定手段31は計算機状態テーブル42
と要求多重度テーブル41を用いて、計算機PU4で動
作していないタスクについて、現在の多重度とタスクが
要求する最大多重度を比較していく。例えばタスクTA
の現在の多重度は2、最大多重度は2であるので、これ
以上タスクを増加させる必要はない。また、タスクTB
の現在の多重度は2、最大多重度は3であるので、その
差は1である。同様に、タスクTCの現在の多重度は
3、最大多重度は3で、差は0、タスクTDの現在の多
重度は2、最大多重度は2で、差は0となる。タスクT
Eは、自計算機で動作しているので対象外である。した
がって、前記差が最大であるのは、タスクTBである。
したがって多重度変更メッセージ52のメッセージ本体
は (TB,3) となる。ここでは、現在の多重度2から1個増加させた
3を新しい多重度としている。なお、この段階ではまだ
上記の判定を下した計算負荷が低い計算機に該当タスク
を複写することを決定していない。しかし、以下で述べ
るように、分散処理システム内の各計算機の最新の計算
負荷情報に基づいて該当タスクを複写する計算機を決定
するので、上記の計算機に該当タスクを複写する可能性
はある。また、何らかの理由により急に計算負荷が低く
なった他の計算機に該当タスクを複写する可能性もあ
る。
【0074】ここで、前記多重度変更メッセージ52を
受信した多重度決定手段31の作用はタスク起動時の作
用において述べたとおりである(図6のステップ11
1)。
【0075】また、この場合の多重度管理手段32の作
用はタスクの多重度を増加させるためにタスクを複写す
る方法を決めるという点でタスク起動時の作用と一致す
る。したがって、前記多重度変更メッセージ52を受信
した多重度管理手段32の作用は、タスク起動時の作用
において述べたとおりである(図7のステップ201以
降、及び、図8のステップ206以降)。最終的には、
例えば、タスクTBはタスクTBが動作していない計算
機のうち計算負荷が最も低い計算機PU4に複写され
て、分散処理システム中のタスクTBが動作を再開して
すべての作用が完了する。このとき、タスクTBは計算
機PU1,PU3,PU4で動作している。
【0076】このようにして、計算負荷が低い場合に、
タスクが要求する多重度の許容範囲内でタスクの多重度
を増加させて、分散処理システム内の計算負荷を考慮し
て信頼性を向上させることができる。
【0077】以上のように、上記した第1実施例は、
(1)タスクを起動する前にタスクの多重度、及び、タ
スクの計算機への割当て方法を決めておく必要がなく、
タスクが動作中のシステムの状況をタスクの多重度、及
び、タスクの計算機への割当て方法に反映することがで
きるので、システムの処理効率をより望ましいものにす
ることができるという適応性の効果と、(2)タスクの
多重度の変更や計算機への割当てを人手によらずに行う
ことができるので、利用者にタスクの多重度や割当てる
計算機を意識させる必要がないという保守性の効果と、
(3)タスクの割当ての手段を分散処理システム内の各
計算機に分散させているので、一部の計算機が故障した
場合でもタスクの割当てを行うことができるという信頼
性の効果と、タスク割当て処理の計算負荷をシステム内
の各計算機に分散するので、システム全体の処理効率が
向上するという処理性の効果と、を有し、信頼性、保守
性、適応性、処理性に優れた分散処理システムを提供す
ることが可能となる。
【0078】また、タスクの複写と削除は信頼性維持あ
るいは負荷分散のために実行するものであり、通常のタ
スク実行の合間に分散して実行することで、タスクの多
重度変更処理が引き起こす計算負荷の増大や、通信量の
増大を抑えることができる。
【0079】さらに、多重度決定手段は現在の多重度変
更処理が終了するまで待機するので不必要に多くの多重
度変更メッセージを放送することがない。したがって、
タスクの多重度変更処理が引き起こす計算負荷の増大
や、通信量の増大を抑えることができるまた、システム
内の状況を獲得するときは各計算機で実行して要求され
た多重度を実現する処理方法の決定に用いる情報を分散
処理システム内で一致させているが、多重度決定や多重
度を実現する処理方法の決定については、現在動作中の
任意の計算機で処理が可能である。したがって、第1実
施例では多重度変更処理の信頼性を維持しながら、処理
の負荷分散を図ることで信頼性と処理性の両立性を計っ
ている。
【0080】以下に上記した第1実施例の変形例を説明
する。
【0081】上記第1実施例では、多重度変更メッセー
ジをタスク起動時、高計算負荷時、低計算負荷時に多重
度決定手段が放送しているが、例えば1日の時間帯に応
じて処理の重要度が変わることが分かっている場合に
は、各時間帯の区切りに該当タスクの多重度変更メッセ
ージを放送することで、システムの状況に応じたタスク
の多重度の変更が実現できる。あるいは、システム設計
者が作成するタスクが、その計算状況に基づいて多重度
変更メッセージを作成、放送することも上記実施例の枠
組みにおいて可能である。
【0082】また、上記第1実施例では、タスク起動
時、高計算負荷時、低計算負荷時の多重度変更メッセー
ジに記載する多重度には、それぞれ、最大多重度、現在
の多重度−1、現在の多重度+1を用いたが、分散処理
システムの状況を考慮して、最小多重度と最大多重度の
間の値を採用する方法を組み込むことができる。例えば
最大多重度が高々2であるようなシステムである場合に
は、高計算負荷時に多重度変更メッセージに記載する多
重度には、最大多重度を用いればよいし、低計算負荷時
には最低多重度を用いればよい。
【0083】さらに、高計算負荷であること、あるい
は、低計算負荷であることを判定する際の、計算負荷の
上限値、あるいは、下限値に複数の段階をつけて、段階
に応じて、多重度の減少分、あるいは、増加分を決定す
ることができる。これにより、システムの状況に応じ
て、よりきめ細かな対応ができる。また、計算負荷の上
限値、あるいは、下限値を変動する方法を組み込むこと
ができる。例えば、システム設計時に1日の各時間帯毎
に動作するタスクの数が分かっている場合には、時間帯
によって上限値や下限値を変動すれば、不必要なタスク
の複写や削除を削減することができるという効果があ
る。
【0084】これらの多重度の決め方、及び、計算負荷
の上限値と下限値は、実際の分散処理システムの規模や
動作するタスクの数や性質に依存して決めることができ
る。また、上記実施例では多重化されたタスクは並列に
実行されているとしたが、タスク単位の待機冗長方式を
採用した場合にも本発明は適用可能である。ここでタス
ク単位の待機冗長方式とは、多重化されたタスクのうち
実際に稼動するタスクは一つで、残りのタスクは待機し
て定期的に、あるいは、何らかのきっかけで稼動中のタ
スクから送信されるタスクの内部状態を受信して、稼動
中のタスクが停止したことを検出した場合に待機中のタ
スクの内の一つが稼動を開始する方式である。
【0085】次に、図11、図12を参照しつつ、本発
明の分散処理システムの第2実施例について、その構成
を詳細に説明する。
【0086】第2実施例の分散処理システムは、図11
の構成図に示すように複数の計算機101(図28の1
に対応)が通信路102(図28の2に対応)で接続さ
れている。計算機101はタスクを実行するタスク処理
装置103と、計算機の故障時や追加時にタスクを実行
する計算機を決定して割当てる割当て装置104と、タ
スク処理装置103およびタスク割当て装置104が扱
うデ―タを保存する記憶装置105と、計算機間のメッ
セ―ジ通信を処理する通信装置106とからなり、計算
機101と通信路102とは通信装置106を通じて接
続されている。
【0087】図12は図11に示すタスク割当て装置1
04の構成を示す図である。同図において、タスク多重
度減少検出手段141はタスクの動作状態を記した動作
状態メッセ―ジを周期的にタスク動作状態収集手段14
2宛に放送するとともに、周期的にタスク処理装置10
3で実行中のタスクの多重度を調べて、タスクの多重度
が減少した場合には、該当するタスクを記した多重度減
少タスク名リストを同一計算機101内の転送元・転送
先判定手段143に渡す。
【0088】タスク動作状態収集手段142は、分散処
理システム内のすべての計算機101内のタスク多重度
減少検出手段141が周期的に放送する前記の動作状態
メッセ―ジを受信して記憶装置105に格納する。
【0089】転送元・転送先判定手段143はタスクの
複写あるいは移動時に、タスクが使用する変数の値やプ
ログラムの位置を示すアドレスなどからなるタスクの内
部状態の転送元となる計算機と転送先となる計算機を判
定する。また、タスクを移動する場合にはタスクを削除
する計算機を判定する。この際、分散処理システムのよ
り正確な状態を判定処理に反映させて、より好ましい負
荷分散の結果を得るために、一度に一つのタスクの割当
て方法を判定する。そのために判定順序を調整するため
の判定権要求メッセ―ジを判定順序管理手段144宛に
放送する。
【0090】また判定処理の判定基準に用いる分散処理
システム内の計算機の状態に関する情報を収集するため
に、計算機状態要求メッセ―ジを計算機状態管理手段1
45宛に放送して結果を受信する。さらに、転送元とな
る計算機を選定する場合には、受け入れ可能であるかを
確認する問い合わせメッセ―ジを該当計算機内のタスク
受け入れ判定手段146宛に送信して結果を受信する。
このようにして得られた情報に基づいて決定した判定結
果を記した転送方法メッセ―ジをタスク内部状態複写手
段147宛に放送する。
【0091】判定順序管理手段144は転送元・転送先
判定手段143からの前記判定権要求メッセ―ジを受信
して、判定順序を決定して記憶装置105に格納する。
転送元・転送先判定手段143はこの順序にしたがって
判定処理を開始する。
【0092】計算機状態管理手段145は転送元・転送
先判定手段143からの計算機条件要求メッセ―ジを受
信すると、同一計算機101内のタスク処理装置103
の計算負荷と動作中のタスクのタスク名のリストを送信
元計算機の転送元・転送先判定手段143宛に返送す
る。
【0093】タスク受け入れ判定手段146は転送元・
転送先判定手段143からの問い合わせメッセ―ジを受
信すると、メッセ―ジ記載のタスクを受け入れることが
できるかどうかを判定して結果を送信元計算機の転送元
・転送先判定手段143宛に返送する。
【0094】タスク内部状態複写手段147は受信した
メッセ―ジに記載のタスクが同一計算機101内のタス
ク処理装置103で動作中であればタスクの動作を中断
する。メッセ―ジ記載の転送元計算機であればタスクの
内部状態を転送先計算機内のタスク内部状態複写手段1
47宛に送信する。転送先計算機であれば内部状態を受
信後、転送の終了を通知するための転送終了メッセ―ジ
を転送元・転送先判定手段143とタスク内部状態複写
手段147宛に放送する。また、タスクを削除する計算
機であれば該当タスクを削除する。転送終了メッセ―ジ
を受信した場合は該当タスクの動作を再開する。
【0095】タスク割当て要求手段148は計算機10
1を追加した場合に計算負荷が高い計算機から計算負荷
がより低い計算機へタスクを移動するためのきっかけと
して計算機が追加されたことを示すタスク割当て要求メ
ッセ―ジを転送元・転送先判定手段143宛に放送す
る。タスク割当て要求メッセ―ジは、分散処理システム
内のすべての計算機101内の転送元・転送先判定手段
143が受信して、前記判定処理を開始する。なお、各
計算機のタスク割当て装置104が互いにメッセージ通
信を行う場合におけるメッセージは、上記したタスク割
当て手段104内の1つの手段、例えばタスク割当て要
求手段148であることを示すデ―タM2と計算機名を
示すデ―タとメッセージ本体とからなる。また、放送通
信方式で送信する場合は計算機名を示すデ―タの代わり
に放送モ―ドであることを示すデ―タを使う。例えば、
計算機PU1がPU2のタスク割当て要求手段148宛
にメッセ―ジを送信する場合、その内容は (M2,PU2,メッセ―ジ本体) となる。また、計算機PU1が分散処理システム内のす
べてのタスク割当て要求手段148宛にメッセ―ジを放
送する場合、その内容は (M2,放送,メッセ―ジ本体) となる。
【0096】以下に、上記したタスク多重度減少検出手
段141、タスク動作状態収集手段142、転送元・転
送先判定手段143、判定順序管理手段144、計算機
状態管理手段145、タスク受け入れ判定手段146、
タスク内部状態複写手段147、タスク割当て要求手段
148の処理動作手順を詳細に説明する。
【0097】図13は同実施例の動作を説明するための
デ―タの流れの概略を示す図であり、図の中の矢印はデ
―タの流れを示している。図13の動作状態メッセ―ジ
テ―ブル151、タスク状態テ―ブル152、判定順序
テ―ブル153、計算機状態テ―ブル154、多重度不
足タスクテ―ブル155は計算機101内の記憶装置1
05(図11)に格納されているテ―ブルであり、動作
状態メッセージテーブル151の構成は図14に、タス
ク状態テーブル152の構成は図15に、判定順序テー
ブル153の構成は図16に、計算機状態テーブル15
4の構成は図17に、多重度不足タスクテーブル155
の構成は図18に示されている。
【0098】まず、分散処理システム内の計算機の構成
に変更がない場合の通常の作用を説明する。ここでは、
図28の模式図の状態でタスクが動作しているとする。
同図で計算機を四角形で、タスクを円で、それぞれ示し
ている。
【0099】まず、タスク多重度減少検出手段141
(図13)は、計算機内のタスク処理装置で動作中のタ
スクを調べて、動作状態メッセ―ジ161(図13)を
作成して、分散処理システム内のタスク動作状態収集手
段142宛に放送する(図19のステップ401)。動
作状態メッセ―ジ161は、自計算機名と自計算機内で
動作中のタスクのタスク名リストからなる。例えば計算
機PU1においてメッセ―ジ本体は (PU1,TA,TB,TC) のようになる。
【0100】タスク動作状態収集手段142は分散処理
システム内の動作状態メッセ―ジ161を受信すると
(図20のステップ501)、図14に示すような動作
状態メッセ―ジテ―ブル151の計算機名の欄を調べて
(同ステップ502)、メッセ―ジ記載の計算機名があ
れば、その項目をテ―ブルから削除する(同ステップ5
03)。その後で動作状態メッセ―ジ161の受信時刻
と動作状態メッセ―ジ161を動作状態メッセ―ジテ―
ブル151に書き込む(同ステップ504)。ここで、
受信時刻の欄を調べて一定時間経過した項目は削除する
(同ステップ505)。後述するように、タスク多重度
減少検出手段141が動作状態メッセ―ジ161を周期
的に放送しているので、このような項目に記載された計
算機は何らかの理由により停止していると考えられる。
【0101】次に、タスク多重度減少検出手段141
は、タスク動作状態収集手段142が随時更新する動作
状態メッセ―ジテ―ブル151を用いて、タスク状態テ
―ブル152(図15)を更新する(図19のステップ
402)。タスク状態テ―ブル152は、計算機内で動
作中のタスクのタスク名、そのタスクの現在の多重度、
前回更新時の多重度(旧多重度という)を記録したもの
である。ここでテ―ブルの更新とは、多重度の欄のデ―
タを旧多重度の欄にコピ―するとともに、タスク状態テ
―ブル152を用いてタスクの多重度を計算して多重度
の欄に記入することを意味する。
【0102】テ―ブル更新後、図19のステップ403
以降でタスクの多重度が減少したかどうかを検査すべく
テ―ブルの先頭から順にタスクの多重度と旧多重度の差
を計算していく。通常はタスクの多重度に変化はないの
で、他の処理は実行せずにステップ412に到達して一
定時間待ってから再びステップ401を実行する。すな
わち、タスク多重度減少検出手段141は周期的に動作
状態メッセ―ジ161を放送して、タスクの多重度を検
査しているのである。なお、タスク状態テ―ブル152
には計算機内で動作中のタスクについてのみ記録してあ
るので、タスクの多重度の算出および検査の処理をタス
ク毎に分散処理システム内の計算機で負荷分散すること
になり効率が良い。
【0103】次に、計算機が故障してタスクの多重度が
減少した場合の作用を説明する。
【0104】例えば、図28の状態でタスクが動作して
いて計算機PU2が故障して停止した場合を考える。す
ると、タスク多重度減少検出手段141(図13)の処
理動作手順の内、上述のステップ403(図19)以降
でタスクTA、TC、TDの多重度減少が検出される。
例えば計算機PU1でタスクTA、TB、TCが動作し
ているので、タスク状態テ―ブル152(図15)のタ
スクTAの項目を読み出して(図19のステップ40
3)、 多重度−旧多重度=1−2<0 となるので(同ステップ406)、多重度減少タスク名
リスト162(図13)にタスク名TAを追加する(図
19のステップ407)。次にタスク状態テ―ブル15
2のタスクTBの項目を読み出すが(同ステップ40
8、同ステップ409)、 多重度−旧多重度=2−2=0 となるので(同ステップ406)なにもしない。さら
に、タスク状態テ―ブル152のタスクTCの項目を読
み出す(同ステップ408、409)。
【0105】多重度−旧多重度=2−3<0 となるので(同ステップ406)、多重度減少タスク名
リスト162にタスク名TCを追加する。この場合は図
15に示すようなタスク状態テ―ブル152の最後まで
到達したことになる。なお、多重度が0になった場合は
(同ステップ404)、その原因がタスクの正常終了に
よるものか、計算機の故障によるものか、のいずれの場
合にしても、動作しているタスクが存在しないので、タ
スクの複写は不可能である。そこで、タスク状態テ―ブ
ル152から該当タスクの項目を削除する(同ステップ
405)。
【0106】次に、多重度減少タスク名リスト162は
空でないので(同ステップ410)、多重度減少タスク
名リスト162を計算機PU1内の転送元・転送先判定
手段143(図13)へ出力する(同ステップ41
1)。例えば、多重度減少タスク名リスト162のメッ
セ―ジ本体は (PU1,TA,TC) である。タスクTDの多重度も減少しているが、これに
ついては、タスクTDが動作中の計算機PU3で検出し
ている。
【0107】計算機PU1内の転送元・転送先判定手段
143は上述の多重度減少タスク名リスト162を受信
すると(図21のステップ601)、判定権要求メッセ
―ジ163(図13)を作成して放送する(図21のス
テップ603)。宛先は判定順序管理手段144(図1
3)である。この放送は、タスクの内部状態を転送する
際の転送元計算機と転送先計算機を判定する権利(以
下、判定権という)を獲得する計算機を決めることと、
判定する順序を決めることのきっかけとして実施され
る。
【0108】実際、タスクTCの多重度減少は計算機P
U1とPU3で検出されるので、PU1とPU3は判定
権の獲得に関して競合するので、この競合を解消する必
要がある。また、判定の順序は分散処理システム内で矛
盾無く決まる必要がある。また、判定を順番に実行でき
れば、各転送処理後の計算負荷が正確に反映される。す
なわち、より好ましい負荷分散の結果が得られる。
【0109】判定権要求メッセ―ジ163は、タスク
名、自計算機名、そして、タスクを複写する処理である
か、タスクを移動する処理であるかを示すデ―タ(以下
では、前者の場合に複写フラグといい、後者の場合に移
動フラグという)からなる。この場合はタスクTAに関
する判定権要求メッセ―ジ163のメッセ―ジ本体は (TA,PU1,複写) であり、タスクTCに関する判定権要求メッセ―ジ16
3のメッセ―ジ本体は (TC,PU1,複写) である。上述したように計算機PU3でもタスクTCの
多重度減少を検出しているので、計算機PU3もタスク
TCに関するメッセ―ジ本体が (TC,PU3,複写) であるような判定権要求メッセ―ジ163を放送しよう
とする。しかし、同一タスクに関する判定権要求メッセ
―ジ163のうち、いずれか一つを採用する場合先着優
先方式を利用することにすれば、後から放送したものは
無駄になる。そこで、後述するように、すでに該当タス
クに関する判定権要求メッセ―ジ163を受信している
かどうかを確認できるようにする。このことは、通信量
と通信のための処理を減らし、通信遅延を削減すること
になる。さらに、最も早く判定権要求メッセ―ジ163
を放送することができた計算機は計算負荷がより低いと
考えられるので、より低負荷の計算機が判定の処理を実
行することとなり、分散処理システム全体の処理効率が
良くなる。
【0110】さて、該当タスクに関する判定権要求メッ
セ―ジ163の受信の有無を確認できるようにする手段
が判定順序管理手段144(図13)である。判定順序
管理手段144は判定権要求メッセ―ジ163を受信す
ると(図23のステップ701)、図16に示すような
判定順序テ―ブル153を更新する。判定順序テ―ブル
153の各項目は判定権要求メッセ―ジ163と同じで
ある。すなわち、タスク名、計算機名、複写フラグまた
は移動フラグからなる。この場合は、受信した判定権要
求メッセ―ジ163は複写フラグ付きであるので(同ス
テップ702)、メッセ―ジ記載のタスク名を判定順序
テ―ブル153の各項目のタスク名と比較して(同ステ
ップ703)、タスク名が同一で複写フラグ付きの項目
があれば、先着メッセ―ジがあるので受信したメッセ―
ジは捨てる。また、タスク名が同一で複写フラグ付きの
項目がなければ、そのメッセ―ジを判定順序テ―ブル1
53の末尾に追加する(同ステップ704)。
【0111】再び転送元・転送先判定手段143の処理
動作手順の説明に戻る。転送元・転送先判定手段143
は上述したような通信遅延の削減のために、判定権要求
メッセ―ジ163を放送する際は判定順序テ―ブル15
3を参照して、すでに該当タスクに関する判定権要求メ
ッセ―ジ163を受信しているかどうかを確認して放送
するかどうかを決める(図21のステップ603)。続
いて一定時間停止する(同ステップ605)。これは判
定順序テ―ブル153の更新を待つためである。次に判
定権を獲得したかどうかを確認するために判定順序テ―
ブル153を再び参照する(同ステップ606)。判定
順序テ―ブル153内に自計算機名がなければ判定権を
獲得できなかったので終了する。判定順序テ―ブル15
3の先頭に自計算機名があれば(同ステップ607)、
判定順序テ―ブル153の先頭に記載のタスクに関する
判定処理を開始する(同ステップ612以降)。
【0112】自計算機名が判定順序テ―ブル153の2
番目以降にある場合は、判定処理の結果として実行され
る転送処理が終了したときに送信される転送終了メッセ
―ジ164(図13)を受信するまで、一定時間待つと
ともに(図21のステップ608)、受信の有無の確認
を繰り返す(同ステップ609)。転送終了メッセ―ジ
164は転送処理の対象のタスク名からなる。例えばタ
スクTAの転送処理が終了したときの転送終了メッセ―
ジ164のメッセ―ジ本体は (TA) である。転送終了メッセ―ジ164を受信するとメッセ
―ジ記載のタスク名を含む項目を判定順序テ―ブル15
3から削除する(同ステップ610)。その結果判定順
序テ―ブル153の先頭に自計算機名があれば(同ステ
ップ611)判定処理を実行する(同ステップ612以
降)。自計算機名が判定順序テ―ブル153の2番目以
降にある場合はステップ608に戻り、自計算機名が判
定順序テ―ブル153の先頭に来るまで以上の処理を繰
り返す。
【0113】転送元・転送先判定手段143における判
定処理は計算機状態要求メッセ―ジ165(図13)を
放送することから始まる(図21のステップ612)。
計算機状態要求メッセ―ジ165は自計算機名からな
る。宛先は計算機状態管理手段145(図13)であ
る。例えば計算機PU1内の転送元・転送先判定手段1
43が放送する計算機状態要求メッセ―ジ165のメッ
セ―ジ本体は (PU1) である。
【0114】計算機状態要求メッセ―ジ165を受信す
るのは分散処理システム内のすべての計算機状態管理手
段145(図13)である。計算機状態管理手段145
は計算機状態要求メッセ―ジ165を受信すると(図2
4のステップ801)、計算負荷とタスク処理装置で動
作中のタスクを調べる(同ステップ802)。次に計算
機状態メッセ―ジ166(図13)を作成する(図24
のステップ803)。計算機状態メッセ―ジ166は、
計算機名と計算負荷とタスク処理装置で動作中のタスク
のタスク名リストからなる。例えば計算機PU3内の計
算機状態管理手段145が作成する計算機状態メッセ―
ジ166のメッセ―ジ本体は (PU3,0.72,TB,TC,TD) である。そして受信したメッセ―ジ記載の計算機名の転
送元・転送先判定手段143宛に前記の計算機状態メッ
セ―ジ166を送信する(同ステップ804)。転送元
・転送先判定手段143は前記計算機状態メッセ―ジ1
66を受信すると(図22のステップ613)、メッセ
―ジの内容で図17のような計算機状態テ―ブル154
を更新する(同ステップ614)。計算機状態テ―ブル
154の各項目は計算機状態メッセ―ジ166と同じで
ある。すなわち、計算機名、該当計算機の計算負荷、該
当計算機のタスク処理装置で動作中のタスクのタスク名
リストからなる。
【0115】次に、計算機状態テ―ブル154記載の情
報からタスクの内部状態を転送する際の転送先になる計
算機を判定する。転送先には、転送対象となるタスクが
動作していない必要がある。さらに、計算負荷が低い方
が負荷分散の観点から望ましい。そこで、該当タスクが
動作していない計算機を計算機状態テ―ブル154から
見つけ出す(同ステップ615)。見つからない場合は
複写することができない。したがって該当タスクの多重
度を維持することができない。このようなタスクについ
ては、計算機を追加したときに多重度を回復できるよう
にするために、多重度が不足していることを図18のよ
うな多重度不足タスクテ―ブル155に該当タスク名を
記録しておく(同ステップ616)。さて、該当タスク
が動作していない計算機が見つかった場合は、そのうち
で計算負荷が最低の計算機宛に該当タスク受け入れの可
否を確認するための問い合わせメッセ―ジ167(図1
3を送信する(図22のステップ617)。問い合わせ
メッセ―ジ167は自計算機名と該当タスク名からな
る。例えば計算機PU1の転送元・転送先判定手段14
3においてタスクTAの転送先を見つける場合は図17
を調べて、タスクTAが動作していない計算機PU3と
PU4が転送先計算機の候補となる。そして、そのうち
計算負荷が最低の計算機PU3のタスク受け入れ判定手
段146(図13)宛にメッセ―ジ本体が (PU1,TA) であるような問い合わせメッセ―ジ167を送信する。
【0116】問い合わせメッセ―ジ167を受信するの
は宛先として指定された計算機内のタスク受け入れ判定
手段146(図13)である。タスク受け入れ判定手段
146は問い合わせメッセ―ジ167を受信すると(図
25のステップ901)、メッセ―ジ記載のタスクの受
け入れ可能性を判定する(同ステップ902)。判定基
準は、例えば計算負荷に関して受け入れ可能とする場合
の上限値を用意しておいて、現在の計算負荷がその値を
下回る場合は受け入れ可能であるとして、その値を上回
る場合は受け入れ不可能であると判定する方法がある。
あるいは、タスクが計算負荷へ及ぼす影響に関する情報
などから制限時間内にタスク群を実行できるかどうかを
判定する手段などを用いることができる。判定の結果
(同ステップ903)、受け入れ可能であれば、受信し
た問い合わせメッセ―ジ167に記載されている計算機
の転送元・転送先判定手段143宛に受け入れ可能メッ
セ―ジ168(図13)を返送する(図25のステップ
904)。受け入れ可能であれば、受信した問い合わせ
メッセ―ジ167に記載されている計算機の転送元・転
送先判定手段143宛に受け入れ不可能メッセ―ジ16
9(図13を返送する(図25のステップ905)。受
け入れ可能メッセ―ジ168と受け入れ不可能メッセ―
ジ169のメッセ―ジ本体は、それぞれ、 (“OK”) (“NG”) のようなものである。“OK”、“NG”はメッセ―ジ
を識別する目的で使っている。
【0117】転送元・転送先判定手段143は一定時間
内に受け入れ可能メッセ―ジ168を受信した場合は
(図22のステップ618)、該当計算機を転送先の計
算機にする(同ステップ621)。一定時間内に受け入
れ不可能メッセ―ジ169を受信した場合、または、一
定時間内にメッセ―ジを受信できなかった場合は転送先
候補から該当計算機を除いた結果、計算負荷が最低にな
る計算機に問い合わせメッセ―ジ167を送信する(同
ステップ619、ステップ620)。
【0118】このような処理を、受け入れ可能メッセ―
ジ168を受信して転送先計算機が決定するか、転送先
候補が無くなって転送先計算機が無いことが判明するま
で繰り返す。例えば計算機PU1でタスクTAの転送先
の候補は上述のように計算機PU3とPU4であるが、
計算負荷が最低の計算機PU3に問い合わせメッセ―ジ
167を送信してから一定時間内に受け入れ可能メッセ
―ジ168が届かなかった場合は、計算機PU4宛に問
い合わせメッセ―ジ167を送信する。場合によって
は、計算機PU4から受け入れ不可能メッセ―ジ169
が届くか、あるいは、時間内にメッセ―ジが届かないか
もしれない。その場合はもはや転送先となる計算機は無
いので、該当タスクの多重度は減少したままとなる。そ
こで、このような場合は先ほどと同様に多重度不足タス
クテ―ブル155に該当タスク名を登録する。もし計算
機PU4から受け入れ可能メッセ―ジ168が届いた
ら、計算機PU4を転送先計算機にする。
【0119】転送先計算機が決定したら、さらに転送元
計算機を判定する。転送元計算機は転送の対象となるタ
スクが動作中である必要がある。また、転送作業は通常
のタスクの処理の合間を縫って実行するので、計算負荷
が低い計算機が転送元となった方が効率が良い。そこ
で、該当タスクが動作している計算機を計算機状態テ―
ブル154から見つけ出し(同ステップ622)、その
うち計算負荷が最低の計算機を転送元にする(同ステッ
プ623)。ここで考えている例ではタスクTAが動作
している唯一の計算機PU1が転送元計算機になる。な
お、少なくとも判定権を獲得した計算機では該当タスク
が動作しているので、転送元計算機は必ず見つかる。
【0120】ここではタスクの複写を考えているので、
転送先と転送元が決まれば転送方法が決定したことにな
る(同ステップ624)。そこで、転送方法メッセ―ジ
170(図13)を作成して放送する(図22のステッ
プ626)。転送方法メッセ―ジ170は、該当タスク
名、転送元計算機名、転送先計算機名、移動する場合に
該当タスクを削除する計算機名、複写フラグまたは移動
フラグからなる。ここでは複写する場合を考えているの
で削除する計算機は指定せずに計算機名とはなり得ない
デ―タ、例えば−1、を使ってメッセ―ジを作成する。
宛先はタスク内部状態複写手段147(図13)であ
る。例えば、タスクTAについて複写する場合は、転送
元計算機がPU1で、転送先計算機がPU4であれば、
転送方法メッセ―ジ170のメッセ―ジ本体は (TA,PU1,PU4,−1,複写) のようになる。
【0121】転送方法メッセ―ジ170を受信するのは
分散処理システム内のすべてのタスク内部状態複写手段
147(図13)である。タスク内部状態複写手段14
7は転送方法メッセ―ジ170を受信すると(図26の
ステップ911)、自計算機内のタスク処理装置で受信
したメッセ―ジ記載のタスクが動作中かどうかを調べる
(同ステップ914)。該当タスクが動作中でなければ
そのまま処理を終了する。該当タスクが動作中であれ
ば、そのタスクの動作を中断する(同ステップ91
5)。自計算機の計算機名が、受信したメッセ―ジ記載
の転送元計算機名と一致すれば(同ステップ916)、
該当タスクの内部状態のデ―タを転送デ―タ171(図
13)として、受信したメッセ―ジ記載の転送先計算機
に転送する(図26のステップ917)。例えば、転送
デ―タ171は (“DATA”,デ―タ本体) のような構成である。“DATA”はメッセ―ジを識別
する目的で使っている。転送先計算機のタスク内部状態
複写手段147は、転送デ―タ171を受信すると(同
ステップ912)、タスク内部状態のデ―タを複写する
(同ステップ920)。複写処理終了後、転送終了メッ
セ―ジ164を放送する(同ステップ921)。転送終
了メッセ―ジ164は、すでに説明したように、転送処
理の対象のタスク名からなる。宛先は転送元・転送先判
定手段143とタスク内部状態複写手段147である。
例えばタスクTAの転送処理が終了したときの転送終了
メッセ―ジ164のメッセ―ジ本体は (TA) である。
【0122】転送終了メッセ―ジ164を受信するのは
分散処理システム内のすべてのタスク内部状態複写手段
147および転送元・転送先判定手段143である。転
送元・転送先判定手段143が受信した場合の処理はす
でに説明したので、タスク内部状態複写手段147が受
信した場合の処理をここで説明する。タスク内部状態複
写手段147は転送終了メッセ―ジ164を受信すると
(同ステップ913)受信したメッセ―ジ記載のタスク
の動作を再開する(同ステップ922)。
【0123】このようにして、計算機が故障した場合で
もタスクの多重度を維持することができる。また、分散
処理システム内の計算負荷、あるいは、計算機の数と多
重度の兼ね合いからタスクの多重度を維持できない場合
は該当タスク名を記録して、計算機を追加したときに多
重度を回復できるようにする。
【0124】以下に、計算機を追加して負荷分散を図る
必要がある場合の作用を説明する。なお、計算機が故障
した場合の作用とほぼ同様の内容であるので、違う部分
について主に説明する。
【0125】分散処理システム内に新たに計算機を追加
すると、その計算機のタスク割当て要求手段148(図
13)が動作する。これは、計算機追加時に利用者が動
作開始命令を入力することで実現できる。タスク割当て
要求手段148はタスク割当て要求メッセ―ジ172
(図13)を作成して、放送する(図27のステップ9
31、ステップ932)。これは、計算負荷が高い計算
機から計算負荷がより低い計算機へタスクを移動するた
めのきっかけとなる。例えばタスク割当て要求メッセー
ジ172は、 (“REQ”) のようなものである。“REQ”はメッセ―ジを識別す
る目的で使っている。
【0126】タスク割当て要求メッセ―ジ172を受信
するのは転送元・転送先判定手段143である。転送元
・転送先判定手段143はタスク割当て要求メッセ―ジ
172を受信すると(図21のステップ602)、タス
ク割当て方法を判定する権利を獲得するために判定権要
求メッセ―ジ163を作成して放送する(同ステップ6
04)。その際、多重度不足タスクテ―ブル155(図
18)と判定順序テ―ブル153(図16)を参照す
る。多重度不足タスクテ―ブル155に記録されたタス
クで、まだ動作しているものは多重度が不足しているの
で、そのタスクは複写すべきである。なお、該当タスク
が動作しているか否かは、自計算機でタスクが動作して
いるか否かで決まる。というのは、多重度不足タスクテ
ーブル155に記録する計算機は、タスク割当て方法を
判定する権利を獲得した計算機であり、そのような計算
機では、該当タスクが元々動作しているからである。
【0127】そこでそのタスクについて判定権要求メッ
セ―ジ163を作成して判定順序管理手段144宛に放
送するとともに、そのタスク名を多重度不足タスクテ―
ブル155から削除する。例えば、計算機PU3の多重
度不足タスクテ―ブル155にタスクTDが記録されて
いれば、判定権要求メッセ―ジ163のメッセ―ジ本体
は (TD,PU3,複写) である。さらに、計算負荷が一定値以上になっている計
算機は、動作中のタスクを計算負荷がより低い計算機に
移動するために、移動フラグ付きの判定権要求メッセ―
ジ163を作成する。例えば、計算機PU3の計算負荷
が一定値以上であり、タスクTB、TC、TDが動作中
であれば、判定権要求メッセ―ジ163のメッセ―ジ本
体は (TB,PU3,移動) (TC,PU3,移動) (TD,PU3,移動) である。この場合、追加した計算機にタスクが移動する
とは限らないが、その時点で負荷が最も低い計算機にタ
スクを移動することができるので、分散処理システム全
体において、より望ましい負荷分散が実現される。な
お、判定権要求メッセ―ジ163を放送する際は判定順
序テ―ブル153を参照して、すでに該当タスクに関す
る判定権要求メッセ―ジ163を受信しているかどうか
を確認して放送するかどうかを決める。該当タスクに関
するメッセ―ジを受信していなければ放送する。該当タ
スクに関して移動フラグ付きのメッセ―ジを受信してい
る場合は、複写フラグ付きのメッセ―ジについては放送
し、移動フラグ付きのメッセ―ジは放送しない。該当タ
スクに関して複写フラグ付きのメッセ―ジを受信してい
る場合は、移動フラグ付きのメッセ―ジについては放送
し、複写フラグ付きのメッセ―ジは放送しない。
【0128】さて、上述のように、判定権要求メッセ―
ジ163を受信するのは判定順序管理手段144であ
り、タスク名が重複しないように判定順序テ―ブル15
3を更新するものである。ここでは移動フラグ付きのメ
ッセ―ジがあるので(図23のステップ702)、メッ
セ―ジ記載のタスク名を判定順序テ―ブル153の各項
目のタスク名と比較して(同ステップ705)、タスク
名が同一で移動フラグ付きの項目であれば、先着メッセ
―ジがあるので受信したメッセ―ジは捨てる。また、タ
スク名が同一で移動フラグ付きの項目がなければ、その
メッセ―ジを複写フラグ付きの項目の前に挿入する(同
ステップ706)。タスクの移動を先に実行して負荷分
散を図ってから、タスクの多重度の維持という信頼性の
問題に対処することで、タスクの移動、複写の処理全体
の効率が向上する。
【0129】転送元・転送先判定手段143は、移動フ
ラグの有無に関する分岐(図22のステップ624)を
除いて、上述したとおりに作用する。移動フラグがある
場合は(同ステップ624)、該当タスクを複写した後
に、計算負荷が高い計算機から該当タスクを削除する必
要がある。そこで、計算機状態テ―ブル154(図1
7)を参照して、該当タスクが動作している計算機の内
で計算負荷が最高の計算機タスクを削除する計算機とし
て(図22のステップ625)、転送方法メッセ―ジ1
70を作成して、放送する(同ステップ626)。例え
ば、タスクTBについて移動する場合は、転送元計算機
がPU1で、転送先計算機がPU4で、タスクを削除す
る計算機がPU3てあれば、メッセ―ジ本体は (TB,PU1,PU4,PU3,移動) のようになる。このように、タスクを移動する場合に、
必ずしも転送元計算機とタスクを削除する計算機とは一
致しない。これは、より望ましい負荷分散の結果を得る
ためと、より効率的なタスクの内部状態を転送する処理
を実現するための重要な点である。
【0130】さて、タスク内部状態複写手段147は転
送方法メッセ―ジ170を受信すると(図26のステッ
プ911)、すでに述べた処理動作手順を実行する。特
に、メッセ―ジに移動フラグがあり、メッセ―ジ記載の
タスクを削除する計算機名が自計算機名である場合(同
テスップ918)、該当タスクを削除する(同ステップ
919)。
【0131】これで計算機を追加した場合に負荷分散を
実現するとともに、計算機が故障したときに不足したタ
スクの多重度を回復することができる。
【0132】以上のように、第2実施例は、(1)計算
機故障時にタスクの多重度の減少を検出してタスクを複
写するのでタスクの多重度を維持することができるとい
う信頼性の効果と、(2)タスクの割当てや多重度の維
持を人手によらずに行うことができるので利用者にタス
クの多重度やタスクを割当てる計算機を意識させる必要
がないという保守性の効果と、(3)タスクの割当て方
法をあらかじめ決めておく必要がなく、分散処理システ
ム内で実行するタスクの変更や計算機の変更が生じたと
きにも人手によらずに割当て方法を変更できるので、よ
り望ましいタスクの割当てが行われるという適応性、保
守性の効果と、(4)タスクの割当ての手段を分散処理
システム内の各計算機に分散させているので、一部の計
算機が故障した場合でもタスクの割当てを行うことがで
きるという信頼性の効果と、タスク割当て処理の計算負
荷をシステム内の各計算機に分散するので、システム全
体の処理効率が向上するという処理性の効果と、を有
し、信頼性、保守性、適応性、処理性に優れた分散処理
システムを提供することが可能となる。
【0133】また、タスクの複写と移動は信頼性維持あ
るいは負荷分散のために実行するものであり、通常のタ
スク実行の合間に分散して実行することで、タスク割当
て処理が引き起こす計算負荷の増大や、通信量の増大を
抑えることができる。
【0134】また、転送元・転送先判定手段143が判
定権を獲得する方法が先着優先であることから、判定権
を獲得する計算機が比較的計算負荷の低いものになる可
能性が高いことと、転送元計算機と転送先計算機が比較
的計算負荷の低いものになる可能性が高いことからし
て、分散処理システム全体の処理効率が向上する。
【0135】さらに、タスクの移動の場合に削除する計
算機を単に転送元とせずに、計算負荷が高い計算機にし
ているので、より望ましい負荷分散が実現できる。
【0136】また、転送元・転送先判定手段143で
は、判定順序管理手段144が提供するデ―タを用い
て、競合する判定権要求メッセ―ジをすでに受信済みの
場合については、判定権要求メッセ―ジの放送を取りや
めるので、通信量と通信のための処理が減って通信遅延
を削減できる。
【0137】また、タスク多重度減少検出手段141で
は自計算機内で動作中のタスクについてのみ多重度の変
化を検査しているので、検査の処理をタスク毎に分散処
理システム内の計算機で負荷分散することになり効率が
良い。
【0138】また、タスク動作状態収集手段142で
は、メッセ―ジ受信時刻を調べて一定時間を経過したタ
スクに関する項目を削除しているので、タスクが終了し
た場合に終了した事実を通知する必要がなくなり、通信
量を抑えることができる。
【0139】また、判定順序管理手段144において、
タスクの移動を複写よりも優先的に実行するように順序
を決定しているため、タスクの移動により負荷分散をよ
り早い内に実現できるので、処理全体の効率が向上す
る。
【0140】以下に第2実施例の変形例を説明する。
【0141】上記第2実施例では多重化されたタスクは
並列に実行されているとしたが、上記したタスク単位の
待機冗長方式を採用した場合にも本発明は適用可能であ
る。また、実際に計算機に実装する方法としては、タス
ク処理装置とタスク割当て装置を同一のプロセッサに実
装する方法と、別のプロセッサに実装する方法がある。
処理効率は後者の方が優れているが、設備コストは前者
の方が低い。
【0142】また、上記第2実施例では、タスク割当て
要求メッセージを計算機追加時に放送しているが、これ
を一定時間計算負荷が低下した計算機から放送すること
でも負荷分散や多重度の回復を実現できる。
【0143】
【発明の効果】以上説明したように本発明は、(1)タ
スクを起動する前にタスクの多重度、及び、タスクの計
算機への割当て方法を決めておく必要がなく、タスクが
動作中のシステムの状況をタスクの多重度、及び、タス
クの計算機への割当て方法に反映することができるの
で、システムの処理効率をより望ましいものにすること
ができるという適応性の効果と、(2)タスクの多重度
の変更や計算機への割当てを人手によらずに行うことが
できるので、利用者にタスクの多重度や割当てる計算機
を意識させる必要がないという保守性の効果と、(3)
タスクの割当ての手段を分散処理システム内の各計算機
に分散させているので、一部の計算機が故障した場合で
もタスクの割当てを行うことができ、かつタスクの多重
度の減少を検出してタスクを複写するのでタスクの多重
度を維持することができるいう信頼性の効果と、タスク
割当て処理の計算負荷をシステム内の各計算機に分散す
るので、システム全体の処理効率が向上するという処理
性の効果と、を有し、信頼性、保守性、適応性、処理性
に優れた分散処理システムを提供することが可能とな
る。
【図面の簡単な説明】
【図1】本発明の第1実施例のシステム構成図である。
【図2】第1実施例のタスク処理装置のブロック図であ
る。
【図3】第1実施例の動作を説明するためのデータの流
れの概略を示す図である。
【図4】第1実施例において用いる要求多重度テーブル
の一例である。
【図5】第1実施例において用いる計算機状態テーブル
の一例である。
【図6】第1実施例において多重度決定手段の処理動作
手順を示すフローチャートである。
【図7】第1実施例において多重度管理手段の処理動作
手順を示す第1のフローチャートである。
【図8】第1実施例において多重度管理手段の処理動作
手順を示す第2のフローチャートである。
【図9】第1実施例において多重度管理手段の処理動作
手順を示す第3のフローチャートである。
【図10】第1実施例においてタスク複写・削除手段の
処理動作手順を示すフローチャートである。
【図11】本発明の第2実施例のシステム構成図であ
る。
【図12】第2実施例のタスク割当て装置のブロック図
である。
【図13】第2実施例の動作を説明するためのデ―タの
流れの概略を示す図である。
【図14】第2実施例においてタスク割当て装置が処理
する動作状態メッセ―ジテ―ブルの一例である。
【図15】第2実施例においてタスク割当て装置が処理
するタスク状態テ―ブルの一例である。
【図16】第2実施例においてタスク割当て装置が処理
する判定順序テ―ブルの一例である。
【図17】第2実施例においてタスク割当て装置が処理
する計算機状態テ―ブルの一例である。
【図18】第2実施例においてタスク割当て装置が処理
する多重度不足タスクテ―ブルの一例である。
【図19】第2実施例においてタスク多重度減少検出手
段の処理動作手順を示すフロ―チャ―トである。
【図20】第2実施例においてタスク動作状態収集手段
の処理動作手順を示すフロ―チャ―トである。
【図21】第2実施例において転送元・転送先判定手段
の処理動作手順を示す第1のフロ―チャ―トである。
【図22】第2実施例において転送元・転送先判定手段
の処理動作手順を示す第2のフロ―チャ―トである。
【図23】第2実施例において判定順序管理手段の処理
動作手順を示すフロ―チャ―トである。
【図24】第2実施例において計算機状態管理手段の処
理動作手順を示すフロ―チャ―トである。
【図25】第2実施例においてタスク受け入れ判定手段
の処理動作手順を示すフロ―チャ―トである。
【図26】第2実施例においてタスク内部状態複写手段
の処理動作手順を示すフロ―チャ―トである。
【図27】第2実施例においてタスク割当て要求手段の
処理動作手順を示すフロ―チャ―トである。
【図28】タスク単位の多重化方式を説明するための模
式図である。
【図29】計算機単位の多重化方式を説明するための模
式図である。
【符号の説明】
1,101…計算機、2,102…通信路、3,103
…タスク処理装置、4,105…記憶装置、5,106
…通信装置、31…多重度決定手段、32…多重度管理
手段、33…タスク複写・削除手段、104…タスク割
当て装置、141…タスク多重度減少検出手段、142
…タスク動作状態収集手段、143…転送元・転送先判
定手段、144…判定順序管理手段、145…計算機状
態管理手段146…タスク受け入れ判定手段、147…
タスク内部状態複写手段、148…タスク割当て要求手
段。

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 通信路を介して接続された複数の計算機
    によって複数のタスクをタスク単位で多重化して実行す
    る分散処理システムであって、 前記複数の計算機の各々は、各タスクにより要求される多重度に従って作成された要
    求多重度テーブルを参照して計算機内で動作中の各タス
    クの多重度を決定し、多重度の変更を行う対象タスクと
    該対象タスクの多重度とを記述した 多重度変更要求を放
    送する多重度決定手段と、各計算機において動作中の各タスクに関する情報が記述
    された計算機状態テーブルを参照して得られる前記対象
    タスクの現在の多重度と、受信した前記多重度変更要求
    に示される前記対象タスクの多重度とを比較し、このと
    きの比較結果に基づいて前記対象タスクの複写及び削除
    に関する処理の決定を行う多重度管理手段と、 前記多重度管理手段からの複写又は削除に関する処理の
    決定に基づいて前記対象タスクに対する複写・削除を実
    して前記対象タスクの多重度を変更するタスク複写・
    削除手段と、 を含むタスク処理手段を具備したことを特徴とする分散
    処理システム。
  2. 【請求項2】 前記要求多重度テーブルは、各タスクの
    名称と、各タスクに対応した最小多重度及び最大多重度
    情報とを備えており、前記多重度決定手段は、各タスク
    により要求される多重度を記述した要求多重度メッセー
    を受信したときに前記要求多重度テーブルを更新する
    ことを特徴とする請求項1記載の分散処理システム。
  3. 【請求項3】 前記計算機状態テーブルは、各計算機の
    名称と、各計算機の計算負荷と、各計算機で動作中の各
    タスクの名称からなるリストとを備えており、前記多重
    度管理手段は、前記多重度変更要求に基づいて作成した
    計算機状態メッセージにより前記計算機状態テーブルを
    更新するとともに、この更新した前記計算機状態テーブ
    ルを参照して得られた前記対象タスクの現在の多重度
    と、前記多重度変更要求で指定された多重度とを比較す
    ることを特徴とする請求項1又は2記載の分散処理シス
    テム。
  4. 【請求項4】 前記比較の結果、前記多重度変更要求に
    記述された前記対象タスクの多重度の方が大きい場合に
    は、前記多重度管理手段は、自身が担当する計算機内に
    前記対象タスクが存在するか否かを判断し、存在しない
    場合には、前記計算機状態テーブルから前記対象タスク
    を含まない計算機のリストを作成し、当該リスト内から
    前記多重度変更要求により変更された前記対象タスクの
    多重度と、前記対象タスクの現在の多重度との差に相当
    する個数の計算機を選択し、選択された計算機に自身の
    担当する計算機が存在する場合は、当該計算機のタスク
    複写・削除手段に前記対象タスクの複写要求を通知する
    ことを特徴とする請求項3記載の分散処理システム。
  5. 【請求項5】 前記比較の結果、前記計算機状態テーブ
    ルを参照して求められた前記対象タスクの現在の多重度
    の方が大きいとき、前記多重度管理手段は、自身が担当
    する計算機内に前記対象タスクが存在するか否かを判断
    し、存在する場合には、前記計算機状態テーブルから
    記対象タスクを含む計算機のリストを作成し、当該リス
    から、前記対象タスクの現在の多重度と、前記多重
    度変更要求により変更された多重度との差に相当する個
    数の計算機を選択し、選択された計算機が自身の担当す
    る計算機である場合は当該計算機のタスク複写・削除手
    段に前記対象タスクの削除要求を通知することを特徴と
    する請求項3記載の分散処理システム。
  6. 【請求項6】 前記タスク複写・削除手段が、前記多重
    度管理手段から前記対象タスクの複写要求を受け取る
    と、前記タスク複写・削除手段は、前記対象タスクの存
    在する計算機のタスク複写・削除手段に転送要求を通知
    するとともに、この転送要求を受け取ったタスク複写・
    削除手段は、前記対象タスクの内部状態からなる転送デ
    ータを転送要求を通知した計算機の前記タスク複写・削
    除手段に通知することを特徴とする請求項4記載の分散
    処理システム。
JP04444894A 1994-03-15 1994-03-15 分散処理システム Expired - Fee Related JP3522820B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP04444894A JP3522820B2 (ja) 1994-03-15 1994-03-15 分散処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP04444894A JP3522820B2 (ja) 1994-03-15 1994-03-15 分散処理システム

Publications (2)

Publication Number Publication Date
JPH07253951A JPH07253951A (ja) 1995-10-03
JP3522820B2 true JP3522820B2 (ja) 2004-04-26

Family

ID=12691779

Family Applications (1)

Application Number Title Priority Date Filing Date
JP04444894A Expired - Fee Related JP3522820B2 (ja) 1994-03-15 1994-03-15 分散処理システム

Country Status (1)

Country Link
JP (1) JP3522820B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001331463A (ja) * 2000-05-23 2001-11-30 Nec Corp データベース構築方法及びそのプログラムを記録した記録媒体
US7174379B2 (en) * 2001-08-03 2007-02-06 International Business Machines Corporation Managing server resources for hosted applications
US7636325B2 (en) * 2004-12-07 2009-12-22 Hewlett-Packard Development Company, L.P. Determining highest workloads for nodes in an overlay network
JP5007050B2 (ja) * 2006-02-01 2012-08-22 株式会社野村総合研究所 格子型コンピュータシステム、タスク割り当てプログラム
JP5559582B2 (ja) * 2010-03-25 2014-07-23 株式会社日立システムズ 仮想計算機資源構成変更システムと方法およびプログラム
JP5962100B2 (ja) 2012-03-19 2016-08-03 富士通株式会社 メッセージ中継装置、メッセージ中継方法およびプログラム
US20160335321A1 (en) * 2014-03-28 2016-11-17 Hitachi, Ltd. Database management system, computer, and database management method
CN110109749A (zh) * 2019-03-29 2019-08-09 北京奇安信科技有限公司 一种分布式系统的计算资源清理方法及装置

Also Published As

Publication number Publication date
JPH07253951A (ja) 1995-10-03

Similar Documents

Publication Publication Date Title
US8074222B2 (en) Job management device, cluster system, and computer-readable medium storing job management program
US8458284B2 (en) Systems and methods for efficient live application migration within bandwidth constrained networks
US7107323B2 (en) System and method of file distribution for a computer system in which partial files are arranged according to various allocation rules
JP3678414B2 (ja) 多重プロセッサ・システム
US6505241B2 (en) Network intermediate node cache serving as proxy to client node to request missing data from server
US5611049A (en) System for accessing distributed data cache channel at each network node to pass requests and data
JP5516744B2 (ja) スケジューラ、マルチコアプロセッサシステムおよびスケジューリング方法
JP4772854B2 (ja) 計算機システムの構成管理方法、計算機システム及び構成管理プログラム
EP0747832A2 (en) Customer information control system and method in a loosely coupled parallel processing environment
US20120303725A1 (en) Message Distribution System and Message Distribution Method
US20100251248A1 (en) Job processing method, computer-readable recording medium having stored job processing program and job processing system
JP4748950B2 (ja) 記憶領域管理方法及びシステム
CN105376269B (zh) 虚拟机存储系统及其实现方法和装置
JP3522820B2 (ja) 分散処理システム
US20160234129A1 (en) Communication system, queue management server, and communication method
CN109597674B (zh) 一种共享虚拟资源池份额调度方法及系统
EP0747812A2 (en) Customer information control system and method with API start and cancel transaction functions in a loosely coupled parallel processing environment
JP2007328413A (ja) 負荷分散方法
JP5776813B2 (ja) マルチコアプロセッサシステム、マルチコアプロセッサシステムの制御方法および制御プログラム
US6532478B1 (en) File loader in information processing system of multiprocessor configuration
CN111382132A (zh) 医学影像数据云存储系统
WO1993024890A1 (en) System for accessing distributed data cache channel at each network node to pass requests and data
CN114356214B (zh) 一种针对kubernetes系统提供本地存储卷的方法及系统
JPH05241857A (ja) データ処理装置
JP2007334418A (ja) 情報配置制御方法および端末装置

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040113

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040205

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080220

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090220

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100220

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100220

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110220

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120220

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130220

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees