JPH02266457A - 処理の継続実行方法 - Google Patents
処理の継続実行方法Info
- Publication number
- JPH02266457A JPH02266457A JP8567889A JP8567889A JPH02266457A JP H02266457 A JPH02266457 A JP H02266457A JP 8567889 A JP8567889 A JP 8567889A JP 8567889 A JP8567889 A JP 8567889A JP H02266457 A JPH02266457 A JP H02266457A
- Authority
- JP
- Japan
- Prior art keywords
- execution
- processing
- virtual
- processing device
- executed
- 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.)
- Granted
Links
Landscapes
- Hardware Redundancy (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本考案は、複数の処理装置が主記憶装置を共有する形の
マルチプロセッサシステムにおいて、一つの処理装置が
障害の発生等により処理の実行が継続できない場合に、
その処理装置上で実行されていた処理を、その処理の種
類、処理状態の如何にもかかわらず、正常に′m続実行
可能とする方法を提供する処理の実行制御方法に関する
。
マルチプロセッサシステムにおいて、一つの処理装置が
障害の発生等により処理の実行が継続できない場合に、
その処理装置上で実行されていた処理を、その処理の種
類、処理状態の如何にもかかわらず、正常に′m続実行
可能とする方法を提供する処理の実行制御方法に関する
。
近年、計算機システムが普及し、各種のオンラインシス
テムや、VAN等が高度化し、システムの高信頬化に対
する要求が高まってきている。また、計算機システムの
能力に対する増大する要求に対処するため、計算機シス
テムのマルチプロセッサ化が進んでいる。複数の処理装
置が主記憶装置を共有する形のマルチプロセッサ(密結
合マルチプロセッサと称する)では、システムを構成す
る複数の処理装置の中の一つが故障しても、他の正常な
処理装置で故障によって中断さた処理を引継ぐことによ
り、システム全体として処理を継続することが可能であ
る。この方式に関しては、従来よりい(つかの技術が提
案されている(特公昭47−36181号公報、特公昭
61−56537号公報、特開昭58−5856号公報
、特願昭62−29565号等参照)。
テムや、VAN等が高度化し、システムの高信頬化に対
する要求が高まってきている。また、計算機システムの
能力に対する増大する要求に対処するため、計算機シス
テムのマルチプロセッサ化が進んでいる。複数の処理装
置が主記憶装置を共有する形のマルチプロセッサ(密結
合マルチプロセッサと称する)では、システムを構成す
る複数の処理装置の中の一つが故障しても、他の正常な
処理装置で故障によって中断さた処理を引継ぐことによ
り、システム全体として処理を継続することが可能であ
る。この方式に関しては、従来よりい(つかの技術が提
案されている(特公昭47−36181号公報、特公昭
61−56537号公報、特開昭58−5856号公報
、特願昭62−29565号等参照)。
従来の技術では、障害を発生した処理装置の障害発生時
点の状態、及び障害を発生した処理装置の論理装置番号
等の情報を、障害を発生した処理装置、正常な処理装置
、または回復制御装置等の動作により、記憶装置等に格
納し、または直接正常な処理装置に転送し、正常な処理
装置がその情報を用いて障害を発生した処理装置上で中
断された処理を肩代わりして再実行するというこのであ
る。しかしいずれも、通知された若しくは入手した情報
をもとにした処理の回復は一時的なものであり、障害発
生時点で実行中であった処理の一つの動作、例えば一つ
の命令や割り込み処理などを再実行し、正常に終了させ
るこが目的であった。
点の状態、及び障害を発生した処理装置の論理装置番号
等の情報を、障害を発生した処理装置、正常な処理装置
、または回復制御装置等の動作により、記憶装置等に格
納し、または直接正常な処理装置に転送し、正常な処理
装置がその情報を用いて障害を発生した処理装置上で中
断された処理を肩代わりして再実行するというこのであ
る。しかしいずれも、通知された若しくは入手した情報
をもとにした処理の回復は一時的なものであり、障害発
生時点で実行中であった処理の一つの動作、例えば一つ
の命令や割り込み処理などを再実行し、正常に終了させ
るこが目的であった。
一方、従来の仮想計算機方式(特開昭57−21268
0号公報など)では、システム全体を仮想計算機システ
ムとして連用することが目的であり、実計算機状態の処
理との同時的な運用、実計算機状態との間の動的な移行
などは考慮していない。
0号公報など)では、システム全体を仮想計算機システ
ムとして連用することが目的であり、実計算機状態の処
理との同時的な運用、実計算機状態との間の動的な移行
などは考慮していない。
従来の技術では、障害発生等による処理実行中断時点で
当該処理装置が実行中だった処理の一つの動作、例えば
一つの命令や割り込み処理などを他の正常な処理装置が
肩代わりで再実行し、正常に終了させることは可能であ
るが、実行されていた処理を、他の処理装置上で実行さ
れていた処理と関連した処理全体の流れとしてみた場合
、例えばクロック待ち(クロックが確保できるまで待つ
)処理等の場合に、障害等により中断された処理を他の
正常な処理装置により肩代わり継続実行することができ
ない場合が発生する。即ち、処理の継続実行方法には、
(1)障害発生等により中断された処理に関し、その処
理の状態の如何にかかわらず、中断された一つの命令の
み、もしくは中断された一つの動作のみを肩代わりして
回復する方法と、(2)中断された処理を、中断された
命令から再開始し、中断された命令だけでなく、その後
の一連の中断不可の命令群を含めて肩代わりし、ロック
待ち、ロック確保中以外等の中断可能な特定の状態とな
るまで実行する方法とがあるが、このどちらの方法でも
、従来技術ではすべての場合に処理を正常に継続実行す
ることは不可能である。
当該処理装置が実行中だった処理の一つの動作、例えば
一つの命令や割り込み処理などを他の正常な処理装置が
肩代わりで再実行し、正常に終了させることは可能であ
るが、実行されていた処理を、他の処理装置上で実行さ
れていた処理と関連した処理全体の流れとしてみた場合
、例えばクロック待ち(クロックが確保できるまで待つ
)処理等の場合に、障害等により中断された処理を他の
正常な処理装置により肩代わり継続実行することができ
ない場合が発生する。即ち、処理の継続実行方法には、
(1)障害発生等により中断された処理に関し、その処
理の状態の如何にかかわらず、中断された一つの命令の
み、もしくは中断された一つの動作のみを肩代わりして
回復する方法と、(2)中断された処理を、中断された
命令から再開始し、中断された命令だけでなく、その後
の一連の中断不可の命令群を含めて肩代わりし、ロック
待ち、ロック確保中以外等の中断可能な特定の状態とな
るまで実行する方法とがあるが、このどちらの方法でも
、従来技術ではすべての場合に処理を正常に継続実行す
ることは不可能である。
この事実を第2図及び第3図を用い、方法(1)では第
2図の場合は問題ないが、第3図の場合に問題が生じ、
方法(2)では第3図の場合は問題ないが、第2図の場
合に問題が生じることを説明する。
2図の場合は問題ないが、第3図の場合に問題が生じ、
方法(2)では第3図の場合は問題ないが、第2図の場
合に問題が生じることを説明する。
第2図は、2台の処理装置(IP)における処理の流れ
を示した説明図である。図において、201.206は
処理装置(IPOまたはIPI)の通常の命令処理を、
207はロックAI+1!保成功の事実を、202はロ
ックA6!保失敗の事実を、208はロックAを確保し
た状態での一連の命令処理を、203はロックA待ちの
状態を、210は203を肩代わりしたロックA待ちの
状態を、204は障害発生等による処理実行中断の事実
を示す。また、205はIPOの処理実行中断の事実が
IPIに通知されたことを示し、209はその事実が受
は取られた時点を示す。第2図は、IPIがまず主記憶
装置のある領域に対するロックAを確保しく 207
) 、そのため、次にIPOがこれと同一の記憶領域に
対するロックAの確保に失敗した後(202,203)
、IPOに障害発生等による処理実行中断(204’)
が発生した場合を示している。この処理実行中断発生の
事実は、発生後すぐにIP1に通知される( 205
)とする。いま、上記(1)の方法を考えると、IPO
において中断された処理(ロックA待ち203)を再実
行(210)するIPIの処理は、中断された一つの命
令、あるいは一つの処理を肩代わりして再実行するのみ
であり、それらが正常に終了した場合には、IP1本来
の処理(208)を継続することとすると、処理(20
8)がロックAを解放した後、IPOで中断していた処
理(203)を継続実行することができる。しかし、上
記(2)の方法では、中断可能な特定の状態としてロッ
ク待ち状態以外の状態(例えば、互いに切り離すことの
できない、一連の、いくつかの命令処理が終了したとき
)を考えると、IPIにおいて再実行された処理(ロッ
ク待ち203)は、終了せず、いつまでもロック待ち状
態が続く自縛り状態となるため、システムの機能は停止
してしまう。
を示した説明図である。図において、201.206は
処理装置(IPOまたはIPI)の通常の命令処理を、
207はロックAI+1!保成功の事実を、202はロ
ックA6!保失敗の事実を、208はロックAを確保し
た状態での一連の命令処理を、203はロックA待ちの
状態を、210は203を肩代わりしたロックA待ちの
状態を、204は障害発生等による処理実行中断の事実
を示す。また、205はIPOの処理実行中断の事実が
IPIに通知されたことを示し、209はその事実が受
は取られた時点を示す。第2図は、IPIがまず主記憶
装置のある領域に対するロックAを確保しく 207
) 、そのため、次にIPOがこれと同一の記憶領域に
対するロックAの確保に失敗した後(202,203)
、IPOに障害発生等による処理実行中断(204’)
が発生した場合を示している。この処理実行中断発生の
事実は、発生後すぐにIP1に通知される( 205
)とする。いま、上記(1)の方法を考えると、IPO
において中断された処理(ロックA待ち203)を再実
行(210)するIPIの処理は、中断された一つの命
令、あるいは一つの処理を肩代わりして再実行するのみ
であり、それらが正常に終了した場合には、IP1本来
の処理(208)を継続することとすると、処理(20
8)がロックAを解放した後、IPOで中断していた処
理(203)を継続実行することができる。しかし、上
記(2)の方法では、中断可能な特定の状態としてロッ
ク待ち状態以外の状態(例えば、互いに切り離すことの
できない、一連の、いくつかの命令処理が終了したとき
)を考えると、IPIにおいて再実行された処理(ロッ
ク待ち203)は、終了せず、いつまでもロック待ち状
態が続く自縛り状態となるため、システムの機能は停止
してしまう。
第3図も、2台の処理装置(IP )における処理の流
れを示した説明図である。図において、301.306
は処理装置(IPOまたはIPI)の通常の命令処理を
、302はロックA確保成功の事実を、307はロック
AltI保失敗の事実を、311はロックA解放の事実
を、303.310はロック八を確保した状態での命令
処理を、308はロックA待ちの状態を1.304は障
害発生等による処理実行中断の事実を示す。また、30
5はIPOの処理実行中断の事実がIPIに通知された
ことを示し、309はその事実が受は取られた時点を示
す。第3図は、IPOがまず主記憶装置のある領域に対
するロック八を確保しく302)、次にIPIがこれと
同一の記憶領域に対するロックAの確保に失敗した後(
307,308)IPOに障害等による処理実行中断(
304)が発生した場合を示している。この処理実行中
断発生の事実は、発生後すぐにIPIに通知される(
305 )とする。いま、上記(1)の方法を考えると
、IPOにおいて中断された処理(303)を再実行す
るIPIの処理(310)は、一連の処理(303)
のうちの中断された一つの命令、あるいは一つの処理の
みを再実行するのみであり、それらが正常に終了した場
合には、IP1本来の処理(308)を継続することと
すると、このようにIPIが一つの命令を肩代わりした
だけではIPOの本来の処理(303)の全部が終った
わけではないので、肩代わり実行においてIPOがロッ
クAを解放する可能性はきわめい低く、IP1のロック
待ち処理(308”)は終了しないから、何時迄もロッ
ク待ち状態が続く自縛り状態となるため、システムの処
理は停止してしまう。しかし、上記(2)の方法では、
中断可能な特定の状態としてロック確保生状態以外の状
態を考えると、IP1において再実行された処理(31
0、これはIPOの処理(303)を引継いだものであ
る)はロックAの解放(311)をもって終了し、その
後、IP1の処理(308)を継続実行する(例えば、
311により解放されたエリアに対し、今度はrP1自
身の処理としてロックAを取り直し、本来のIPIの処
理を実行する)ことが可能である。
れを示した説明図である。図において、301.306
は処理装置(IPOまたはIPI)の通常の命令処理を
、302はロックA確保成功の事実を、307はロック
AltI保失敗の事実を、311はロックA解放の事実
を、303.310はロック八を確保した状態での命令
処理を、308はロックA待ちの状態を1.304は障
害発生等による処理実行中断の事実を示す。また、30
5はIPOの処理実行中断の事実がIPIに通知された
ことを示し、309はその事実が受は取られた時点を示
す。第3図は、IPOがまず主記憶装置のある領域に対
するロック八を確保しく302)、次にIPIがこれと
同一の記憶領域に対するロックAの確保に失敗した後(
307,308)IPOに障害等による処理実行中断(
304)が発生した場合を示している。この処理実行中
断発生の事実は、発生後すぐにIPIに通知される(
305 )とする。いま、上記(1)の方法を考えると
、IPOにおいて中断された処理(303)を再実行す
るIPIの処理(310)は、一連の処理(303)
のうちの中断された一つの命令、あるいは一つの処理の
みを再実行するのみであり、それらが正常に終了した場
合には、IP1本来の処理(308)を継続することと
すると、このようにIPIが一つの命令を肩代わりした
だけではIPOの本来の処理(303)の全部が終った
わけではないので、肩代わり実行においてIPOがロッ
クAを解放する可能性はきわめい低く、IP1のロック
待ち処理(308”)は終了しないから、何時迄もロッ
ク待ち状態が続く自縛り状態となるため、システムの処
理は停止してしまう。しかし、上記(2)の方法では、
中断可能な特定の状態としてロック確保生状態以外の状
態を考えると、IP1において再実行された処理(31
0、これはIPOの処理(303)を引継いだものであ
る)はロックAの解放(311)をもって終了し、その
後、IP1の処理(308)を継続実行する(例えば、
311により解放されたエリアに対し、今度はrP1自
身の処理としてロックAを取り直し、本来のIPIの処
理を実行する)ことが可能である。
この2例では、IPOにおける処理実行中断発生の事実
はIPIの処理状態の如何にかかわらず直ちにIPIに
通知されることとしたが、IPIの処理状態が前述の特
定の状態(−段落した状態)、例えば入出力割り込み、
及び外部割り込みが可能な状態となった時に割り込み通
知されるとしてもよい。この場合でも、上記と同様のI
ll論により、中断された処理をすべて継続実行するこ
とは不可能である。
はIPIの処理状態の如何にかかわらず直ちにIPIに
通知されることとしたが、IPIの処理状態が前述の特
定の状態(−段落した状態)、例えば入出力割り込み、
及び外部割り込みが可能な状態となった時に割り込み通
知されるとしてもよい。この場合でも、上記と同様のI
ll論により、中断された処理をすべて継続実行するこ
とは不可能である。
このように、従来技術では、障害により中断された処理
を、処理の種類、状況のすべての場合において継続実行
することはできない。
を、処理の種類、状況のすべての場合において継続実行
することはできない。
従って、本発明の目的は、この中断された処理を、処理
の種類、状況の如何によらず継続実行することにある。
の種類、状況の如何によらず継続実行することにある。
上記問題点を克服するため、本発明は、処理実行中断の
通知を受けた正常な処理装置が、処理実行を中断した処
理装置の中断時点の状態を示す値、即ちプログラム状態
語、レジスタ値、タイマ値を用いて、仮想計算機システ
ムの一構成要素である仮想処理装置を作成し、この仮想
処理装置の実行環境を用いた中断された処理の実行と、
通知を受けた処理装置において本来実行されていた処理
とを時分割的に実行する。
通知を受けた正常な処理装置が、処理実行を中断した処
理装置の中断時点の状態を示す値、即ちプログラム状態
語、レジスタ値、タイマ値を用いて、仮想計算機システ
ムの一構成要素である仮想処理装置を作成し、この仮想
処理装置の実行環境を用いた中断された処理の実行と、
通知を受けた処理装置において本来実行されていた処理
とを時分割的に実行する。
上記方法の作用を説明する。
処理実行を中断した処理装置の状態、即ちプログラム状
態語、レジスタ値、タイマ値が他の正常な処理装置に通
知されると、正常な処理装置は、ソフトウェアあるいは
バードアエアもしくはその両者の手段によって仮想計算
機システムの一構成要素である仮想処理装置を作成し、
その実行環境定義情報の中に通知された処理実行を中断
した処理装置の状態情報の内容を設定し、実行中断され
た処理の継続実行を開始可能にする。作成された仮想処
理装置は、正常な処理装置の上で、一つのジョブ、もし
くはタスクとして実行される。
態語、レジスタ値、タイマ値が他の正常な処理装置に通
知されると、正常な処理装置は、ソフトウェアあるいは
バードアエアもしくはその両者の手段によって仮想計算
機システムの一構成要素である仮想処理装置を作成し、
その実行環境定義情報の中に通知された処理実行を中断
した処理装置の状態情報の内容を設定し、実行中断され
た処理の継続実行を開始可能にする。作成された仮想処
理装置は、正常な処理装置の上で、一つのジョブ、もし
くはタスクとして実行される。
一般に、仮想計算機システムによって、−台の物理的な
計算機(実の処理装置)上に、複数台の仮想計算機(仮
想の処理装置)を作成し、各仮想計算機を別々のO8で
動作させることができる。この場合、物理的な(実の)
計算機としては、上記複数のOSのそれぞれの命令の処
理や仮想計算機制御プログラムの処理は時分割的に実行
されるものであっても、論理的な(仮想的な)計算機と
してみれば、各O8の命令の処理は他のO8の処理や仮
想計算機制御プログラムの処理と平行して並列的に実行
されるといえる。本発明では、このような仮想処理装置
による命令の処理が他の処理と同時的並列的に実行され
る機能に着目して、上記従来技術の問題点である中断さ
れた処理の継続実行ができな(なることを防止している
。
計算機(実の処理装置)上に、複数台の仮想計算機(仮
想の処理装置)を作成し、各仮想計算機を別々のO8で
動作させることができる。この場合、物理的な(実の)
計算機としては、上記複数のOSのそれぞれの命令の処
理や仮想計算機制御プログラムの処理は時分割的に実行
されるものであっても、論理的な(仮想的な)計算機と
してみれば、各O8の命令の処理は他のO8の処理や仮
想計算機制御プログラムの処理と平行して並列的に実行
されるといえる。本発明では、このような仮想処理装置
による命令の処理が他の処理と同時的並列的に実行され
る機能に着目して、上記従来技術の問題点である中断さ
れた処理の継続実行ができな(なることを防止している
。
即ち、本発明によれば、障害等により中断された処理が
どのような状態のものであっても、(該処理の種類や処
理状態の如何にかかわらず)処理実行中断時に作成した
仮想的処理装置において、通知を受けた正常な処理装置
が本来行っている処理動作と平行して、上記障害により
中断された処理を肩代わり実行し、中断した処理を継続
実行(回復)することができる。このような論理上の同
時処理機能は、上記のように、実行機能が一つしかない
物理的な処理装置に、例えば時分割等の方法をとり入れ
ることで実現すればよい。
どのような状態のものであっても、(該処理の種類や処
理状態の如何にかかわらず)処理実行中断時に作成した
仮想的処理装置において、通知を受けた正常な処理装置
が本来行っている処理動作と平行して、上記障害により
中断された処理を肩代わり実行し、中断した処理を継続
実行(回復)することができる。このような論理上の同
時処理機能は、上記のように、実行機能が一つしかない
物理的な処理装置に、例えば時分割等の方法をとり入れ
ることで実現すればよい。
一般に、処理装置の処理モードには、全ての命令の実行
が可能なスーパバイザモードと、一部の命令の実行のみ
可能なブラブレムモードの二つの処理モードがある。状
態がスーパバイザモードなら、5PV(スーパバイザ)
命令と呼ばれる特権命令、FRB(ブラブレム)命令と
呼ばれる一般命令、いずれも使えるが、状態がブラブレ
ムモードなら、SP■命令は使えない。従って、仮想処
理装置がブラブレムモードで実行された場合、SPV命
令は使えない。このような時には、仮想、計算機システ
ムにおける場合と同じ考え方によって、仮想処理装置(
仮想IP)実行支援処理によってSPv命令のシミュレ
ーション処理を行い、命令があたかも実行されたように
見せかける。
が可能なスーパバイザモードと、一部の命令の実行のみ
可能なブラブレムモードの二つの処理モードがある。状
態がスーパバイザモードなら、5PV(スーパバイザ)
命令と呼ばれる特権命令、FRB(ブラブレム)命令と
呼ばれる一般命令、いずれも使えるが、状態がブラブレ
ムモードなら、SP■命令は使えない。従って、仮想処
理装置がブラブレムモードで実行された場合、SPV命
令は使えない。このような時には、仮想、計算機システ
ムにおける場合と同じ考え方によって、仮想処理装置(
仮想IP)実行支援処理によってSPv命令のシミュレ
ーション処理を行い、命令があたかも実行されたように
見せかける。
また、本発明の特徴として、このような仮想処理装置は
、処理の実行中断が発生したときだけ一時的に< b’
=時に)作成され、中断された処理の継続実行(回復)
処理が終れば消滅する。
、処理の実行中断が発生したときだけ一時的に< b’
=時に)作成され、中断された処理の継続実行(回復)
処理が終れば消滅する。
以下、図面を用いて本発明の一実施例を示す。
本実施例では、主に、上記(2)の方法で、第2図の場
合における問題の解決法を示したものである。本実施例
中の命令、割り込み等の詳細は、例えば日立マニュアル
1Mシリーズ処理装置」等を参照されたい0本実施例で
は、処理装置が障害等を発生し処理の実行が中断された
事実は割り込みによって正常な処理装置に報告されるこ
ととし、また、仮想処理装置の実行は、正常な処理装置
によって継続された処理が、処理の流れに不都合を発生
することなく中断可能となった時点で(例えば、入出力
割込みと外部割込みが共に可能になったとき)終了する
こととする。この理由は、一般に、実行の途中における
中断を許さない処理、即ち中断すると処理上の不都合(
例えば無限ループ、割り込み禁止ウェイト、デッドロッ
クなど)を発生ずる処理は、外部割り込み、入出力割り
込み等による中断、CPUの変更を防止するため、外部
割り込み、入出力割り込み不可状態で走行するからであ
る。従って、逆に処理が割り込みを許可すれば、それは
中断されても不都合を発生しないという指標であると見
なすことができ、ある処理が割り込みを許可する状態で
あれば、全体の処理に不都合を生じることなくその処理
を一旦中断し、後に他の処理装置上ででも再実行するこ
とが可能となる。即ち、仮想処理装置上での処理の実行
を終了した後、障害を発生した処理装置を切り離した処
理装置の一台少ない状態で、すべての処理を再開始する
ことが可能となる。本実施例では、処理の流れに不都合
を発生することなく中断可能となる場合として、処理が
入出力割り込みおよび外部割り込み可能な状態となった
時点を考える。
合における問題の解決法を示したものである。本実施例
中の命令、割り込み等の詳細は、例えば日立マニュアル
1Mシリーズ処理装置」等を参照されたい0本実施例で
は、処理装置が障害等を発生し処理の実行が中断された
事実は割り込みによって正常な処理装置に報告されるこ
ととし、また、仮想処理装置の実行は、正常な処理装置
によって継続された処理が、処理の流れに不都合を発生
することなく中断可能となった時点で(例えば、入出力
割込みと外部割込みが共に可能になったとき)終了する
こととする。この理由は、一般に、実行の途中における
中断を許さない処理、即ち中断すると処理上の不都合(
例えば無限ループ、割り込み禁止ウェイト、デッドロッ
クなど)を発生ずる処理は、外部割り込み、入出力割り
込み等による中断、CPUの変更を防止するため、外部
割り込み、入出力割り込み不可状態で走行するからであ
る。従って、逆に処理が割り込みを許可すれば、それは
中断されても不都合を発生しないという指標であると見
なすことができ、ある処理が割り込みを許可する状態で
あれば、全体の処理に不都合を生じることなくその処理
を一旦中断し、後に他の処理装置上ででも再実行するこ
とが可能となる。即ち、仮想処理装置上での処理の実行
を終了した後、障害を発生した処理装置を切り離した処
理装置の一台少ない状態で、すべての処理を再開始する
ことが可能となる。本実施例では、処理の流れに不都合
を発生することなく中断可能となる場合として、処理が
入出力割り込みおよび外部割り込み可能な状態となった
時点を考える。
第1図(a)は、本発明の実行制御方法の一実施例の適
用されるマルチプロセッサシステムの構成の概要を示す
ブロック図である。
用されるマルチプロセッサシステムの構成の概要を示す
ブロック図である。
第1図(al ニおイテ、10は処理装置lPO520
は処理装置IPI、30は主記憶装置(処理装置10゜
20、・・・に共有の領域)である。処理装置(10,
20)には命令実行部(11,21)があり、その実行
状態はプログラム状態語(12,22)に示される。プ
ログラム状態語はまた実行中の命令のアドレスを示す。
は処理装置IPI、30は主記憶装置(処理装置10゜
20、・・・に共有の領域)である。処理装置(10,
20)には命令実行部(11,21)があり、その実行
状態はプログラム状態語(12,22)に示される。プ
ログラム状態語はまた実行中の命令のアドレスを示す。
また、主記憶装置上には、情報格納領域31や、処理装
置で実行される処理32〜35が置かれている。
置で実行される処理32〜35が置かれている。
なお、これら複数の処理装置10.20・・・(本実施
例では2個)は、図示しないシステムコントローラによ
って、共存の記憶装置30にアクセスされるようになっ
ている。
例では2個)は、図示しないシステムコントローラによ
って、共存の記憶装置30にアクセスされるようになっ
ている。
第1図(alにより、動作の概要を説明する。
まず最初の状況として、処理装置(IPO)10中の命
令実行部11は主記憶装置30上におがれた処理A(4
0)(命令aH41)、命令a2(42)、等で構成さ
れる)を実行し、処理装置(IPI)20中の命令実行
部21は主記憶装置3o上におがれた処理B(50)(
命令b1(51)、命令b2(52)、命令b3(53
)、等で構成される)を実行している。処理装置10が
処理A40を実行中に、命令a3(71)で障害が発生
したとすると、処理装置1oは、自分の状態情報を主記
憶装置30上の領域31に退避(格納)する(81)と
ともに、障害発生の事実を正常な処理装置20に通知(
連絡)する(82)。この退避と通知は、処理装置、も
しくは回復用の制御装置(図示せず)により行われる。
令実行部11は主記憶装置30上におがれた処理A(4
0)(命令aH41)、命令a2(42)、等で構成さ
れる)を実行し、処理装置(IPI)20中の命令実行
部21は主記憶装置3o上におがれた処理B(50)(
命令b1(51)、命令b2(52)、命令b3(53
)、等で構成される)を実行している。処理装置10が
処理A40を実行中に、命令a3(71)で障害が発生
したとすると、処理装置1oは、自分の状態情報を主記
憶装置30上の領域31に退避(格納)する(81)と
ともに、障害発生の事実を正常な処理装置20に通知(
連絡)する(82)。この退避と通知は、処理装置、も
しくは回復用の制御装置(図示せず)により行われる。
そこで、処理装置20は、通知を受は付けた時点で、実
行中であった処理Bの実行を中断し、この中断の状態(
命令b2(52)まで実行)を退避(格納)する(この
中断状態の退避は図示せず)。次いで、処理装置(IP
ONOの状態情報を取り出しく83)、仮想処理装置実
行制御/支援処理(60)によって、仮想処理装置23
を作成する。そして、この作成した仮想処理装置23を
用いた仮想IP実行処理(70)により、実行できなか
った命令a3(71)を含め、処理Aの残りの部分(命
令a4(72)など)を実行する。
行中であった処理Bの実行を中断し、この中断の状態(
命令b2(52)まで実行)を退避(格納)する(この
中断状態の退避は図示せず)。次いで、処理装置(IP
ONOの状態情報を取り出しく83)、仮想処理装置実
行制御/支援処理(60)によって、仮想処理装置23
を作成する。そして、この作成した仮想処理装置23を
用いた仮想IP実行処理(70)により、実行できなか
った命令a3(71)を含め、処理Aの残りの部分(命
令a4(72)など)を実行する。
第1図山)は本発明における仮想化方式の一実施例の動
作の流れを示す説明図である。第1図(b)により、本
実施例の動作をさらに詳しく説明する。
作の流れを示す説明図である。第1図(b)により、本
実施例の動作をさらに詳しく説明する。
同図において、101 、102は処理装置(IP)0
において実行される処理を示し、104は障害の事実の
報告を示し、103〜119はすべて処理装置(IP)
1において実行される処理を示す。また、点線の部分が
仮想処理装置の実行に関連する処理を示し、121は仮
想処理装置の実行の制御処理(以後、仮想IP実行制御
処理と呼ぶ)、122は仮想処理装置の実行(以後、仮
想IP実行と呼ぶ)、123は仮想処理装置の実行を支
援する処理(以後、仮想IP実行支援処理と呼ぶ)を示
す。
において実行される処理を示し、104は障害の事実の
報告を示し、103〜119はすべて処理装置(IP)
1において実行される処理を示す。また、点線の部分が
仮想処理装置の実行に関連する処理を示し、121は仮
想処理装置の実行の制御処理(以後、仮想IP実行制御
処理と呼ぶ)、122は仮想処理装置の実行(以後、仮
想IP実行と呼ぶ)、123は仮想処理装置の実行を支
援する処理(以後、仮想IP実行支援処理と呼ぶ)を示
す。
いま、処理装置IPOにおいて一連の処理Aが実行中(
101)であり、処理Aの中で命令aの実行中(102
)に障害(×印)が発生したとする。
101)であり、処理Aの中で命令aの実行中(102
)に障害(×印)が発生したとする。
また、正常な処理装置IPIにおいては処理Bが実行中
(103)である。本実施例では、処理Aは障害発生時
点では処理の流れに不都合を発生することなく中断する
とは不可能(以後、単に中断不可能と呼ぶ)であり、処
理Bは処理の流れに不都合を発生することなく中断可能
(以後、単に中断可能と呼ぶ)とする。IPOにおいて
障害が発生した事実はIPIに処理Bの実行中に割り込
みによって報告される( 104 )。IPIは、障害
の報告を受は取った後、処理Bの中断処理(105)を
行なう。次いで、仮想IP実行制御処理によって(12
1) 、仮想IP実行のための準備処理(仮想IP現実
のための環境の作成)を行なう(106)。
(103)である。本実施例では、処理Aは障害発生時
点では処理の流れに不都合を発生することなく中断する
とは不可能(以後、単に中断不可能と呼ぶ)であり、処
理Bは処理の流れに不都合を発生することなく中断可能
(以後、単に中断可能と呼ぶ)とする。IPOにおいて
障害が発生した事実はIPIに処理Bの実行中に割り込
みによって報告される( 104 )。IPIは、障害
の報告を受は取った後、処理Bの中断処理(105)を
行なう。次いで、仮想IP実行制御処理によって(12
1) 、仮想IP実行のための準備処理(仮想IP現実
のための環境の作成)を行なう(106)。
この準備処理の詳細は後述する。仮想IP実行の準備が
整うと、仮想IP実行時間が決められ、仮想IPの実行
が開始される( 122 )。仮想IPの実行では、ま
ず最初に障害発生時点で実行中であり、終了していない
命令aの実行が行われる(107)。
整うと、仮想IP実行時間が決められ、仮想IPの実行
が開始される( 122 )。仮想IPの実行では、ま
ず最初に障害発生時点で実行中であり、終了していない
命令aの実行が行われる(107)。
その後、処理Aの続きが継続実行される( 108 )
。
。
処理Aの実行中に、仮想IP実行では直接実行できない
命令b(例えば、前述のように仮想IP実行がプラブレ
ムモードのとき、命令すがSPv命令であると、これ鬼
は直接実行できない)が実行された場合(109)には
、仮想IP実行支援処理が起動され(123) 、命令
すのシミュレーション処理を行なう(110”) 、こ
れにより、IPIがら見れば、命令すは一応実行された
ことになる。仮想IP実行で直接実行できない命令の例
としては、5ICP命令(SIGNAL PROCE
SSOR命令。スーパバイザ命令SP■の一種で、IP
間の通知等に用いられる)などがあげられる、命令すの
シミュレーションが終了すると、再び処理Aが継続実行
される( 111 ) 、仮想IP実行の時間は、ある
一定の値を前もって設定しておくが(106) 、その
設定時間が経過すると、仮想IPの実行は一時中断され
る( 121 、112 ”)。この中断した状態は、
他のタスクと同じ様に、時分割処理のため、一時退避格
納保存され、制御はディスパッチャに渡る( 113
)。ディスパッチャはいかなる処理をディスバッチして
も良いが、本例ではIP1が以前に行っていた処理Bを
ディスバッチすることとする( 114 ”)。処理B
はあらがじめ設定された時間だけ実行され、再びディス
パッチャに制御が渡る( 115 )。次にディスパッ
チャは仮想IP実行を再開するとする( 116 、1
21 )。まず、仮想IP実行制御処理が行われ、仮想
IP実行のための時間が設定される。引き続いて処理A
が継続実行される( 117 ) 、この処理Aの実行
において、例えばLPSW命令(LOAD PROG
RAM 5TATUS WORD(プログラム状態
語)命令。プログラム状態語は、プログラム実行時のプ
ロセッサの状態を規定する。割込みの可否や、SP■、
FRBモードの区別を示す)などの処理状態を変更する
命令によって処理Aの処理状態がかわり、中断可能とな
ったとすると、その時点で処理Aの処理は中断され、仮
想IP実行制御処理に制御が渡る( 118 )。中断
可能状態の判断は、ソフトウェアでは、処理の状態変更
命令がスーパバイザモードのみで可能なことから、仮、
ff1iP実行をブラブレムモードとして実行すること
で可能であり、また、特定の命令を検出し、その実行を
似て中断可能状態とするハードウェア機能を用いること
も可能である。仮想IP実行制御では、処理Aの中断状
態を、仮想IP上ではなく、処理装置IPI上で直接実
行できるように退避格納し、仮想IP実行を終了し、デ
ィスパッチャに制御を渡す(119)。
命令b(例えば、前述のように仮想IP実行がプラブレ
ムモードのとき、命令すがSPv命令であると、これ鬼
は直接実行できない)が実行された場合(109)には
、仮想IP実行支援処理が起動され(123) 、命令
すのシミュレーション処理を行なう(110”) 、こ
れにより、IPIがら見れば、命令すは一応実行された
ことになる。仮想IP実行で直接実行できない命令の例
としては、5ICP命令(SIGNAL PROCE
SSOR命令。スーパバイザ命令SP■の一種で、IP
間の通知等に用いられる)などがあげられる、命令すの
シミュレーションが終了すると、再び処理Aが継続実行
される( 111 ) 、仮想IP実行の時間は、ある
一定の値を前もって設定しておくが(106) 、その
設定時間が経過すると、仮想IPの実行は一時中断され
る( 121 、112 ”)。この中断した状態は、
他のタスクと同じ様に、時分割処理のため、一時退避格
納保存され、制御はディスパッチャに渡る( 113
)。ディスパッチャはいかなる処理をディスバッチして
も良いが、本例ではIP1が以前に行っていた処理Bを
ディスバッチすることとする( 114 ”)。処理B
はあらがじめ設定された時間だけ実行され、再びディス
パッチャに制御が渡る( 115 )。次にディスパッ
チャは仮想IP実行を再開するとする( 116 、1
21 )。まず、仮想IP実行制御処理が行われ、仮想
IP実行のための時間が設定される。引き続いて処理A
が継続実行される( 117 ) 、この処理Aの実行
において、例えばLPSW命令(LOAD PROG
RAM 5TATUS WORD(プログラム状態
語)命令。プログラム状態語は、プログラム実行時のプ
ロセッサの状態を規定する。割込みの可否や、SP■、
FRBモードの区別を示す)などの処理状態を変更する
命令によって処理Aの処理状態がかわり、中断可能とな
ったとすると、その時点で処理Aの処理は中断され、仮
想IP実行制御処理に制御が渡る( 118 )。中断
可能状態の判断は、ソフトウェアでは、処理の状態変更
命令がスーパバイザモードのみで可能なことから、仮、
ff1iP実行をブラブレムモードとして実行すること
で可能であり、また、特定の命令を検出し、その実行を
似て中断可能状態とするハードウェア機能を用いること
も可能である。仮想IP実行制御では、処理Aの中断状
態を、仮想IP上ではなく、処理装置IPI上で直接実
行できるように退避格納し、仮想IP実行を終了し、デ
ィスパッチャに制御を渡す(119)。
第4図に仮想IP実行のための環境を定義する処理装置
制御テーブルの実施例を示す。図において、401は主
記憶装置、402は各処理装置間で共通して利用する記
憶領域、403a、bは各処理装置が専用に使用する記
憶領域(例えばブリフィックスト・セーブ・エリアPS
A )である。後者は各処理装置個別のブリフィックス
変換(マルチプロセッサを現実するアドレス変換の一手
法)と呼ばれるアドレス変換によって、各処理装置の0
番地から始まる領域に写像される。ブリフィックス変換
の詳細は、例えば日立マニュアル[Mシリーズ処理装置
」等を参照されたい。図において、404は仮想IP実
行のための環境を定義する処理装置制御テーブル、40
5は障害発生処理装置が障害発生時点での情報を格納す
る障害状態情報記憶領域である。この領域405には、
障害発生時点のプログラム状態語、各種タイマ値、すべ
てのレジスタの値、及び障害発生部位を特定するための
情報等が格納される。なお、第1図(a)の主記憶装置
30は、第4図の共通記憶領域402に対応し、エリア
31は、(便宜上共通記憶領域に描かれているが)第4
図のエリア405に対応し、仮想処理装置21の記憶部
は第4図の404にほぼ対応している。第4図のエリア
403a、 403bは、第1図(a)では省略してい
る。
制御テーブルの実施例を示す。図において、401は主
記憶装置、402は各処理装置間で共通して利用する記
憶領域、403a、bは各処理装置が専用に使用する記
憶領域(例えばブリフィックスト・セーブ・エリアPS
A )である。後者は各処理装置個別のブリフィックス
変換(マルチプロセッサを現実するアドレス変換の一手
法)と呼ばれるアドレス変換によって、各処理装置の0
番地から始まる領域に写像される。ブリフィックス変換
の詳細は、例えば日立マニュアル[Mシリーズ処理装置
」等を参照されたい。図において、404は仮想IP実
行のための環境を定義する処理装置制御テーブル、40
5は障害発生処理装置が障害発生時点での情報を格納す
る障害状態情報記憶領域である。この領域405には、
障害発生時点のプログラム状態語、各種タイマ値、すべ
てのレジスタの値、及び障害発生部位を特定するための
情報等が格納される。なお、第1図(a)の主記憶装置
30は、第4図の共通記憶領域402に対応し、エリア
31は、(便宜上共通記憶領域に描かれているが)第4
図のエリア405に対応し、仮想処理装置21の記憶部
は第4図の404にほぼ対応している。第4図のエリア
403a、 403bは、第1図(a)では省略してい
る。
処理装置制御テーブル404は、これらの情報から、プ
ログラム状態語、各種タイマ値、すべてのレジスタの値
を複写し、さらに障害を発生した処理装置の番号を格納
して作成する。先に述べた仮想【P実行支援処理123
は、この処理装置制御チーフル404を参照して、仮想
IP実行のための命令シミュレーションを行なう。仮想
IP実行支援処理の詳細は後述する。さらに、仮想IP
実行が、命令シミュレーションのため、設定時間経過の
ため、または中断可能となったために中断される場合に
は、この処理装置制御テーブルに一旦状態情報が格納さ
れ、仮想IP実行での再実行、または実計算機状態での
実行のために利用される。
ログラム状態語、各種タイマ値、すべてのレジスタの値
を複写し、さらに障害を発生した処理装置の番号を格納
して作成する。先に述べた仮想【P実行支援処理123
は、この処理装置制御チーフル404を参照して、仮想
IP実行のための命令シミュレーションを行なう。仮想
IP実行支援処理の詳細は後述する。さらに、仮想IP
実行が、命令シミュレーションのため、設定時間経過の
ため、または中断可能となったために中断される場合に
は、この処理装置制御テーブルに一旦状態情報が格納さ
れ、仮想IP実行での再実行、または実計算機状態での
実行のために利用される。
第5図ないし第8図は上記仮想rp実行の処理の流れ図
である。第5図は障害の通知をうけた正常な処理装置が
行なう仮想IP実行準備処理500である。この処理5
00は、第1図105に対応する。
である。第5図は障害の通知をうけた正常な処理装置が
行なう仮想IP実行準備処理500である。この処理5
00は、第1図105に対応する。
図において、501〜504は処理内容の記述、505
は処理フロー記述のためのコネクタである。障害発生の
通知を割り込みによって受けた( 501 )処理装置
では、それまで実行していた処理(タスク)の実行状態
を次に継続実行が可能なようにタスクテーブルへ格納す
る( 502 )。次に、障害IPの状態情報を、障害
IPが格納した記憶領域から読みだしく 503 )
、処理装置制御テーブルへ格納しく 504 ) 、仮
想IP実行の準備を行なう。上記処理の完了後、仮想I
P実行制御処理へ制御を渡す。
は処理フロー記述のためのコネクタである。障害発生の
通知を割り込みによって受けた( 501 )処理装置
では、それまで実行していた処理(タスク)の実行状態
を次に継続実行が可能なようにタスクテーブルへ格納す
る( 502 )。次に、障害IPの状態情報を、障害
IPが格納した記憶領域から読みだしく 503 )
、処理装置制御テーブルへ格納しく 504 ) 、仮
想IP実行の準備を行なう。上記処理の完了後、仮想I
P実行制御処理へ制御を渡す。
第6図(a)、(b)は仮想rp実行制御処理600.
610の流れ図である。この処理は、第1図106に対
応する。図において、601 、602 、604は処
理内容の記述、505 、603 、802はコネクタ
である。仮想IP実行制御処理は、仮想IP実行が設定
時間を経過したとき、タイマ割り込みを発生し、仮想I
P実行支援処理に制御を渡すために、仮想IP実行を行
なう時間の設定を行い、その値をタイマに設定する(6
01)。そして、仮想IP実行での仮想IP処理を開始
する( 602 )。処理604に関しては第8図の後
に述べる。
610の流れ図である。この処理は、第1図106に対
応する。図において、601 、602 、604は処
理内容の記述、505 、603 、802はコネクタ
である。仮想IP実行制御処理は、仮想IP実行が設定
時間を経過したとき、タイマ割り込みを発生し、仮想I
P実行支援処理に制御を渡すために、仮想IP実行を行
なう時間の設定を行い、その値をタイマに設定する(6
01)。そして、仮想IP実行での仮想IP処理を開始
する( 602 )。処理604に関しては第8図の後
に述べる。
第7図は仮想IP実行における処理700の説明図であ
る。図において、701 、702 、703は処理内
容の記述、603 、704はコネクタである。通常、
これらの処理はハードウェアによって行われる。
る。図において、701 、702 、703は処理内
容の記述、603 、704はコネクタである。通常、
これらの処理はハードウェアによって行われる。
処理701は命令フェッチである。処理702はフェッ
チした命令が仮想IP実行で実行可能か否かを判別する
部分であり、先に述べたように、仮想rP実行をプラブ
レムモードとする場合には、スーパバイザモードでのみ
実行可能な命令が仮想IP実行で実行不可能な命令とな
る。また、例えば従来技術(特開昭57−212680
号公!!りに示されるようなハードウェア、マイクロプ
ログラムによって制御される特別の実行モードを利用す
ることも可能である。処理703は命令の実行である。
チした命令が仮想IP実行で実行可能か否かを判別する
部分であり、先に述べたように、仮想rP実行をプラブ
レムモードとする場合には、スーパバイザモードでのみ
実行可能な命令が仮想IP実行で実行不可能な命令とな
る。また、例えば従来技術(特開昭57−212680
号公!!りに示されるようなハードウェア、マイクロプ
ログラムによって制御される特別の実行モードを利用す
ることも可能である。処理703は命令の実行である。
命令が仮想IP実行で実行可能な間は、701〜703
の処理が繰り返し行われ、処理が進行する。仮想IP実
行で実行できない命令が現れた場合には、仮想IP実行
支援処理に制御が渡る。
の処理が繰り返し行われ、処理が進行する。仮想IP実
行で実行できない命令が現れた場合には、仮想IP実行
支援処理に制御が渡る。
第8図は仮想IP実行支援処理の流れ800を示した説
明図である。この処理は第1図123に対応する。図に
おいて、801 、803 、804 、805は処理
内容の記述、704 、802 、603はコネクタで
ある。この仮9J!、I P実行支援処理には、仮想I
P実行での直接実行が不可能な命令が現れた場合、仮想
IP実行のために設定された時間が経過した場合に制御
が渡ってくる。本処理では、まずタイマ終了か否かを判
定しく 801 ) 、タイマ終了の場合は仮想IP実
行制御処理へ制御を渡す。タイマ終了でない場合は、実
行中の命令のシミュレーションを行い(803) 、そ
の結果、中断可能となったか否かを判定する(804)
。中断可能でない場合は、再び仮想IP実行を開始する
。中断可能となった場合は、仮想IP実行で実行中の処
理の状態は、実計算機状態での実行を制御するタスクテ
ーブルへの格納が可能となるため、仮想IP実行を続け
る必要はな(、これを終了するために、仮想IP実行で
実行中の処理の状態をタスクテーブルへ格納し、仮想I
P実行を終了する( 805 ’)。タイマ終了の場合
、仮想IP実行を一旦中断し、他のタスクを実行するた
めにディスパッチャへ制御を渡す。その後あらためて仮
想IPの再実行が可能なように、仮想IP実行制御処理
の処理状態をタスクテーブルに格納する(604)。
明図である。この処理は第1図123に対応する。図に
おいて、801 、803 、804 、805は処理
内容の記述、704 、802 、603はコネクタで
ある。この仮9J!、I P実行支援処理には、仮想I
P実行での直接実行が不可能な命令が現れた場合、仮想
IP実行のために設定された時間が経過した場合に制御
が渡ってくる。本処理では、まずタイマ終了か否かを判
定しく 801 ) 、タイマ終了の場合は仮想IP実
行制御処理へ制御を渡す。タイマ終了でない場合は、実
行中の命令のシミュレーションを行い(803) 、そ
の結果、中断可能となったか否かを判定する(804)
。中断可能でない場合は、再び仮想IP実行を開始する
。中断可能となった場合は、仮想IP実行で実行中の処
理の状態は、実計算機状態での実行を制御するタスクテ
ーブルへの格納が可能となるため、仮想IP実行を続け
る必要はな(、これを終了するために、仮想IP実行で
実行中の処理の状態をタスクテーブルへ格納し、仮想I
P実行を終了する( 805 ’)。タイマ終了の場合
、仮想IP実行を一旦中断し、他のタスクを実行するた
めにディスパッチャへ制御を渡す。その後あらためて仮
想IPの再実行が可能なように、仮想IP実行制御処理
の処理状態をタスクテーブルに格納する(604)。
以上、主にソフトウェアによって仮想IP実行を可能と
する一実施例について述べた。なお、仮想IPの実行は
、上記の方法以外にも、専用のハードウェア等を用いて
実現してもよい。その際、仮想IP実行支援処理等の処
理順序が多少異なってもよい。
する一実施例について述べた。なお、仮想IPの実行は
、上記の方法以外にも、専用のハードウェア等を用いて
実現してもよい。その際、仮想IP実行支援処理等の処
理順序が多少異なってもよい。
以上詳しく説明したように、本発明のマルチプロセッサ
システムでは、複数処理装置の一つに障害が発生したと
き、障害発生の通知を受けた正常な処理装置が臨時に仮
想処理装置を作成し、この仮想処理装置上で、障害処理
装置の実行していた処理を引継いで実行するように構成
したので、この仮想処理装置によって、上記正常な処理
装置が本来行なうべき処理と、上記障害処理装置から引
継いだ処理とを、同時に並列的に実行することが可能と
なり、その結果、障害発生時に実行されていた処理がど
のような処理状態にあっても(たとえ、ロック待ち状態
であっても)、不都合やシステム機能停止などの事態が
生じることなく、その代行回復(継続実行)処理を実行
することができる等、優れた効果を奏する。
システムでは、複数処理装置の一つに障害が発生したと
き、障害発生の通知を受けた正常な処理装置が臨時に仮
想処理装置を作成し、この仮想処理装置上で、障害処理
装置の実行していた処理を引継いで実行するように構成
したので、この仮想処理装置によって、上記正常な処理
装置が本来行なうべき処理と、上記障害処理装置から引
継いだ処理とを、同時に並列的に実行することが可能と
なり、その結果、障害発生時に実行されていた処理がど
のような処理状態にあっても(たとえ、ロック待ち状態
であっても)、不都合やシステム機能停止などの事態が
生じることなく、その代行回復(継続実行)処理を実行
することができる等、優れた効果を奏する。
第1図(a)は本発明の処理の実行制御方法の一実施例
を適用したマルチプロセッサシステムの構成の概要を示
すブロック図、第1図(blは本発明における処理の実
行制御方法の一実施例の動作の流れを示す説明図、第2
図および第3図は本発明の解決しようとする問題点を説
明するための処理動作説明図、第4図は仮想IP実行の
ための環境を定義する処理装置制御テーブルの実施例の
説明図、第5図、第6図(a)、(b)、第7図、およ
び第8図は仮想IP実行のための各処理の流れ図である
。 〔符号の説明〕 10、20−・・処理装置(IP)、23・・・仮想的
なIP、30・・・主記憶装置、31・・・IPの状態
情報、101 、102・・・障害発生IPにおける処
理、103〜119・・・仮想IP実行を行なうIPに
おける処理、114・・・障害発生の通知、121・・
・仮想IP実行制御処理、122・・・仮想IP実行、
123・・・仮想IP実行支援処理、201 、206
、301 、306・・・IPにおける通常処理、2
08 、303 、310・・・ロックA確保中の処理
、203゜210 、308・・・ロックA待ち状態、
204 、304・・・障害発生、404・・・処理装
置制御テーブル、405・・・障害状態情報記憶領域、
501〜504 、601 、602 。 604 、701〜703 、801 、803〜80
5・・・仮想IP実行処理内容の記述 代理人 弁理士 弐 顕次部 (外1名)゛、−ユ
第 図 第5図 第 図 第6図 ■イス1l−Jt(ガ’I;’l’;MU)へ第4図 第 図 f荀IP突村更謹 列理800(糖8図)A
を適用したマルチプロセッサシステムの構成の概要を示
すブロック図、第1図(blは本発明における処理の実
行制御方法の一実施例の動作の流れを示す説明図、第2
図および第3図は本発明の解決しようとする問題点を説
明するための処理動作説明図、第4図は仮想IP実行の
ための環境を定義する処理装置制御テーブルの実施例の
説明図、第5図、第6図(a)、(b)、第7図、およ
び第8図は仮想IP実行のための各処理の流れ図である
。 〔符号の説明〕 10、20−・・処理装置(IP)、23・・・仮想的
なIP、30・・・主記憶装置、31・・・IPの状態
情報、101 、102・・・障害発生IPにおける処
理、103〜119・・・仮想IP実行を行なうIPに
おける処理、114・・・障害発生の通知、121・・
・仮想IP実行制御処理、122・・・仮想IP実行、
123・・・仮想IP実行支援処理、201 、206
、301 、306・・・IPにおける通常処理、2
08 、303 、310・・・ロックA確保中の処理
、203゜210 、308・・・ロックA待ち状態、
204 、304・・・障害発生、404・・・処理装
置制御テーブル、405・・・障害状態情報記憶領域、
501〜504 、601 、602 。 604 、701〜703 、801 、803〜80
5・・・仮想IP実行処理内容の記述 代理人 弁理士 弐 顕次部 (外1名)゛、−ユ
第 図 第5図 第 図 第6図 ■イス1l−Jt(ガ’I;’l’;MU)へ第4図 第 図 f荀IP突村更謹 列理800(糖8図)A
Claims (1)
- 【特許請求の範囲】 1、複数の処理装置と、該複数の処理装置により共有さ
れる主記憶装置と、前記処理装置の一つにおいて実行し
ていた処理の継続実行が不可能となつた時、その事実を
他の動作中の処理装置の少なくとも一つに通知する手段
とを有するマルチプロセッサシステムにおいて、前記通
知を受けた処理装置が、前記処理の継続実行が不可能と
なつた処理装置の処理実行中断時の状態を表す値を用い
て、前記処理の継続実行が不可能となつた処理装置にお
いて実行が中断された処理を継続実行することを特徴と
する処理の実行制御方法。 2、前記処理実行中断時の処理装置の状態を表す値を用
いて、処理の継続実行を行なう際、仮想計算機システム
の一構成要素である仮想処理装置を用いることを特徴と
する請求項1記載の処理の実行制御方法。 3、前記仮想計算機システムの一構成要素である仮想処
理装置を用いる際、仮想計算機システムの一構成要素で
ある仮想処理装置を生成し、その実行を制御する処理は
、通常の計算処理における一つの処理として実行される
ことを特徴とする請求項1又は請求項2記載の処理の実
行制御方法。 4、前記仮想計算機システムの一構成要素である仮想処
理装置を用いる際、仮想計算機システムの一構成要素で
ある仮想処理装置を生成し、その実行を制御する処理は
、処理の継続実行が必要な間だけ実行されることを特徴
とする請求項1ないし請求項3のいずれか一つに記載の
処理の実行制御方法。 5、前記継続実行される処理の実行時間をタイマによつ
て設定することを特徴とする請求項1記載の処理の実行
制御方法。 6、前記処理の継続実行において、前記通知を受けた処
理装置が、実行していた処理を一時中断し、継続実行す
べき仮想処理装置による処理と、前記通知を受けた処理
装置上で継続実行のために一時的に中断された処理とを
、時分割的に実行する事を特徴とする請求項1又は請求
項2記載の処理の実行制御方法。 7、前記仮想処理装置による処理の継続実行において、
直接実行することができない命令が発行された場合、該
命令のシミュレーション処理を行なう事を特徴とする請
求項1又は請求項2記載の処理の実行制御方法。 8、前記仮想処理装置上で継続実行される、障害発生処
理装置の行なうべき処理が終了した時、前記仮想処理装
置を解消することを特徴とする請求項1又は請求項2記
載の処理の実行制御方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8567889A JP2823230B2 (ja) | 1989-04-06 | 1989-04-06 | 処理の継続実行方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP8567889A JP2823230B2 (ja) | 1989-04-06 | 1989-04-06 | 処理の継続実行方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH02266457A true JPH02266457A (ja) | 1990-10-31 |
| JP2823230B2 JP2823230B2 (ja) | 1998-11-11 |
Family
ID=13865496
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP8567889A Expired - Lifetime JP2823230B2 (ja) | 1989-04-06 | 1989-04-06 | 処理の継続実行方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2823230B2 (ja) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH10283210A (ja) * | 1997-04-01 | 1998-10-23 | Hitachi Ltd | 仮想計算機システム間の仮想計算機移動制御方式 |
| US5983359A (en) * | 1996-03-18 | 1999-11-09 | Hitachi, Ltd. | Processor fault recovering method for information processing system |
| JP2003296133A (ja) * | 2002-04-05 | 2003-10-17 | Fuji Electric Co Ltd | コントローラ |
| US6691250B1 (en) * | 2000-06-29 | 2004-02-10 | Cisco Technology, Inc. | Fault handling process for enabling recovery, diagnosis, and self-testing of computer systems |
| JP2009145931A (ja) * | 2007-12-11 | 2009-07-02 | Hitachi Ltd | 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム |
| JP2010176602A (ja) * | 2009-02-02 | 2010-08-12 | Nec Corp | 二重化処理装置、二重化処理システム、方法及びプログラム |
-
1989
- 1989-04-06 JP JP8567889A patent/JP2823230B2/ja not_active Expired - Lifetime
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5983359A (en) * | 1996-03-18 | 1999-11-09 | Hitachi, Ltd. | Processor fault recovering method for information processing system |
| JPH10283210A (ja) * | 1997-04-01 | 1998-10-23 | Hitachi Ltd | 仮想計算機システム間の仮想計算機移動制御方式 |
| US6691250B1 (en) * | 2000-06-29 | 2004-02-10 | Cisco Technology, Inc. | Fault handling process for enabling recovery, diagnosis, and self-testing of computer systems |
| JP2003296133A (ja) * | 2002-04-05 | 2003-10-17 | Fuji Electric Co Ltd | コントローラ |
| JP2009145931A (ja) * | 2007-12-11 | 2009-07-02 | Hitachi Ltd | 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム |
| JP2010176602A (ja) * | 2009-02-02 | 2010-08-12 | Nec Corp | 二重化処理装置、二重化処理システム、方法及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2823230B2 (ja) | 1998-11-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP2505928B2 (ja) | フォ―ルト・トレラント・システムのためのチェックポイント機構 | |
| US5815651A (en) | Method and apparatus for CPU failure recovery in symmetric multi-processing systems | |
| JP2552651B2 (ja) | 再構成可能なデュアル・プロセッサ・システム | |
| JP3196004B2 (ja) | 障害回復処理方法 | |
| US5157663A (en) | Fault tolerant computer system | |
| JP2765411B2 (ja) | 仮想計算機方式 | |
| JPH0812618B2 (ja) | 再試行及びチェックポイント設定によるエラー回復装置及び方法 | |
| JPH07117903B2 (ja) | 障害回復方法 | |
| JPH02171934A (ja) | 仮想計算機システム | |
| JPH079625B2 (ja) | フォールトトレラントな能力を備えたコンピュータ | |
| JPH02266457A (ja) | 処理の継続実行方法 | |
| JPH07141176A (ja) | コマンドリトライ制御方式 | |
| JP3332098B2 (ja) | 二重化プロセッサ装置 | |
| JPH10116261A (ja) | 並列計算機システムのチェックポイントリスタート方法 | |
| JP3536293B2 (ja) | 二重化コンピュータ装置 | |
| JPH05314075A (ja) | オンラインコンピュータ装置 | |
| JPH07109592B2 (ja) | Cpu―io並列動作シミュレーション方法 | |
| JPS6128141B2 (ja) | ||
| JP2730209B2 (ja) | 入出力制御方式 | |
| JPH0293953A (ja) | 二重化情報処理装置 | |
| JPS62212865A (ja) | マルチプロセツサ制御方式 | |
| JPH0452759A (ja) | ベクトル命令多重処理方式 | |
| JPH08235133A (ja) | 多重処理システム | |
| JP2659410B2 (ja) | データフローコンピュータの実行一時停止方式 | |
| JPS62290942A (ja) | デバツガ起動方式 |