JP2823230B2 - 処理の継続実行方法 - Google Patents

処理の継続実行方法

Info

Publication number
JP2823230B2
JP2823230B2 JP8567889A JP8567889A JP2823230B2 JP 2823230 B2 JP2823230 B2 JP 2823230B2 JP 8567889 A JP8567889 A JP 8567889A JP 8567889 A JP8567889 A JP 8567889A JP 2823230 B2 JP2823230 B2 JP 2823230B2
Authority
JP
Japan
Prior art keywords
processing
virtual
processing device
execution
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.)
Expired - Lifetime
Application number
JP8567889A
Other languages
English (en)
Other versions
JPH02266457A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP8567889A priority Critical patent/JP2823230B2/ja
Publication of JPH02266457A publication Critical patent/JPH02266457A/ja
Application granted granted Critical
Publication of JP2823230B2 publication Critical patent/JP2823230B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本考案は、複数の処理装置が主記憶装置を共有する形
のマルチプロセツサシステムにおいて、一つの処理装置
が障害の発生等により処理の実行が継続できない場合
に、その処理装置上で実行されていた処理を、その処理
の種類、処理状態の如何にもかかわらず、正常に継続実
行可能とする方法を提供する処理の実行制御方法に関す
る。
〔従来の技術〕
近年、計算機システムが普及し、各種のオンラインシ
ステムや、VAN等が高度化し、システムの高信頼化に対
する要求が高まつてきている。また、計算機システムの
能力に対する増大する要求に対処するため、計算機シス
テムのマルチプロセツサ化が進んでいる。複数の処理装
置が主記憶装置を共有する形のマルチプロセツサ(密結
合マルチプロセツサと称する)では、システムを構成す
る複数の処理装置の中の一つが故障しても、他の正常な
処理装置で故障によつて中断さた処理を引継ぐことによ
り、システム全体として処理を継続することが可能であ
る。この方式に関しては、従来よりいくつかの技術が提
案されている(特公昭47−36181号公報、特公昭61−565
37号公報、特開昭58−5856号公報、特願昭62−29565号
等参照)。
従来の技術では、障害を発生した処理装置の障害発生
時点の状態、及び障害を発生した処理装置の論理装置番
号等の情報を、障害を発生した処理装置、正常な処理装
置、または回復制御装置等の動作により、記憶装置等に
格納し、または直接正常な処理装置に転送し、正常な処
理装置がその情報を用いて障害を発生した処理装置上で
中断された処理を肩代わりして再実行するというこので
ある。しかしいずれも、通知された若しくは人手した情
報をもとにした処理の回復は一時的なものであり、障害
発生時点で実行中であつた処理の一つの動作、例えば一
つの命令や割り込み処理などを再実行し、正常に終了さ
せることが目的であつた。一方、従来の仮想計算機方式
(特開昭57−212680号公報など)では、システム全体を
仮想計算機システムとして運用することが目的であり、
実計算機状態の処理との同時的な運用、実計算機状態と
の間の動的な移行などは考慮していない。
〔発明が解決しようとする課題〕
従来の技術では、処理発生等による処理実行中断時点
で当該処理装置が実行中だつた処理の一つの動作、例え
ば一つの命令や割り込み処理などを他の正常な処理装置
が肩代わりて再実行し、正常に終了させることは可能で
あるが、実行されていた処理を、他の処理装置上で実行
されていた処理と関連した処理全体の流れとしてみた場
合、例えばロツク待ち(ロツクが確保できるまで待つ)
処理等の場合に、障害等により中断された処理を他の正
常な処理装置により肩代わり継続実行することができな
い場合が発生する。即ち、処理の継続実行方法には、
(1)障害発生等により中断された処理に関し、その処
理の状態の如何にかかわらず、中断された一つの命令の
み、もしくは中断された一つの動作のみを肩代わりして
回復する方法と、(2)中断された処理を、中断された
命令から再開始し、中断された命令だけでなく、その後
の一連の中断不可の命令群を含めて肩代わりし、ロツク
待ち、ロツク確保中以外等の中断可能な特定の状態とな
るまで実行する方法とがあるが、このどちらの方法で
も、従来技術ではすべての場合に処理を正常に継続実行
することは不可能である。この事実を第2図及び第3図
を用い、方法(1)では第2図の場合は問題ないが、第
3図の場合に問題が生じ、方法(2)では第3図の場合
は問題ないが、第2図の場合に問題が生じることを説明
する。
第2図は、2台の処理装置(IP)における処理の流れ
を示した説明図である。図において、201、206は処理装
置(IP0またはIP1)の通常の命令処理を、207はロツク
A確保成功の事実を、202はロツクA確保失敗の事実
を、208はロツクAを確保した状態での一連の命令処理
を、203はロツクA待ちの状態を、210は203を肩代わり
したロツクA待ちの状態を、204は障害発生等による処
理実行中断の事実を示す。また、205はIP0の処理実行中
断の事実がIP1に通知されたことを示し、209はその事実
が受け取られた時点を示す。第2図は、IP1がまず主記
憶装置のある領域に対するロツクAを確保し(207)、
そのため、次にIP0がこれと同一の記憶領域に対するロ
ツクAの確保に失敗した後(202,203)、IP0に障害発生
等による処理実行中断(204)が発生した場合を示して
いる。この処理実行中断発生の事実は、発生後すぐにIP
1に通知される(205)とする。いま、上記(1)の方法
を考えると、IP0において中断された処理(ロツクA待
ち203)を再実行(210)するIP1の処理は、中断された
一つの命令、あるいは一つの処理を肩代わりして再実行
するのみであり、それらが正常に終了した場合には、IP
1本来の処理(208)を継続することとすると、処理(20
8)がロツクAを解放した後、IP0で中断していた処理
(203)を継続実行することができる。しかし、上記
(2)の方法では、中断可能な特定の状態としてロツク
待ち状態以外の状態(例えば、互いに切り離すことので
きない、一連の、いくつかの命令処理が終了したとき)
を考えると、IP1において再実行された処理(ロツク待
ち203)は、終了せず、いつまでもロツク待ち状態が続
く自縛り状態となるため、システムの機能は停止してし
まう。
第3図も、2台の処理装置(IP)における処理の流れ
を示した説明図である。図において、301、306は処理装
置(IP0またはIP1)の通常の命令処理を、302はロツク
A確保成功の事実を、307はロツクA確保失敗の事実
を、311はロツクA解放の事実を、303、310はロツクA
を確保した状態での命令処理を、308はロツクA待ちの
状態を、304は障害発生等による処理実行中断の事実を
示す。また、305はIP0の処理実行中断の事実がIP1に通
知されたことを示し、309はその事実が受け取られた時
点を示す。第3図は、IP0がまず主記憶装置のある領域
に対するロツクAを確保し(302)、次にIP1がこれと同
一の記憶領域に対するロツクAの確保に失敗した後(30
7、308)IP0に障害等による処理実行中断(304)が発生
した場合を示している。この処理実行中断発生の事実
は、発生後すぐにIP1に通知される(305)とする。い
ま、上記(1)の方法を考えると、IP0において中断さ
れた処理(303)を再実行するIP1の処理(310)は、一
連の処理(303)のうちの中断された一つの命令、ある
いは一つの処理のみを再実行するのみであり、それらが
正常に終了した場合には、IP1本来の処理(308)を継続
することとすると、このようにIP1が一つの命令を肩代
わりしただけではIP0の本来の処理(303)の全部が終つ
たわけではないので、肩代わり実行においてIP0がロツ
クAを解放する可能性はきわめい低く、IP1のロツク待
ち処理(308)は終了しないから、何時迄もロツク待ち
状態が続く自縛り状態となるため、システムの処理は停
止してしまう。しかし、上記(2)の方法では、中断可
能な特定の状態としてロツク確保中状態以外の状態を考
えると、IP1において再実行された処理(310、これはIP
0の処理(303)を引継いだものである)はロツクAの解
放(311)をもつて終了し、その後、IP1の処理(308)
を継続実行する(例えば、311により解放されたエリア
に対し、今度はIP1自身の処理としてロツクAを取り直
し、本来のIP1の処理を実行する)ことが可能である。
この2例では、IP0における処理実行中断発生の事実
はIP1の処理状態の如何にかかわらず直ちにIP1に通知さ
れることとしたが、IP1の処理状態が前述の特定の状態
(一段落した状態)、例えば入出力割り込み、及び外部
割り込みが可能な状態となつた時に割り込み通知される
としてもよい。この場合でも、上記と同様の議論によ
り、中断された処理をすべて継続実行することは不可能
である。
このように、従来技術では、障害により中断された処
理を、処理の種類、状況のすべての場合において継続実
行することはできない。
従つて、本発明の目的は、この中断された処理を、処
理の種類、状況に如何によらず継続実行することにあ
る。
〔課題を解決するための手段〕
上記問題点を克服するため、本発明は、処理実行中断
の通知を受けた正常な処理装置が、処理実行を中断した
処理装置の中断時点の状態を示す値、即ちプログラム状
態語、レジスタ値、タイマ値を用いて、仮想計算機シス
テムの一構成要素である仮想処理装置を作成し、この仮
想処理装置の実行環境を用いた中断された処理の実行
と、通知を受けた処理装置において本来実行されていた
処理とを時分割的に実行する。
〔作用〕
上記方法の作用を説明する。
処理実行を中断した処理装置の状態、即ちプログラム
状態語、レジスタ値、タイマ値が他の正常な処理装置に
通知されると、正常な処理装置は、ソフトウエアあるい
はハードアエアもしくはその両者の手段によつて仮想計
算機システムの一構成要素である仮想処理装置を作成
し、その実行環境定義情報の中に通知された処理実行を
中断した処理装置の状態情報の内容を設定し、実行中断
された処理の継続実行を開始可能にする。作成された仮
想処理装置は、正常な処理装置の上で、一つのジヨブ、
もしくはタスクとして実行される。
一般に、仮想計算機システムによつて、一台の物理的
な計算機(実の処理装置)上に、複数台の仮想計算機
(仮想の処理装置)を作成し、各仮想計算機を別々のOS
で動作させることができる。この場合、物理的な(実
の)計算機としては、上記複数のOSのそれぞれの命令の
処理や仮想計算機制御プログラムの処理は時分割的に実
行されるものであつても、論理的な(仮想的な)計算機
としてみれば、各OSの命令の処理は他のOSの処理や仮想
計算機制御プログラムの処理と平行して並列的に実行さ
れるといえる。本発明では、このような仮想処理装置に
よる命令の処理が他の処理と同時的並列的に実行される
機能に着目して、上記従来技術の問題点である中断され
た処理の継続実行ができなくなることを防止している。
即ち、本発明によれば、障害等により中断された処理
がどのような状態のものであつても、(該処理の種類や
処理状態の如何にかかわらず)処理実行中断時に作成し
た仮想的処理装置において、通知を受けた正常な処理装
置が本来行つている処理動作と平行して、上記障害によ
り中断された処理を肩代わり実行し、中断した処理を継
続実行(回復)することができる。このような論理上の
同時処理機能は、上記のように、実行機能が一つしかな
い物理的な処理装置に、例えば時分割等の方法をとり入
れることで実現すればよい。
一般に、処理装置の処理モードには、全ての命令の実
行が可能なスーパバイザモードと、一部の命令の実行の
み可能なプラブレムモードの二つの処理モードがある。
状態がスーパバイザモードなら、SPV(スーパバイザ)
命令と呼ばれる特権命令、PRB(プラブレム)命令と呼
ばれる一般命令、いずれも使えるが、状態がプラブレム
モードなら、SPV命令は使えない。従つて、仮想処理装
置がプラブレムモードで実行された場合、SPV命令は使
えない。このような時には、仮想計算機システムにおけ
る場合と同じ考え方によつて、仮想処理装置(仮想IP)
実行支援処理によつてSPV命令のシミユレーシヨン処理
を行い、命令があたかも実行されたように見せかける。
また、本発明の特徴として、このような仮想処理装置
は、処理の実行中断が発生したときだけ一時的に(臨時
に)作成され、中断された処理の継続実行(回復)処理
が終れば消滅する。
〔実施例〕
以下、図面を用いて本発明の一実施例を示す。本実施
例では、主に、上記(2)の方法で、第2図の場合にお
ける問題の解決法を示したものである。本実施例中の命
令、割り込み等の詳細は、例えば日立マニユアル「Mシ
リーズ処理装置」等を参照されたい。本実施例では、処
理装置が障害等を発生し処理の実行が中断された事実は
割り込みによつて正常な処理装置に報告されることと
し、また、仮想処理装置の実行は、正常な処理装置によ
つて継続された処理が、処理の流れに不都合を発生する
ことなく中断可能なつた時点で(例えば、入出力割込み
と外部割込みが共に可能になつたとき)終了することと
する。この理由は、一般に、実行の途中における中断を
許さない処理、即ち中断すると処理上の不都合(例えば
無限ループ、割り込み禁止ウエイト、デツドロツクな
ど)を発生する処理は、外部割り込み、入出力割り込み
等による中断、CPUの変更を防止するため、外部割り込
み、入出力割り込み不可状態で走行するからである。従
つて、逆に処理が割り込みを許可すれば、それは中断さ
れても不都合を発生しないという指標であると見なすこ
とができ、ある処理が割り込みを許可する状態であれ
ば、全体の処理に不都合を生じることなくその処理を一
旦中断し、後に他の処理装置上ででも再実行することが
可能となる。即ち、仮想処理装置上での処理の実行を終
了した後、障害を発生した処理装置を切り離した処理装
置の一台少ない状態で、すべての処理を再開始すること
が可能となる。本実施例では、処理の流れに不都合を発
生することなく中断可能となる場合として、処理が入出
力割り込みおよび外部割り込み可能な状態となつた時点
を考える。
第1図(a)は、本発明の実行制御方法の一実施例の
適用されるマルチプロセツサシステムの構成の概要を示
すブロツク図である。
第1図(a)において、10は処理装置IP0、20は処理
装置IP1、30は主記憶装置(処理装置10,20、…に共有の
領域)である。処理装置(10,20)には命令実行部(11,
21)があり、その実行状態はプログラム状態語(12,2
2)に示される。プログラム状態語はまた実行中の命令
のアドレスを示す。また、主記憶装置上には、情報格納
領域31や、処理装置で実行される処理32〜35が置かれて
いる。なお、これら複数の処理装置10、20…(本実施例
では2個)は、図示しないシステムコントローラによつ
て、共有の記憶装置30にアクセスされるようになつてい
る。
第1図(a)により、動作の概要を説明する。
まず最初の状況として、処理装置(IP0)10中の命令
実行部11は主記憶装置30上におかれた処理A(40)(命
令a1(41)、命令a2(42)、等で構成される)を実行
し、処理装置(IP1)20中の命令実行部21は主記憶装置3
0上におかれた処理B(50)(命令b1(51)、命令b2(5
2)、命令B3(53)、等で構成される)を実行してい
る。処理装置10が処理A40を実行中に、命令a3(71)で
障害が発生したとすると、処理装置10は、自分の状態情
報を主記憶装置30上の領域31に退避(格納)する(81)
とともに、障害発生の事実を正常な処理装置20に通知
(連絡)する(82)。この退避と通知は、処理装置、も
しくは回復用の制御装置(図示せず)により行われる。
そこで、処理装置20は、通知を受け付けた時点で、実行
中であつた処理Bの実行を中断し、この中断の状態(命
令b2(52)まで実行)を退避(格納)する(この中断状
態の退避は図示せず)。次いで、処理装置(IP0)10の
状態情報を取り出し(83)、仮想処理装置実行制御/支
援処理(60)によつて、仮想処理装置23を作成する。そ
して、この作成した仮想処理装置23を用いた仮想IP実行
処理(70)により、実行できなかつた命令a3(71)を含
め、処理Aの残りの部分(命令a4(72)など)を実行す
る。
第1図(b)は本発明における仮想化方式の一実施例
の動作の流れを示す説明図である。第1図(b)によ
り、本実施例の動作をさらに詳しく説明する。同図にお
いて、101,102は処理装置(IP)0において実行される
処理を示し、104は障害の事実の報告を示し、103〜119
はすべて処理装置(IP)1において実行される処理を示
す。また、点線の部分が仮想処理装置の実行に関連する
処理を示し、121は仮想処理装置の実行の制御処理(以
後、仮想IP実行制御処理と呼ぶ)、122は仮想処理装置
の実行(以後、仮想IP実行と呼ぶ)、123は仮想処理装
置の実行を支援する処理(以後、仮想IP実行支援処理と
呼ぶ)を示す。
いま、処理装置IP0において一連の処理Aが実行中(1
01)であり、処理Aの中で命令aの実行中(102)に障
害(×印)が発生したとする。また、正常な処理装置IP
1においては処理Bが実行中(103)である。本実施例で
は、処理Aは障害発生時点では処理の流れに不都合を発
生することなく中断するとは不可能(以後、単に中断不
可能と呼ぶ)であり、処理Bは処理の流れに不都合を発
生することなく中断可能(以後、単に中断可能と呼ぶ)
とする。IP0において障害が発生した事実はIP1に処理B
の実行中に割り込みによつて報告される(104)。IP1
は、障害の報告を受け取つた後、処理Bの中断処理(10
5)を行なう。次いで、仮想IP実行制御処理によつて(1
21)、仮想IP実行のための準備処理(仮想IP現実のため
の環境の作成)を行なう(106)。この準備処理の詳細
は後述する。仮想IP実行の準備が整うと、仮想IP実行時
間が決められ、仮想IPの実行が開始される(122)。仮
想IPの実行では、まず最初に障害発生時点で実行中であ
り、終了していない命令aの実行が行われる(107)。
その後、処理Aの続きが継続実行される(108)。処理
Aの実行中に、仮想IP実行では直接実行できない命令b
(例えば、前述のように仮想IP実行がプラブレムモード
のとき、命令bがSPV命令であると、これは直接実行で
きない)が実行された場合(109)には、仮想IP実行支
援処理が起動され(123)、命令bのシミユレーシヨン
処理を行なう(110)。これにより、IP1から見れば、命
令bは一応実行されたことになる。仮想IP実行で直接実
行できない命令の例としては、SIGP命令(SIGNAL PROCE
SSOR命令。スーパバイザ命令SPVの一種で、IP間の通知
等に用いられる)などがあげられる。命令bのシミユレ
ーシヨンが終了すると、再び処理Aが継続実行される
(111)。仮想IP実行の時間は、ある一定の値を前もつ
て設定しておくが(106)、その設定時間が経過する
と、仮想IPの実行は一時中断される(121,112)。この
中断した状態は、他のタスクと同じ様に、時分割処理の
ため、一時退避格納保存され、制御はデイスパツチヤに
渡る(113)。デイスパツチヤはいかなる処理をデイス
パツチしても良いが、本例ではIP1が以前に行つていた
処理Bをデイスパツチすることとする(114)。処理B
はあらかじめ設定された時間だけ実行され、再びデイス
パツチヤに制御が渡る(115)。次にデイスパツチヤは
仮想IP実行を再開するとする(116,121)。まず、仮想I
P実行制御処理が行われ、仮想IP実行のための時間が設
定される。引き続いて処理Aが継続実行される(11
7)。この処理Aの実行において、例えばLPSW命令(LOA
D PROGRAM STATUS WORD(プログラム状態語)命令。プ
ログラム状態語は、プログラム実行時のプロセツサの状
態を規定する。割込みの可否や、SPV、PRBモードの区別
を示す)などの処理状態を変更する命令によつて処理A
の処理状態がかわり、中断可能となつたとすると、その
時点で処理Aの処理は中断され、仮想IP実行制御処理に
制御が渡る(118)。中断可能状態の判断は、ソフトウ
エアでは、処理の状態変更命令がスーパバイザモードの
みで可能なことから、仮想IP実行をプラブレムモードと
して実行することで可能であり、また、特定の命令を検
出し、その実行を似て中断可能状態とするハードウエア
機能を用いることも可能である。仮想IP実行制御では、
処理Aの中断状態を、仮想IP上ではなく、処理装置IP1
上で直接実行できるように退避格納し、仮想IP実行を終
了し、デイスパツチヤに制御を渡す(119)。
第4図に仮想IP実行のための環境を定義する処理装置
制御テーブルの実施例を示す。図において、401は主記
憶装置、402は各処理装置間で共通して利用する記憶領
域、403a,bは各処理装置が専用に使用する記憶領域(例
えばプリフイツクスト・セーブ・エリアPSA)である。
後者は各処理装置個別のプリフイツクス変換(マルチプ
ロセツサを現実するアドレス変換の一手法)と呼ばれる
アドレス変換によつて、各処理装置の0番地から始まる
領域に写像される。プリフイツクス変換の詳細は、例え
ば日立マニユアル「Mシリーズ処理装置」等を参照され
たい。図において、404は仮想IP実行のための環境を定
義する処理装置制御テーブル、405は障害発生処理装置
が障害発生時点での情報を格納する障害状態情報記憶領
域である。この領域405には、障害発生時点のプログラ
ム状態語、各種タイマ値、すべてのレジスタの値、及び
障害発生部位を特定するための情報等が格納される。な
お、第1図(a)の主記憶装置30は、第4図の共通記憶
領域402に対応し、エリア31は、(便宜上共通記憶領域
に描かれているが)第4図のエリア405に対応し、仮想
処理装置21の記憶部は第4図の404にほぼ対応してい
る。第4図のエリア403a、403bは、第1図(a)では省
略している。処理装置制御テーブル404は、これらの情
報から、プログラム状態語、各種タイマ値、すべてのレ
ジスタの値を複写し、さらに障害を発生した処理装置の
番号を格納して作成する。先に述べた仮想IP実行支援処
理123は、この処理装置制御テーブル404を参照して、仮
想IP実行のための命令シミユレーシヨンを行なう。仮想
IP実行支援処理の詳細は後述する。さらに、仮想IP実行
が、命令シミユレーシヨンのため、設定時間経過のた
め、または中断可能となつたために中断される場合に
は、この処理装置制御テーブルに一旦状態情報が格納さ
れ、仮想IP実行での再実行、または実計算機状態での実
行のために利用される。
第5図ないし第8図は上記仮想IP実行の処理の流れ図
である。第5図は障害の通知をうけた正常な処理装置が
行なう仮想IP実行準備処理500である。この処理500は、
第1図105に対応する。図において、501〜504は処理内
容の記述、505は処理フロー記述のためのコネクタであ
る。障害発生の通知を割り込みによつて受けた(501)
処理装置では、それまで実行していた処理(タスク)の
実行状態を次に継続実行が可能なようにタスクテーブル
へ格納する(502)。次に、障害IPの状態情報を、障害I
Pが格納した記憶領域から読みだし(503)、処理装置制
御テーブルへ格納し(504)、仮想IP実行の準備を行な
う。上記処理の完了後、仮想IP実行制御処理へ制御を渡
す。
第6図(a)、(b)は仮想IP実行制御処理600,610
の流れ図である。この処理は、第1図106に対応する。
図において、601,602,604は処理内容の記述、505,603,8
02はコネクタである。仮想IP実行制御処理は、仮想IP実
行が設定時間を経過したとき、タイマ割り込みを発生
し、仮想IP実行支援処理に制御を渡すために、仮想IP実
行を行なう時間の設定を行い、その値をタイマに設定す
る(601)。そして、仮想IP実行での仮想IP処理を開始
する(602)。処理604に関しては第8図の後に述べる。
第7図は仮想IP実行における処理700の説明図であ
る。図において、701,702,703は処理内容の記述、603,7
04はコネクタである。通常、これらの処理はハードウエ
アによつて行われる。処理701は命令フエツチである。
処理702はフエツチした命令が仮想IP実行で実行可能か
否かを判別する部分であり、先に述べたように、仮想IP
実行をプラブレムモードとする場合には、スーパバイザ
モードでのみ実行可能な命令が仮想IP実行で実行不可能
な命令となる。また、例えば従来技術(特開昭57−2126
80号公報)に示されるようなハードウエア、マイクロプ
ログラムによつて制御される特別の実行モードを利用す
ることも可能である。処理703は命令の実行である。命
令が仮想IP実行で実行可能な間は、701〜703の処理が繰
り返し行われ、処理が進行する。仮想IP実行で実行でき
ない命令が現れた場合には、仮想IP実行支援処理に制御
が渡る。
第8図は仮想IP実行支援処理の流れ800を示した説明
図である。この処理は第1図123に対応する。図におい
て、801,803,804,805は処理内容の記述、704,802,603は
コネクタである。この仮想IP実行支援処理には、仮想IP
実行での直接実行が不可能な命令が現れた場合、仮想IP
実行のために設定された時間が経過した場合に制御が渡
つてくる。本処理では、まずタイマ終了か否かを判定し
(801)、タイマ終了の場合は仮想IP実行制御処理へ制
御を渡す。タイマ終了でない場合は、実行中の命令のシ
ミユレーシヨンを行い(803)、その結果、中断可能と
なったか否かを判定する(804)。中断可能でない場合
は、再び仮想IP実行を開始する。中断可能となつた場合
は、仮想IP実行で実行中の処理の状態は、実計算機状態
での実行を制御するタスクテーブルへの格納が可能とな
るため、仮想IP実行を続ける必要はなく、これを終了す
るために、仮想IP実行で実行中の処理の状態をタスクテ
ーブルへ格納し、仮想IP実行を終了する(805)。タイ
マ終了の場合、仮想IP実行を一旦中断し、他のタスクを
実行するためにデイスパツチヤへ制御を渡す。その後あ
らためて仮想IPの再実行が可能なように、仮想IP実行制
御処理の処理状態をタスクテーブルに格納する(60
4)。
以上、主にソフトウエアによつて仮想IP実行を可能と
する一実施例について述べた。なお、仮想IPの実行は、
上記の方法以外にも、専用のハードウエア等を用いて実
現してもよい。その際、仮想IP実行支援処理等の処理順
序が多少異なつてもよい。
〔発明の効果〕
以上詳しく説明したように、本発明のマルチプロセツ
サシステムでは、複数処理装置の一つに障害が発生した
とき、障害発生の通知を受けた正常な処理装置が臨時に
仮想処理装置を作成し、この仮想処理装置上で、障害処
理装置の実行していた処理を引継いで実行するように構
成したので、この仮想処理装置によつて、上記正常な処
理装置が本来行なうべき処理と、上記障害処理装置から
引継いだ処理とを、同時に並列的に実行することが可能
となり、その結果、障害発生時に実行されていた処理が
どのような処理状態にあつても(たとえ、ロツク待ち状
態であつても)、不都合やシステム機能停止などの事態
が生じることなく、その代行回復(継続実行)処理を実
行することができる等、優れた効果を奏する。
【図面の簡単な説明】
第1図(a)は本発明の処理の実行制御方法の一実施例
を適用したマルチプロセツサシステムの構成の概要を示
すブロツク図、第1図(b)は本発明における処理の実
行制御方法の一実施例の動作の流れを示す説明図、第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における通常処理、208,303,310…ロツクA
確保中の処理、203,210,308…ロツクA待ち状態、204,3
04…障害発生、404…処理装置制御テーブル、405…障害
状態情報記憶領域、501〜504,601,602,604,701〜703,80
1,803〜805…仮想IP実行処理内容の記述
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 昭54−18252(JP,A) 特開 昭48−75144(JP,A) 特開 昭59−24350(JP,A) 特開 昭64−53238(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 15/16 G06F 11/00

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の処理装置が主記憶装置を共有するマ
    ルチプロセッサシステムにおける処理の継続実行方法で
    あって、 いずれかの処理装置で障害が発生したことに応じて、前
    記障害が発生した処理装置のレジスタ値を前記主記憶装
    置を介して他の処理装置に送り、 前記他の処理装置は、前記障害が発生した処理装置のレ
    ジスタ値を用いて、前記障害が発生した処理装置が実行
    していた処理を、前記他の処理装置の仮想処理装置に継
    続実行させることを特徴とする処理の継続実行方法。
  2. 【請求項2】前記他の処理装置は、仮想計算機システム
    の一構成要素である仮想処理装置を生成し、その実行を
    制御する処理を、通常の計算処理における一つの処理と
    して実行することを特徴とする請求項1記載の処理の継
    続実行方法。
  3. 【請求項3】前記他の処理装置は、仮想計算機システム
    の一構成要素である仮想処理装置を生成し、その実行を
    制御する処理を、処理の継続実行が必要な間だけ実行す
    ることを特徴とする請求項1又は2記載の処理の継続実
    行方法。
  4. 【請求項4】前記継続実行される処理の実行時間をタイ
    マによって設定することを特徴とする請求項1、2又は
    3記載の処理の継続実行方法。
  5. 【請求項5】前記処理の継続実行は、前記通知を受けた
    処理装置が、実行していた処理を一時中断し、継続実行
    すべき仮想処理装置による処理と、前記通知を受けた処
    理装置上で継続実行のために一時的に中断された処理と
    を、時分割的に実行する事により行われる事を特徴とす
    る請求項1ないし4のうちいずれか1記載の処理の継続
    実行方法。
  6. 【請求項6】前記仮想処理装置による処理の継続実行
    は、直接実行することのできない命令が発行された場
    合、該命令のシミュレーション処理を行なう事により実
    行される事を特徴とする請求項1ないし6のうちいずれ
    か1記載の処理の継続実行方法。
  7. 【請求項7】前記仮想処理装置上で継続実行される、障
    害発生処理装置の行なうべき処理が終了した時、前記仮
    想処理装置を解消することを特徴とする請求項1ないし
    6のうちいずれか1記載の処理の継続実行方法。
JP8567889A 1989-04-06 1989-04-06 処理の継続実行方法 Expired - Lifetime JP2823230B2 (ja)

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 JPH02266457A (ja) 1990-10-31
JP2823230B2 true 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)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09251443A (ja) * 1996-03-18 1997-09-22 Hitachi Ltd 情報処理システムのプロセッサ障害回復処理方法
JP3653159B2 (ja) * 1997-04-01 2005-05-25 株式会社日立製作所 仮想計算機システム間の仮想計算機移動制御方法
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 仮想計算機と物理計算機との間のマイグレーション方法及びその計算機システム
JP5581594B2 (ja) * 2009-02-02 2014-09-03 日本電気株式会社 二重化処理装置、二重化処理システム、方法及びプログラム

Also Published As

Publication number Publication date
JPH02266457A (ja) 1990-10-31

Similar Documents

Publication Publication Date Title
JP2765411B2 (ja) 仮想計算機方式
US5187802A (en) Virtual machine system with vitual machine resetting store indicating that virtual machine processed interrupt without virtual machine control program intervention
JP3196004B2 (ja) 障害回復処理方法
US4852092A (en) Error recovery system of a multiprocessor system for recovering an error in a processor by making the processor into a checking condition after completion of microprogram restart from a checkpoint
JPH03217949A (ja) 計算機システム
JP2823230B2 (ja) 処理の継続実行方法
US5003468A (en) Guest machine execution control system for virutal machine system
JPH07141176A (ja) コマンドリトライ制御方式
JPH02294739A (ja) 障害検出方式
JP3172007B2 (ja) ディスク複写処理方式
JP2970082B2 (ja) 仮想クラスタ間通信処理装置
JPH05314075A (ja) オンラインコンピュータ装置
JPS6376028A (ja) 仮想計算機システムにおける命令ステツプ実行制御方式
JP3332098B2 (ja) 二重化プロセッサ装置
JP2550708B2 (ja) デバッグ方式
JP2845616B2 (ja) マルチプロセッサシステム
JP2730209B2 (ja) 入出力制御方式
JPH0149975B2 (ja)
CN113918272A (zh) 分离式虚拟机及其虚拟机架构、构建方法和优化方法
JPS62290942A (ja) デバツガ起動方式
JPH02114364A (ja) マルチプロセッサシステム
JPH0452759A (ja) ベクトル命令多重処理方式
JPH0293953A (ja) 二重化情報処理装置
JPS62194549A (ja) Cpu―io並列動作シミュレーション方法
JPS62212865A (ja) マルチプロセツサ制御方式