[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH02266457A - Method for controlling execution of processing - Google Patents

Method for controlling execution of processing

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
processing
execution
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
Application number
JP8567889A
Other languages
Japanese (ja)
Other versions
JP2823230B2 (en
Inventor
Shiyouichirou Yoshioka
吉岡 正壱郎
Takafumi Yamada
山田 尚文
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/en
Publication of JPH02266457A publication Critical patent/JPH02266457A/en
Application granted granted Critical
Publication of JP2823230B2 publication Critical patent/JP2823230B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Abstract

PURPOSE:To continuously execute interrupted processing independently of the sort and state of the processing by allowing a normal processor receiving the information of fault generation when the fault is generated in one of plural processors to temporarily form a virtual processor and allowing the virtual processor to continuously execute the processing executed by the defective processor. CONSTITUTION:If a fault is generated in an instruction a3(71) during the execution of processing A40 based upon a processor 10, the processor 10 informs the fact of the fault generation to a normal processor 20. At that time, the processor 20 suspends the execution of the executing processing B, extracts (83) the state information of the processor (IP0) 10 and forms a virtual processor 23 by means of virtual processor execution controlling/supporting processing (60). The residual part (instruction a4(74) etc.) of the processing A including the instruction a3(71) not executed by the virtual IP execution processing (70) is executed by the formed virtual processor 23. Consequently, substitutive recovery (continuous execution) processing can be executed.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本考案は、複数の処理装置が主記憶装置を共有する形の
マルチプロセッサシステムにおいて、一つの処理装置が
障害の発生等により処理の実行が継続できない場合に、
その処理装置上で実行されていた処理を、その処理の種
類、処理状態の如何にもかかわらず、正常に′m続実行
可能とする方法を提供する処理の実行制御方法に関する
Detailed Description of the Invention [Field of Industrial Application] The present invention is a multiprocessor system in which a plurality of processing units share a main storage device, in which one processing unit is unable to execute processing due to a failure or the like. If you cannot continue,
The present invention relates to a process execution control method that provides a method for allowing a process being executed on a processing device to be normally executed continuously regardless of the type of process or the process state.

〔従来の技術〕[Conventional technology]

近年、計算機システムが普及し、各種のオンラインシス
テムや、VAN等が高度化し、システムの高信頬化に対
する要求が高まってきている。また、計算機システムの
能力に対する増大する要求に対処するため、計算機シス
テムのマルチプロセッサ化が進んでいる。複数の処理装
置が主記憶装置を共有する形のマルチプロセッサ(密結
合マルチプロセッサと称する)では、システムを構成す
る複数の処理装置の中の一つが故障しても、他の正常な
処理装置で故障によって中断さた処理を引継ぐことによ
り、システム全体として処理を継続することが可能であ
る。この方式に関しては、従来よりい(つかの技術が提
案されている(特公昭47−36181号公報、特公昭
61−56537号公報、特開昭58−5856号公報
、特願昭62−29565号等参照)。
In recent years, computer systems have become widespread, various online systems, VANs, etc. have become more sophisticated, and there is an increasing demand for systems with high reliability. Furthermore, in order to meet the increasing demand for computer system performance, computer systems are becoming increasingly multiprocessor-based. In a multiprocessor in which multiple processing units share the main memory (referred to as a tightly coupled multiprocessor), even if one of the multiple processing units that make up the system fails, other normal processing units will be able to recover. By taking over the processing that was interrupted due to a failure, it is possible to continue processing as a whole system. Regarding this method, several techniques have been proposed in the past (Japanese Patent Publication No. 47-36181, Japanese Patent Publication No. 61-56537, Japanese Patent Application Laid-Open No. 58-5856, Japanese Patent Application No. 62-29565). etc.).

従来の技術では、障害を発生した処理装置の障害発生時
点の状態、及び障害を発生した処理装置の論理装置番号
等の情報を、障害を発生した処理装置、正常な処理装置
、または回復制御装置等の動作により、記憶装置等に格
納し、または直接正常な処理装置に転送し、正常な処理
装置がその情報を用いて障害を発生した処理装置上で中
断された処理を肩代わりして再実行するというこのであ
る。しかしいずれも、通知された若しくは入手した情報
をもとにした処理の回復は一時的なものであり、障害発
生時点で実行中であった処理の一つの動作、例えば一つ
の命令や割り込み処理などを再実行し、正常に終了させ
るこが目的であった。
In conventional technology, information such as the state of the failed processing device at the time of failure and the logical unit number of the failed processing device is transferred to the failed processing device, normal processing device, or recovery control device. The information is stored in a storage device or directly transferred to a normal processing device, and the normal processing device uses that information to take over and re-execute the process that was interrupted on the faulty processing device. This is what I do. However, in either case, the recovery of processing based on the notified or obtained information is temporary, and only one operation of the processing that was being executed at the time of the failure, such as one instruction or interrupt processing, etc. The purpose was to re-run the program and complete it normally.

一方、従来の仮想計算機方式(特開昭57−21268
0号公報など)では、システム全体を仮想計算機システ
ムとして連用することが目的であり、実計算機状態の処
理との同時的な運用、実計算機状態との間の動的な移行
などは考慮していない。
On the other hand, the conventional virtual computer method (Japanese Patent Laid-Open No. 57-21268
(e.g., Publication No. 0), the purpose is to use the entire system as a virtual computer system, and does not consider simultaneous operation with processing of the real computer state, dynamic transition between the real computer state, etc. do not have.

〔発明が解決しようとする課題〕[Problem to be solved by the invention]

従来の技術では、障害発生等による処理実行中断時点で
当該処理装置が実行中だった処理の一つの動作、例えば
一つの命令や割り込み処理などを他の正常な処理装置が
肩代わりで再実行し、正常に終了させることは可能であ
るが、実行されていた処理を、他の処理装置上で実行さ
れていた処理と関連した処理全体の流れとしてみた場合
、例えばクロック待ち(クロックが確保できるまで待つ
)処理等の場合に、障害等により中断された処理を他の
正常な処理装置により肩代わり継続実行することができ
ない場合が発生する。即ち、処理の継続実行方法には、
(1)障害発生等により中断された処理に関し、その処
理の状態の如何にかかわらず、中断された一つの命令の
み、もしくは中断された一つの動作のみを肩代わりして
回復する方法と、(2)中断された処理を、中断された
命令から再開始し、中断された命令だけでなく、その後
の一連の中断不可の命令群を含めて肩代わりし、ロック
待ち、ロック確保中以外等の中断可能な特定の状態とな
るまで実行する方法とがあるが、このどちらの方法でも
、従来技術ではすべての場合に処理を正常に継続実行す
ることは不可能である。
In conventional technology, another normal processing device takes over and re-executes one operation, such as one instruction or interrupt processing, that was being executed by the processing device at the time when processing execution was interrupted due to a failure or the like. It is possible to terminate the process normally, but if you look at the process that was being executed as a whole process flow related to the process that was being executed on other processing devices, for example, waiting for a clock (waiting until a clock is available) ) processing, etc., there may be cases where the interrupted processing due to a failure or the like cannot be continued and replaced by another normal processing device. In other words, the method for continuing the process is as follows:
(1) With regard to processing that has been interrupted due to the occurrence of a failure, etc., a method for recovering by taking over only one interrupted instruction or one interrupted operation, regardless of the state of the processing, and (2) ) Restarts the interrupted process from the interrupted instruction, taking over not only the interrupted instruction but also a series of subsequent instructions that cannot be interrupted, making it possible to interrupt the process other than when waiting for a lock or securing a lock. There is a method of executing the process until a specific state is reached, but with either of these methods, it is impossible with the prior art to continue executing the process normally in all cases.

この事実を第2図及び第3図を用い、方法(1)では第
2図の場合は問題ないが、第3図の場合に問題が生じ、
方法(2)では第3図の場合は問題ないが、第2図の場
合に問題が生じることを説明する。
Using Figures 2 and 3, method (1) shows that there is no problem in the case of Figure 2, but a problem occurs in the case of Figure 3.
It will be explained that method (2) causes no problem in the case shown in FIG. 3, but a problem occurs in the case shown in FIG.

第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)は、終了せず、いつまでもロック待ち状
態が続く自縛り状態となるため、システムの機能は停止
してしまう。
FIG. 2 is an explanatory diagram showing the flow of processing in two processing devices (IPs). In the figure, 201 and 206 indicate the normal instruction processing of the processing unit (IPO or IPI).
207 is lock AI +1! The fact of success is that 202 is lock A6! 208 indicates the sequence of command processing with lock A secured, 203 indicates the state of waiting for lock A, 210 indicates the state of waiting for lock A, which took over 203, and 204 indicates the occurrence of a failure, etc. Indicates the fact that processing execution has been interrupted. Further, 205 indicates that the IPI has been notified of the fact that the IPO processing execution has been interrupted, and 209 indicates the point in time when the fact has been acknowledged. Figure 2 shows that IPI first secures lock A on a certain area of the main memory.207
), so next time after IPO fails to secure lock A on this same storage area (202, 203)
, processing execution is interrupted due to a failure in IPO, etc. (204')
This shows the case where this occurs. The fact that this processing execution interruption has occurred is notified to IP1 immediately after the occurrence (205
). Now, considering method (1) above, IPO
The IPI process that re-executes (210) the process that was interrupted (wait for lock A 203) only takes over and re-executes one instruction or process that was interrupted, and only if they finish normally. In this case, if the original processing of IP1 (208) is continued, processing (20
After 8) releases lock A, the process (203) that was interrupted by IPO can be continued. However, in method (2) above, if a state other than the lock wait state is considered as a specific state that can be interrupted (for example, when a series of several instruction processes that cannot be separated from each other are completed), the IPI The re-executed process (lock wait 203) does not end and becomes a self-locking state in which the lock wait state continues indefinitely, so the system function stops.

第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の処
理を実行する)ことが可能である。
FIG. 3 is also an explanatory diagram showing the flow of processing in two processing devices (IP). In the figure, 301.306
indicates the normal instruction processing of the processing unit (IPO or IPI), 302 indicates the fact that lock A was successfully secured, 307 indicates the fact that lock AltI was not retained, 311 indicates the fact that lock A was released, and 303.310 indicates the fact that lock A was successfully secured. 308 indicates the state of waiting for lock A, and 1.304 indicates the fact that processing execution has been interrupted due to occurrence of a failure or the like. Also, 30
5 indicates that the IPI has been notified of the interruption of IPO processing execution, and 309 indicates the point in time when this fact has been acknowledged. In FIG. 3, IPO first secures lock 8 for a certain area of the main memory (302), and then, after IPI fails to secure lock A for the same storage area (302),
307, 308) Processing execution is interrupted due to a failure in IPO (
304) has occurred. The fact that this process execution interruption has occurred is notified to the IPI immediately after the occurrence (
305). Now, considering the method (1) above, the IPI process (310) that re-executes the process (303) that was interrupted in IPO is a series of processes (303).
If only one of the interrupted instructions or one process is re-executed, and if they finish normally, the original process of IP1 (308) is continued, as shown below. Even if IPI takes over one instruction, it does not mean that all of IPO's original processing (303) has been completed, so the possibility that IPO will release lock A during the execution of taking over is extremely low, and IP1's lock waiting process (303) is not completed. 308") does not end, the system becomes stuck in a self-locked state where it continues to wait for a lock indefinitely, and system processing stops. However, with method (2) above,
Considering states other than the lock secured raw state as specific states that can be interrupted, the process re-executed in IP1 (31
0, which is a successor to the IPO process (303)) ends with the release of lock A (311), and then continues to execute the IP1 process (308) (for example,
For the area released by 311, rP1 can now retake lock A as its own processing and execute the original IPI processing.

この2例では、IPOにおける処理実行中断発生の事実
はIPIの処理状態の如何にかかわらず直ちにIPIに
通知されることとしたが、IPIの処理状態が前述の特
定の状態(−段落した状態)、例えば入出力割り込み、
及び外部割り込みが可能な状態となった時に割り込み通
知されるとしてもよい。この場合でも、上記と同様のI
ll論により、中断された処理をすべて継続実行するこ
とは不可能である。
In these two examples, the fact that processing execution has been interrupted in the IPO is immediately notified to the IPI regardless of the processing state of the IPI, but the processing state of the IPI is in the above-mentioned specific state (-paragraphed state). , e.g. input/output interrupts,
Also, an interrupt notification may be made when an external interrupt becomes possible. In this case, the same I
ll theory, it is impossible to continue executing all interrupted processes.

このように、従来技術では、障害により中断された処理
を、処理の種類、状況のすべての場合において継続実行
することはできない。
As described above, in the conventional technology, it is not possible to continue executing a process that has been interrupted due to a failure in all types of processes and situations.

従って、本発明の目的は、この中断された処理を、処理
の種類、状況の如何によらず継続実行することにある。
Therefore, an object of the present invention is to continue executing this interrupted processing regardless of the type of processing or the situation.

〔課題を解決するための手段〕[Means to solve the problem]

上記問題点を克服するため、本発明は、処理実行中断の
通知を受けた正常な処理装置が、処理実行を中断した処
理装置の中断時点の状態を示す値、即ちプログラム状態
語、レジスタ値、タイマ値を用いて、仮想計算機システ
ムの一構成要素である仮想処理装置を作成し、この仮想
処理装置の実行環境を用いた中断された処理の実行と、
通知を受けた処理装置において本来実行されていた処理
とを時分割的に実行する。
In order to overcome the above-mentioned problems, the present invention provides a method in which a normal processing device that has received a notification of processing execution suspension uses a value indicating the state of the processing device that interrupted processing execution at the time of interruption, that is, a program status word, a register value, Creating a virtual processing device, which is a component of a virtual computer system, using the timer value, and executing the interrupted process using the execution environment of this virtual processing device,
The processing that was originally executed in the processing device that received the notification is executed in a time-sharing manner.

〔作 用〕[For production]

上記方法の作用を説明する。 The operation of the above method will be explained.

処理実行を中断した処理装置の状態、即ちプログラム状
態語、レジスタ値、タイマ値が他の正常な処理装置に通
知されると、正常な処理装置は、ソフトウェアあるいは
バードアエアもしくはその両者の手段によって仮想計算
機システムの一構成要素である仮想処理装置を作成し、
その実行環境定義情報の中に通知された処理実行を中断
した処理装置の状態情報の内容を設定し、実行中断され
た処理の継続実行を開始可能にする。作成された仮想処
理装置は、正常な処理装置の上で、一つのジョブ、もし
くはタスクとして実行される。
When the state of the processing device that has suspended processing execution, i.e., the program status word, register value, and timer value, is notified to other normal processing devices, the normal processing device can execute a virtual computer by means of software, bird air, or both. Create a virtual processing device, which is a component of the system,
The contents of the status information of the processing device that interrupted execution of the notified process are set in the execution environment definition information, so that the continued execution of the interrupted process can be started. The created virtual processing device is executed as one job or task on a normal processing device.

一般に、仮想計算機システムによって、−台の物理的な
計算機(実の処理装置)上に、複数台の仮想計算機(仮
想の処理装置)を作成し、各仮想計算機を別々のO8で
動作させることができる。この場合、物理的な(実の)
計算機としては、上記複数のOSのそれぞれの命令の処
理や仮想計算機制御プログラムの処理は時分割的に実行
されるものであっても、論理的な(仮想的な)計算機と
してみれば、各O8の命令の処理は他のO8の処理や仮
想計算機制御プログラムの処理と平行して並列的に実行
されるといえる。本発明では、このような仮想処理装置
による命令の処理が他の処理と同時的並列的に実行され
る機能に着目して、上記従来技術の問題点である中断さ
れた処理の継続実行ができな(なることを防止している
Generally, with a virtual computer system, it is possible to create multiple virtual computers (virtual processing units) on -1 physical computers (actual processing units) and have each virtual computer run on a separate O8. can. In this case, physical (real)
As a computer, even though the processing of the instructions of the plurality of OSs and the processing of the virtual machine control program are executed in a time-sharing manner, when viewed as a logical (virtual) computer, each O8 It can be said that the processing of the instruction is executed in parallel with other O8 processing and virtual machine control program processing. The present invention focuses on a function in which the processing of instructions by such a virtual processing device is executed concurrently and in parallel with other processing, and it is possible to continue execution of interrupted processing, which is the problem of the above-mentioned conventional technology. (Preventing something from happening.)

即ち、本発明によれば、障害等により中断された処理が
どのような状態のものであっても、(該処理の種類や処
理状態の如何にかかわらず)処理実行中断時に作成した
仮想的処理装置において、通知を受けた正常な処理装置
が本来行っている処理動作と平行して、上記障害により
中断された処理を肩代わり実行し、中断した処理を継続
実行(回復)することができる。このような論理上の同
時処理機能は、上記のように、実行機能が一つしかない
物理的な処理装置に、例えば時分割等の方法をとり入れ
ることで実現すればよい。
That is, according to the present invention, no matter what state the process is in when it is interrupted due to a failure or the like, the virtual process created when the process execution is interrupted (regardless of the type of process or the process state) In the device, in parallel with the processing operation that the normal processing device that received the notification is originally performing, it is possible to take over and execute the processing that was interrupted due to the failure, and to continue executing (recovering) the interrupted processing. Such a logical simultaneous processing function may be realized by, for example, incorporating a method such as time division into a physical processing device having only one execution function, as described above.

一般に、処理装置の処理モードには、全ての命令の実行
が可能なスーパバイザモードと、一部の命令の実行のみ
可能なブラブレムモードの二つの処理モードがある。状
態がスーパバイザモードなら、5PV(スーパバイザ)
命令と呼ばれる特権命令、FRB(ブラブレム)命令と
呼ばれる一般命令、いずれも使えるが、状態がブラブレ
ムモードなら、SP■命令は使えない。従って、仮想処
理装置がブラブレムモードで実行された場合、SPV命
令は使えない。このような時には、仮想、計算機システ
ムにおける場合と同じ考え方によって、仮想処理装置(
仮想IP)実行支援処理によってSPv命令のシミュレ
ーション処理を行い、命令があたかも実行されたように
見せかける。
Generally, there are two processing modes of a processing device: a supervisor mode in which all instructions can be executed, and a Brablem mode in which only some instructions can be executed. If the status is supervisor mode, 5PV (supervisor)
Both privileged instructions called commands and general instructions called FRB (Brablem) instructions can be used, but if the state is in Brablem mode, the SP ■ instruction cannot be used. Therefore, SPV instructions cannot be used when the virtual processing unit is executed in Brablem mode. In such cases, the virtual processing device (
(Virtual IP) Execution support processing performs simulation processing of SPv instructions to make it appear as if the instructions have been executed.

また、本発明の特徴として、このような仮想処理装置は
、処理の実行中断が発生したときだけ一時的に< b’
=時に)作成され、中断された処理の継続実行(回復)
処理が終れば消滅する。
Further, as a feature of the present invention, such a virtual processing device temporarily performs <b' only when processing execution is interrupted.
Continued execution (recovery) of a process that was created (at the time) and was interrupted
It disappears once processing is complete.

〔実施例〕〔Example〕

以下、図面を用いて本発明の一実施例を示す。 An embodiment of the present invention will be described below with reference to the drawings.

本実施例では、主に、上記(2)の方法で、第2図の場
合における問題の解決法を示したものである。本実施例
中の命令、割り込み等の詳細は、例えば日立マニュアル
1Mシリーズ処理装置」等を参照されたい0本実施例で
は、処理装置が障害等を発生し処理の実行が中断された
事実は割り込みによって正常な処理装置に報告されるこ
ととし、また、仮想処理装置の実行は、正常な処理装置
によって継続された処理が、処理の流れに不都合を発生
することなく中断可能となった時点で(例えば、入出力
割込みと外部割込みが共に可能になったとき)終了する
こととする。この理由は、一般に、実行の途中における
中断を許さない処理、即ち中断すると処理上の不都合(
例えば無限ループ、割り込み禁止ウェイト、デッドロッ
クなど)を発生ずる処理は、外部割り込み、入出力割り
込み等による中断、CPUの変更を防止するため、外部
割り込み、入出力割り込み不可状態で走行するからであ
る。従って、逆に処理が割り込みを許可すれば、それは
中断されても不都合を発生しないという指標であると見
なすことができ、ある処理が割り込みを許可する状態で
あれば、全体の処理に不都合を生じることなくその処理
を一旦中断し、後に他の処理装置上ででも再実行するこ
とが可能となる。即ち、仮想処理装置上での処理の実行
を終了した後、障害を発生した処理装置を切り離した処
理装置の一台少ない状態で、すべての処理を再開始する
ことが可能となる。本実施例では、処理の流れに不都合
を発生することなく中断可能となる場合として、処理が
入出力割り込みおよび外部割り込み可能な状態となった
時点を考える。
This embodiment mainly shows a method for solving the problem in the case of FIG. 2 using method (2) above. For details of the instructions, interrupts, etc. in this embodiment, please refer to the Hitachi Manual 1M Series Processing Device, etc. In this embodiment, the fact that the processing device has a failure or the like and the execution of the process is interrupted is called an interrupt. The execution of the virtual processing device shall be reported to the normal processing device by For example, when both input/output interrupts and external interrupts become possible, the process ends. The reason for this is that the process generally does not allow interruption in the middle of execution;
For example, processes that cause infinite loops, interrupt-disabled waits, deadlocks, etc.) run in a state where external interrupts and input/output interrupts are disabled to prevent interruptions due to external interrupts, input/output interrupts, etc., and to prevent CPU changes. . Therefore, conversely, if a process allows interrupts, it can be considered as an indicator that no inconvenience will occur even if the process is interrupted, whereas if a process allows interrupts, it will cause inconvenience to the entire process. It becomes possible to temporarily interrupt the process without any trouble and re-execute it later on another processing device. In other words, after finishing execution of the processing on the virtual processing device, it is possible to restart all the processing with one fewer processing device from which the faulty processing device has been disconnected. In this embodiment, a point in time when the process becomes capable of input/output interrupts and external interrupts is considered as a case where the process can be interrupted without causing any inconvenience to the flow of the process.

第1図(a)は、本発明の実行制御方法の一実施例の適
用されるマルチプロセッサシステムの構成の概要を示す
ブロック図である。
FIG. 1(a) is a block diagram schematically showing the configuration of a multiprocessor system to which an embodiment of the execution control method of the present invention is applied.

第1図(al ニおイテ、10は処理装置lPO520
は処理装置IPI、30は主記憶装置(処理装置10゜
20、・・・に共有の領域)である。処理装置(10,
20)には命令実行部(11,21)があり、その実行
状態はプログラム状態語(12,22)に示される。プ
ログラム状態語はまた実行中の命令のアドレスを示す。
Figure 1 (Al Niote, 10 is the processing device lPO520
is a processing device IPI, and 30 is a main storage device (area shared by processing devices 10, 20, . . . ). Processing device (10,
20) has an instruction execution unit (11, 21), the execution state of which is indicated by a program status word (12, 22). The program status word also indicates the address of the instruction being executed.

また、主記憶装置上には、情報格納領域31や、処理装
置で実行される処理32〜35が置かれている。
Further, on the main storage device, an information storage area 31 and processes 32 to 35 executed by the processing device are placed.

なお、これら複数の処理装置10.20・・・(本実施
例では2個)は、図示しないシステムコントローラによ
って、共存の記憶装置30にアクセスされるようになっ
ている。
Note that these plurality of processing devices 10, 20, . . . (two in this embodiment) are accessed by a coexisting storage device 30 by a system controller (not shown).

第1図(alにより、動作の概要を説明する。An overview of the operation will be explained with reference to FIG. 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)。この退避と通知は、処理装置、も
しくは回復用の制御装置(図示せず)により行われる。
First, the instruction execution unit 11 in the processing device (IPO) 10 executes the process A (4) stored on the main storage device 30.
0) (consisting of instruction aH41), instruction a2 (42), etc.), and the instruction execution unit 21 in the processing device (IPI) 20 executes the process B (50 )(
Instruction b1 (51), instruction b2 (52), instruction b3 (53
), etc.) are being executed. If a failure occurs in the instruction a3 (71) while the processing device 10 is executing the process A40, the processing device 1o saves (stores) its own status information in the area 31 on the main storage device 30 (81). ), the fact that a failure has occurred is notified to the normal processing device 20 (
contact) (82). This evacuation and notification are performed by a processing device or a recovery control device (not shown).

そこで、処理装置20は、通知を受は付けた時点で、実
行中であった処理Bの実行を中断し、この中断の状態(
命令b2(52)まで実行)を退避(格納)する(この
中断状態の退避は図示せず)。次いで、処理装置(IP
ONOの状態情報を取り出しく83)、仮想処理装置実
行制御/支援処理(60)によって、仮想処理装置23
を作成する。そして、この作成した仮想処理装置23を
用いた仮想IP実行処理(70)により、実行できなか
った命令a3(71)を含め、処理Aの残りの部分(命
令a4(72)など)を実行する。
Therefore, upon receiving the notification, the processing device 20 suspends the execution of the process B that is currently being executed, and this suspended state (
The instruction b2 (executed up to 52) is saved (stored) (this saving of the interrupted state is not shown). Next, the processing device (IP
The state information of the ONO is extracted 83), and the virtual processing device 23 is extracted by the virtual processing device execution control/support processing (60).
Create. Then, the remaining part of process A (instruction a4 (72), etc.), including the instruction a3 (71) that could not be executed, is executed by the virtual IP execution process (70) using the created virtual processing device 23. .

第1図山)は本発明における仮想化方式の一実施例の動
作の流れを示す説明図である。第1図(b)により、本
実施例の動作をさらに詳しく説明する。
FIG. 1 (Fig. 1) is an explanatory diagram showing the flow of operation of an embodiment of the virtualization method according to the present invention. The operation of this embodiment will be explained in more detail with reference to FIG. 1(b).

同図において、101 、102は処理装置(IP)0
において実行される処理を示し、104は障害の事実の
報告を示し、103〜119はすべて処理装置(IP)
1において実行される処理を示す。また、点線の部分が
仮想処理装置の実行に関連する処理を示し、121は仮
想処理装置の実行の制御処理(以後、仮想IP実行制御
処理と呼ぶ)、122は仮想処理装置の実行(以後、仮
想IP実行と呼ぶ)、123は仮想処理装置の実行を支
援する処理(以後、仮想IP実行支援処理と呼ぶ)を示
す。
In the figure, 101 and 102 are processing devices (IP) 0
104 indicates a report of the fact of a failure, and 103 to 119 are all processing devices (IP)
1 shows the processing executed in 1. In addition, the dotted line portions indicate processes related to the execution of the virtual processing device, 121 is a control process for the execution of the virtual processing device (hereinafter referred to as virtual IP execution control process), and 122 is the execution of the virtual processing device (hereinafter referred to as virtual IP execution control process). (hereinafter referred to as virtual IP execution), and 123 indicates processing that supports execution of the virtual processing device (hereinafter referred to as virtual IP execution support processing).

いま、処理装置IPOにおいて一連の処理Aが実行中(
101)であり、処理Aの中で命令aの実行中(102
)に障害(×印)が発生したとする。
A series of processes A is currently being executed in the processing device IPO (
101), and instruction a is being executed in process A (102
) has a failure (marked with an x).

また、正常な処理装置IPIにおいては処理Bが実行中
(103)である。本実施例では、処理Aは障害発生時
点では処理の流れに不都合を発生することなく中断する
とは不可能(以後、単に中断不可能と呼ぶ)であり、処
理Bは処理の流れに不都合を発生することなく中断可能
(以後、単に中断可能と呼ぶ)とする。IPOにおいて
障害が発生した事実はIPIに処理Bの実行中に割り込
みによって報告される( 104 )。IPIは、障害
の報告を受は取った後、処理Bの中断処理(105)を
行なう。次いで、仮想IP実行制御処理によって(12
1) 、仮想IP実行のための準備処理(仮想IP現実
のための環境の作成)を行なう(106)。
Further, in the normal processing device IPI, processing B is being executed (103). In this example, it is impossible to interrupt process A without causing inconvenience to the flow of processing at the time of failure (hereinafter simply referred to as uninterruptible), and process B causes inconvenience to the flow of processing. (hereinafter referred to simply as "interruptible"). The fact that a failure has occurred in IPO is reported to IPI by an interrupt during execution of process B (104). After receiving the failure report, the IPI performs a process to interrupt process B (105). Next, (12
1) Preparation processing for virtual IP execution (creation of an environment for virtual IP reality) is performed (106).

この準備処理の詳細は後述する。仮想IP実行の準備が
整うと、仮想IP実行時間が決められ、仮想IPの実行
が開始される( 122 )。仮想IPの実行では、ま
ず最初に障害発生時点で実行中であり、終了していない
命令aの実行が行われる(107)。
Details of this preparation process will be described later. Once the virtual IP execution is ready, the virtual IP execution time is determined and the virtual IP execution begins (122). In the execution of the virtual IP, first, the instruction a, which is being executed at the time of the failure occurrence and has not yet been completed, is executed (107).

その後、処理Aの続きが継続実行される( 108 )
After that, the continuation of process A continues to be executed (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)。
During the execution of process A, an instruction b that cannot be directly executed in virtual IP execution (for example, as mentioned above, when virtual IP execution is in programm mode, if the instruction is an SPv instruction, it cannot be directly executed). If the command is executed (109), the virtual IP execution support process is activated (123) and performs a simulation process of the command (110'').As a result, from the IPI's perspective, it is confirmed that the command has been executed. An example of an instruction that cannot be directly executed in virtual IP execution is the 5ICP instruction (SIGNAL PROCE).
SSOR command. A type of supervisor command SP■, IP
When the simulation of the command is completed, processing A continues to be executed again (111).The virtual IP execution time is set to a certain value in advance. (106), and when the set time elapses, the execution of the virtual IP is temporarily suspended (121, 112'').This suspended state is
Like other tasks, it is temporarily saved and saved for time-sharing processing, and control is passed to the dispatcher (113
). The dispatcher may dispatch any process, but in this example, it will dispatch process B that IP1 was previously performing (114'').Process B
is executed for a preset time, and control is passed to the dispatcher again (115). Next, the dispatcher resumes virtual IP execution (116, 1
21). First, virtual IP execution control processing is performed, and time for virtual IP execution is set. Continue processing A
is continuously executed (117). In the execution of this process A, for example, the LPSW command (LOAD PROG
RAM 5TATUS WORD (program status word) command. The program state word defines the state of the processor when the program is executed. Whether or not to allow interrupts, SP■,
If the processing state of Process A is changed by a command that changes the processing state (indicating FRB mode distinction) and becomes interruptible, then Process A will be interrupted at that point and control will not be transferred to the virtual IP execution control process. cross (118). Judging whether a state can be interrupted is tentatively determined because in software, commands to change the processing state are possible only in supervisor mode.
It is possible to perform ff1iP execution in Brablem mode, or it is also possible to use a hardware function that detects a specific instruction and similarly puts its execution into an interruptible state. In virtual IP execution control, the interrupted state of process A is saved so that it can be executed directly on the processing device IPI instead of on the virtual IP, the virtual IP execution is ended, and control is passed to the dispatcher (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)では省略してい
る。
FIG. 4 shows an example of a processing device control table that defines the environment for virtual IP execution. In the figure, 401 is the main storage, 402 is a storage area commonly used by each processing device, and 403a and 403b are storage areas used exclusively by each processing device (for example, a fixed save area PS).
A). The latter uses address conversion called brifix conversion (a method of address conversion that realizes multiprocessors) for each processing unit to convert the 0
It is mapped to the area starting from the address. For details on brifix conversion, please refer to, for example, the Hitachi manual [M series processing equipment]. In the figure, 404 is a processing device control table that defines the environment for virtual IP execution;
Reference numeral 5 denotes a fault state information storage area in which the fault processing device stores information at the time of fault occurrence. In this area 405,
Stored are the program status word at the time of failure, various timer values, values of all registers, and information for specifying the location of failure. Note that the main storage device 30 in FIG. 1(a) corresponds to the common storage area 402 in FIG.
The storage section of the virtual processing device 21 corresponds to area 405 in the figure, and almost corresponds to 404 in FIG. Areas 403a and 403b in FIG. 4 are omitted in FIG. 1(a).

処理装置制御テーブル404は、これらの情報から、プ
ログラム状態語、各種タイマ値、すべてのレジスタの値
を複写し、さらに障害を発生した処理装置の番号を格納
して作成する。先に述べた仮想【P実行支援処理123
は、この処理装置制御チーフル404を参照して、仮想
IP実行のための命令シミュレーションを行なう。仮想
IP実行支援処理の詳細は後述する。さらに、仮想IP
実行が、命令シミュレーションのため、設定時間経過の
ため、または中断可能となったために中断される場合に
は、この処理装置制御テーブルに一旦状態情報が格納さ
れ、仮想IP実行での再実行、または実計算機状態での
実行のために利用される。
The processing device control table 404 is created by copying the program status word, various timer values, and all register values from this information, and further storing the number of the processing device in which the failure has occurred. The above-mentioned virtual [P execution support processing 123]
refers to this processing unit control file 404 and performs instruction simulation for virtual IP execution. Details of the virtual IP execution support process will be described later. Furthermore, the virtual IP
When execution is interrupted due to instruction simulation, because a set time has elapsed, or because it has become possible to interrupt, the status information is temporarily stored in this processing unit control table, and the execution can be restarted using virtual IP execution, or Used for execution in real computer state.

第5図ないし第8図は上記仮想rp実行の処理の流れ図
である。第5図は障害の通知をうけた正常な処理装置が
行なう仮想IP実行準備処理500である。この処理5
00は、第1図105に対応する。
FIGS. 5 to 8 are flowcharts of the process of executing the virtual RP. FIG. 5 shows virtual IP execution preparation processing 500 performed by a normal processing device that has received notification of a failure. This process 5
00 corresponds to 105 in FIG.

図において、501〜504は処理内容の記述、505
は処理フロー記述のためのコネクタである。障害発生の
通知を割り込みによって受けた( 501 )処理装置
では、それまで実行していた処理(タスク)の実行状態
を次に継続実行が可能なようにタスクテーブルへ格納す
る( 502 )。次に、障害IPの状態情報を、障害
IPが格納した記憶領域から読みだしく 503 ) 
、処理装置制御テーブルへ格納しく 504 ) 、仮
想IP実行の準備を行なう。上記処理の完了後、仮想I
P実行制御処理へ制御を渡す。
In the figure, 501 to 504 are descriptions of processing contents, and 505
is a connector for processing flow description. The processing device that receives the notification of the occurrence of a failure by an interrupt (501) stores the execution state of the process (task) that was being executed up to that point in the task table so that it can be continued (502). Next, read the status information of the failed IP from the storage area stored by the failed IP (503).
, and store it in the processing device control table (504), and prepare for virtual IP execution. After completing the above process, the virtual I
Transfer control to P execution control processing.

第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図の後
に述べる。
FIGS. 6(a) and 6(b) show virtual RP execution control processing 600.
610 is a flowchart. This process corresponds to FIG. 1 106. In the figure, 601, 602, and 604 are descriptions of processing contents, and 505, 603, and 802 are connectors. The virtual IP execution control process generates a timer interrupt when the virtual IP execution exceeds the set time, and
In order to pass control to the P execution support process, set the time for virtual IP execution and set that value in the timer (6
01). Then, virtual IP processing using virtual IP execution is started (602). Process 604 will be described after FIG.

第7図は仮想IP実行における処理700の説明図であ
る。図において、701 、702 、703は処理内
容の記述、603 、704はコネクタである。通常、
これらの処理はハードウェアによって行われる。
FIG. 7 is an explanatory diagram of processing 700 in virtual IP execution. In the figure, 701, 702, and 703 are descriptions of processing contents, and 603 and 704 are connectors. usually,
These processes are performed by hardware.

処理701は命令フェッチである。処理702はフェッ
チした命令が仮想IP実行で実行可能か否かを判別する
部分であり、先に述べたように、仮想rP実行をプラブ
レムモードとする場合には、スーパバイザモードでのみ
実行可能な命令が仮想IP実行で実行不可能な命令とな
る。また、例えば従来技術(特開昭57−212680
号公!!りに示されるようなハードウェア、マイクロプ
ログラムによって制御される特別の実行モードを利用す
ることも可能である。処理703は命令の実行である。
Process 701 is an instruction fetch. Processing 702 is a part that determines whether the fetched instruction can be executed in virtual IP execution or not. As mentioned earlier, when virtual rP execution is set to programm mode, it is determined whether the fetched instruction is executable only in supervisor mode. The instruction becomes an instruction that cannot be executed by virtual IP execution. In addition, for example, the prior art (Japanese Patent Application Laid-Open No. 57-212680
Lord! ! It is also possible to use special execution modes controlled by hardware or microprograms, as shown below. Process 703 is instruction execution.

命令が仮想IP実行で実行可能な間は、701〜703
の処理が繰り返し行われ、処理が進行する。仮想IP実
行で実行できない命令が現れた場合には、仮想IP実行
支援処理に制御が渡る。
701 to 703 while the instruction can be executed by virtual IP execution.
The process is repeated and the process progresses. If an instruction that cannot be executed by virtual IP execution appears, control is passed to virtual IP execution support processing.

第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)。
FIG. 8 is an explanatory diagram showing a flow 800 of virtual IP execution support processing. This process corresponds to FIG. 1 123. In the figure, 801, 803, 804, and 805 are descriptions of processing contents, and 704, 802, and 603 are connectors. This provisional 9J! , virtual IP is used for IP execution support processing.
If an instruction that cannot be directly executed in P execution appears, control is transferred when the time set for virtual IP execution has elapsed. In this process, it is first determined whether or not the timer has ended (801), and if the timer has ended, control is passed to the virtual IP execution control process. If the timer has not ended, the instruction being executed is simulated (803), and as a result, it is determined whether or not it can be interrupted (804).
. If interruption is not possible, start virtual IP execution again. If it becomes possible to interrupt the process, the status of the process being executed by virtual IP execution can be stored in the task table that controls execution in the real computer state, so there is no need to continue virtual IP execution (, In order to finish this, the status of the process being executed by virtual IP execution is stored in the task table, and
P execution is ended (805'). When the timer expires, execution of the virtual IP is suspended and control is passed to the dispatcher to execute other tasks. Thereafter, the processing status of the virtual IP execution control process is stored in the task table so that the virtual IP can be re-executed (604).

以上、主にソフトウェアによって仮想IP実行を可能と
する一実施例について述べた。なお、仮想IPの実行は
、上記の方法以外にも、専用のハードウェア等を用いて
実現してもよい。その際、仮想IP実行支援処理等の処
理順序が多少異なってもよい。
So far, an embodiment has been described that enables virtual IP execution mainly by software. In addition to the method described above, the virtual IP may be executed using dedicated hardware or the like. At that time, the processing order of the virtual IP execution support processing and the like may be slightly different.

〔発明の効果〕〔Effect of the invention〕

以上詳しく説明したように、本発明のマルチプロセッサ
システムでは、複数処理装置の一つに障害が発生したと
き、障害発生の通知を受けた正常な処理装置が臨時に仮
想処理装置を作成し、この仮想処理装置上で、障害処理
装置の実行していた処理を引継いで実行するように構成
したので、この仮想処理装置によって、上記正常な処理
装置が本来行なうべき処理と、上記障害処理装置から引
継いだ処理とを、同時に並列的に実行することが可能と
なり、その結果、障害発生時に実行されていた処理がど
のような処理状態にあっても(たとえ、ロック待ち状態
であっても)、不都合やシステム機能停止などの事態が
生じることなく、その代行回復(継続実行)処理を実行
することができる等、優れた効果を奏する。
As explained in detail above, in the multiprocessor system of the present invention, when a failure occurs in one of the multiple processing units, the normal processing unit that has received notification of the failure temporarily creates a virtual processing unit to create a virtual processing unit. Since the virtual processing device is configured to take over and execute the processing that was being executed by the faulty processing device, this virtual processing device can perform the processing that should normally be performed by the above normal processing device and take over from the faulty processing device. As a result, no matter what state the process being executed at the time of failure is (even if it is waiting for a lock), the inconvenience will not occur. This has excellent effects, such as being able to execute the recovery (continuation execution) processing on behalf of the user without causing any situations such as system failure or system outage.

【図面の簡単な説明】[Brief explanation of drawings]

第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
FIG. 1(a) is a block diagram showing an overview of the configuration of a multiprocessor system to which an embodiment of the processing execution control method of the present invention is applied; Explanatory diagram showing the flow of operation of the embodiment, second
3 and 3 are explanatory diagrams of processing operations for explaining the problems to be solved by the present invention, and FIG. 4 is an explanatory diagram of an embodiment of a processing device control table that defines an environment for virtual IP execution. 5, FIGS. 6(a) and 6(b), FIG. 7, and FIG. 8 are flowcharts of each process for executing the virtual IP. [Explanation of symbols] 10, 20--Processing device (IP), 23--Virtual IP, 30--Main storage device, 31--IP status information, 101, 102--Fault Processing at the occurrence IP, 103-119... Processing at the IP that executes virtual IP, 114... Notification of failure occurrence, 121...
・Virtual IP execution control processing, 122...Virtual IP execution,
123...Virtual IP execution support processing, 201, 206
, 301 , 306...Normal processing in IP, 2
08, 303, 310... Processing while securing lock A, 203°210, 308... Lock A waiting state,
204, 304... Failure occurrence, 404... Processing device control table, 405... Failure state information storage area,
501-504, 601, 602. 604, 701-703, 801, 803-80
5...Description of virtual IP execution processing contents Agent Patent attorney Kenjibu 2 (1 other person) ;MU) to Fig. 4 Fig. f

Claims (1)

【特許請求の範囲】 1、複数の処理装置と、該複数の処理装置により共有さ
れる主記憶装置と、前記処理装置の一つにおいて実行し
ていた処理の継続実行が不可能となつた時、その事実を
他の動作中の処理装置の少なくとも一つに通知する手段
とを有するマルチプロセッサシステムにおいて、前記通
知を受けた処理装置が、前記処理の継続実行が不可能と
なつた処理装置の処理実行中断時の状態を表す値を用い
て、前記処理の継続実行が不可能となつた処理装置にお
いて実行が中断された処理を継続実行することを特徴と
する処理の実行制御方法。 2、前記処理実行中断時の処理装置の状態を表す値を用
いて、処理の継続実行を行なう際、仮想計算機システム
の一構成要素である仮想処理装置を用いることを特徴と
する請求項1記載の処理の実行制御方法。 3、前記仮想計算機システムの一構成要素である仮想処
理装置を用いる際、仮想計算機システムの一構成要素で
ある仮想処理装置を生成し、その実行を制御する処理は
、通常の計算処理における一つの処理として実行される
ことを特徴とする請求項1又は請求項2記載の処理の実
行制御方法。 4、前記仮想計算機システムの一構成要素である仮想処
理装置を用いる際、仮想計算機システムの一構成要素で
ある仮想処理装置を生成し、その実行を制御する処理は
、処理の継続実行が必要な間だけ実行されることを特徴
とする請求項1ないし請求項3のいずれか一つに記載の
処理の実行制御方法。 5、前記継続実行される処理の実行時間をタイマによつ
て設定することを特徴とする請求項1記載の処理の実行
制御方法。 6、前記処理の継続実行において、前記通知を受けた処
理装置が、実行していた処理を一時中断し、継続実行す
べき仮想処理装置による処理と、前記通知を受けた処理
装置上で継続実行のために一時的に中断された処理とを
、時分割的に実行する事を特徴とする請求項1又は請求
項2記載の処理の実行制御方法。 7、前記仮想処理装置による処理の継続実行において、
直接実行することができない命令が発行された場合、該
命令のシミュレーション処理を行なう事を特徴とする請
求項1又は請求項2記載の処理の実行制御方法。 8、前記仮想処理装置上で継続実行される、障害発生処
理装置の行なうべき処理が終了した時、前記仮想処理装
置を解消することを特徴とする請求項1又は請求項2記
載の処理の実行制御方法。
[Claims] 1. A plurality of processing devices, a main storage device shared by the plurality of processing devices, and when it becomes impossible to continue executing the process being executed in one of the processing devices. , and means for notifying at least one of the other operating processing devices of this fact, the processing device that has received the notification is the one that is unable to continue executing the processing. 1. A method for controlling execution of a process, characterized in that a value representing a state at the time of interruption of the execution of the process is used to continue executing the process whose execution has been interrupted in a processing device that has become unable to continue executing the process. 2. A virtual processing device that is a component of a virtual computer system is used when continuing the processing using the value representing the state of the processing device at the time of interruption of the processing execution. Execution control method for processing. 3. When using a virtual processing device that is a component of the virtual computer system, the process of generating the virtual processing device that is a component of the virtual computer system and controlling its execution is one of the steps in normal calculation processing. 3. The process execution control method according to claim 1, wherein the method is executed as a process. 4. When using a virtual processing device that is a component of the virtual computer system, the process of generating the virtual processing device that is a component of the virtual computer system and controlling its execution requires continuous execution of the process. 4. The process execution control method according to claim 3, wherein the process is executed only for a certain period of time. 5. The process execution control method according to claim 1, wherein the execution time of the continuously executed process is set by a timer. 6. In the continued execution of the process, the processing device that received the notification temporarily suspends the process it was executing, and performs the process that should be continued by the virtual processing device and continues execution on the processing device that received the notification. 3. The process execution control method according to claim 1, wherein the process is executed in a time-sharing manner. 7. In the continued execution of processing by the virtual processing device,
3. The process execution control method according to claim 1, wherein when an instruction that cannot be directly executed is issued, a simulation process of the instruction is performed. 8. Execution of the process according to claim 1 or 2, characterized in that when the process to be performed by the failed processing device that is continuously executed on the virtual processing device is completed, the virtual processing device is canceled. Control method.
JP8567889A 1989-04-06 1989-04-06 How to continue processing Expired - Lifetime JP2823230B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8567889A JP2823230B2 (en) 1989-04-06 1989-04-06 How to continue processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8567889A JP2823230B2 (en) 1989-04-06 1989-04-06 How to continue processing

Publications (2)

Publication Number Publication Date
JPH02266457A true JPH02266457A (en) 1990-10-31
JP2823230B2 JP2823230B2 (en) 1998-11-11

Family

ID=13865496

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8567889A Expired - Lifetime JP2823230B2 (en) 1989-04-06 1989-04-06 How to continue processing

Country Status (1)

Country Link
JP (1) JP2823230B2 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10283210A (en) * 1997-04-01 1998-10-23 Hitachi Ltd Virtual machine movement control system between virtual machine systems
US5983359A (en) * 1996-03-18 1999-11-09 Hitachi, Ltd. Processor fault recovering method for information processing system
JP2003296133A (en) * 2002-04-05 2003-10-17 Fuji Electric Co Ltd Controller
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 (en) * 2007-12-11 2009-07-02 Hitachi Ltd Method of migration between virtual computer and physical computer, and computer system thereof
JP2010176602A (en) * 2009-02-02 2010-08-12 Nec Corp Apparatus, system, method and program for duplication processing

Cited By (6)

* Cited by examiner, † Cited by third party
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 (en) * 1997-04-01 1998-10-23 Hitachi Ltd Virtual machine movement control system between virtual machine systems
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 (en) * 2002-04-05 2003-10-17 Fuji Electric Co Ltd Controller
JP2009145931A (en) * 2007-12-11 2009-07-02 Hitachi Ltd Method of migration between virtual computer and physical computer, and computer system thereof
JP2010176602A (en) * 2009-02-02 2010-08-12 Nec Corp Apparatus, system, method and program for duplication processing

Also Published As

Publication number Publication date
JP2823230B2 (en) 1998-11-11

Similar Documents

Publication Publication Date Title
JP2505928B2 (en) Checkpoint mechanism for fault tolerant systems
US5815651A (en) Method and apparatus for CPU failure recovery in symmetric multi-processing systems
JP2552651B2 (en) Reconfigurable dual processor system
JP3196004B2 (en) Failure recovery processing method
US5157663A (en) Fault tolerant computer system
JP2765411B2 (en) Virtual computer system
JPH0812618B2 (en) Error recovery device and method by retry and checkpoint setting
JPH02171934A (en) Virtual machine system
JPH07117903B2 (en) Disaster recovery method
JP3301992B2 (en) Computer system with power failure countermeasure and method of operation
JPH02266457A (en) Method for controlling execution of processing
JP3172007B2 (en) Disk copy processing method
JP3332098B2 (en) Redundant processor unit
JP3536293B2 (en) Redundant computer equipment
JPH05314075A (en) On-line computer system
JP2730209B2 (en) I / O control method
JPS62194549A (en) Cpu-io parallel working simulation system
JPS6128141B2 (en)
JPH0293953A (en) Duplex information processor
JPS62212865A (en) Multiprocessor control system
JPH08235133A (en) Multiprocessing system
JPH02114364A (en) Abnormality processing system in multiprocessor system
JPS62290942A (en) Debugger starting system
JPH0395634A (en) Restart control system for computer system
JPH04171539A (en) Duplex computer system