JP2001022718A - Parallel processor - Google Patents

Parallel processor

Info

Publication number
JP2001022718A
JP2001022718A JP11195647A JP19564799A JP2001022718A JP 2001022718 A JP2001022718 A JP 2001022718A JP 11195647 A JP11195647 A JP 11195647A JP 19564799 A JP19564799 A JP 19564799A JP 2001022718 A JP2001022718 A JP 2001022718A
Authority
JP
Japan
Prior art keywords
processing
processor
processing request
processors
failed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP11195647A
Other languages
Japanese (ja)
Inventor
Masaya Miyazaki
雅也 宮▲ざき▼
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP11195647A priority Critical patent/JP2001022718A/en
Publication of JP2001022718A publication Critical patent/JP2001022718A/en
Pending legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To enable a standby processor to take over the processing of one of in-use processors speedily without losing multiple processing requests if the in-use processor gets out of order and to avoid deterioration in system performance due to access convergence on a common memory at the time of normal operation. SOLUTION: The parallel processor is equipped with processors 11 to 18; and the N processors 11 to 16 are in-use processor and the remaining processors 17 and 18 are standby processors. The in-use processors 11 to 16 process external processing requests and the standby processors 17 and 18 temporarily store processing requests addressed to the in-use processors 11 to 16 in a main storage part 102, and read out and process the processing request to one of the in-use processors 11 to 16 which is stored in the main storage part 10 if the in-use processor gets out of order.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、N個の現用プロセ
ッサモジュールとM個の予備プロセッサモジュールによ
り構成されたマルチプロセッサ構成の情報処理装置(例
えば通信制御装置)において、現用プロセッサモジュー
ルが故障した時、故障したプロセッサが保持している未
処理の処理要求を予備プロセッサモジュールに引き継ぐ
技術に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a multi-processor information processing device (for example, a communication control device) comprising N active processor modules and M spare processor modules when the active processor module fails. The present invention also relates to a technique for transferring an unprocessed processing request held by a failed processor to a spare processor module.

【0002】[0002]

【従来の技術】大量の処理要求コマンドを高速処理する
情報処理装置では、処理能力を高めるためマルチプロセ
ッサ構成を採用することが従来から行われている。ま
た、このような情報処理装置にはフォールトトレラント
性が求められるため、1〜2個のプロセッサを予備とし
て待機させ、現用プロセッサが故障した時にその処理を
予備プロセッサが引き継ぐことによりフォールトトレラ
ント性を実現するという手法がよく用いられる。
2. Description of the Related Art In an information processing apparatus for processing a large number of processing request commands at a high speed, a multiprocessor configuration has conventionally been employed in order to increase the processing capacity. Further, since such an information processing apparatus is required to be fault-tolerant, fault-tolerance is realized by allowing one or two processors to be on standby and taking over the processing when the active processor fails. Is often used.

【0003】特開平4−217059号には、このよう
な現用/予備構成のマルチプロセッサシステムにおいて
故障した現用プロセッサの処理を予備プロセッサが引き
継ぐ方法が開示されている。
Japanese Patent Application Laid-Open No. 4-217059 discloses a method in which a spare processor takes over the processing of a failed active processor in such a working / standby multiprocessor system.

【0004】図7は、このマルチプロセッサシステムの
構成を示しており、4つのプロセッサカード11〜14
が共有メモリカード21に接続されている。各プロセッ
サは、同一構成を持ち、CPU101、ランダムアクセ
スメモリ102、メモリインタフェース109により構
成されている。
FIG. 7 shows the configuration of this multiprocessor system, in which four processor cards 11 to 14 are provided.
Are connected to the shared memory card 21. Each processor has the same configuration and includes a CPU 101, a random access memory 102, and a memory interface 109.

【0005】図8は、図7で示したハードウェア構成上
で動作するソフトウェアの動作イメージ図である。共有
メモリ21には、各プロセッサカードへメッセージを伝
達するための共有メッセージキュー2111〜2114
がソフトウェアにより実現されている。各プロセッサカ
ード上では、実際にメッセージを処理する2つのタスク
1011、1012が動作しており、それぞれのタスク
へメッセージを伝達するためのローカルメッセージキュ
ー1001、1002が設けられている。またタスク1
021は、共有メッセージキュー2111〜2114を
監視し、メッセージが格納されると、そのメッセージの
送信先タスクを調べ、該当するタスクのローカルメッセ
ージキューにメッセージをコピーする。ただし、メッセ
ージをコピーした時点で、共有メッセージに格納されて
いるコピー元のメッセージは消去しない。
FIG. 8 is an operation image diagram of software operating on the hardware configuration shown in FIG. The shared memory 21 has a shared message queue 2111 to 2114 for transmitting a message to each processor card.
Is realized by software. On each processor card, two tasks 1011 and 1012 for actually processing a message are operating, and local message queues 1001 and 1002 for transmitting a message to each task are provided. Also task 1
021 monitors the shared message queues 211 to 2114, and when a message is stored, checks the destination task of the message and copies the message to the local message queue of the task. However, when the message is copied, the copy source message stored in the shared message is not deleted.

【0006】次に、プロセッサカード11のタスク10
12からプロセッサカード13のタスク1012にメッ
セージを送信する時の動作について説明する。
Next, the task 10 of the processor card 11
The operation when transmitting a message from the task 12 to the task 1012 of the processor card 13 will be described.

【0007】プロセッサカード11のタスク1012
は、送信メッセージを共有メモリ21上の共有メッセー
ジキュー2113に書き込む。プロセッサカード13上
のタスク1021は、共有メッセージキュー2113に
メッセージが書き込まれたことを検知し、その宛先がタ
スク1012宛であることを判別し、共有メッセージキ
ュー2113に格納されたメッセージをプロセッサカー
ド13のローカルメッセージキュー1002にコピー
し、共有メッセージキュー2113上のメッセージには
コピー済のフラグをセットする。次にプロセッサカード
13のタスク1012はローカルメッセージキュー10
02からメッセージを読み込み、その内容に従って処理
を行い、処理が完了した時点でメッセージ消去要求をタ
スク1021に送る。タスク1021は、該当するメッ
セージを共有メッセージキュー2113から消去する。
The task 1012 of the processor card 11
Writes the transmission message to the shared message queue 2113 on the shared memory 21. The task 1021 on the processor card 13 detects that the message has been written to the shared message queue 2113, determines that the destination is the task 1012, and transfers the message stored in the shared message queue 2113 to the processor card 1313. Is copied to the local message queue 1002, and the message on the shared message queue 2113 is set with a copied flag. Next, the task 1012 of the processor card 13 is
02, the message is read, and processing is performed in accordance with the content. When the processing is completed, a message deletion request is sent to the task 1021. The task 1021 deletes the corresponding message from the shared message queue 2113.

【0008】次に、プロセッサカードの1つが故障した
時の動作について簡単に説明する。まず、図8において
プロセッサカード14は予備プロセッサカードであり、
プロセッサカード14上のタスク1011と1012は
バックアップタスクとして待機していると仮定する。プ
ロセッサカード13が故障すると、共有メッセージキュ
ー2113内に保持されているメッセージがメッセージ
キュー2114にコピーされ、メッセージキュー211
3内のメッセージは破棄される。また、メッセージをコ
ピーする時にコピー済フラグがリセットされる。このよ
うにして、プロセッサカード13のローカルメッセージ
キュー1001、1002および共有メッセージキュー
2113内に格納されていた未処理のメッセージがプロ
セッサカード14のバックアップタスク1001、10
02に転送され、故障したプロセッサカード13宛のメ
ッセージの処理が、プロセッサカード14上で正常に継
続される。
Next, the operation when one of the processor cards fails will be briefly described. First, in FIG. 8, the processor card 14 is a spare processor card,
Assume that tasks 1011 and 1012 on processor card 14 are waiting as backup tasks. When the processor card 13 fails, the message held in the shared message queue 2113 is copied to the message queue 2114, and the message queue 211
The message in 3 is discarded. Further, the copied flag is reset when the message is copied. In this manner, unprocessed messages stored in the local message queues 1001 and 1002 and the shared message queue 2113 of the processor card 13 are transferred to the backup tasks 1001 and 10
02, the processing of the message addressed to the failed processor card 13 is normally continued on the processor card 14.

【0009】[0009]

【発明が解決しようとする課題】このような共有メモリ
を介してメッセージを送受信する場合、任意のプロセッ
サが故障しても、そのプロセッサ向けのメッセージが他
プロセッサからアクセス可能な共有メモリ上に保存され
ているため、故障したプロセッサの処理を比較的簡単に
引き継ぐことができるという利点がある。しかしなが
ら、共有メモリには各プロセッサが受信したメッセージ
を処理するためのデータも同時に格納されるため、共有
メモリへのアクセスが集中し、システム全体性能を低下
させるという課題がある。
When a message is transmitted / received via such a shared memory, even if an arbitrary processor fails, a message for that processor is stored in a shared memory accessible from another processor. Therefore, there is an advantage that the processing of the failed processor can be relatively easily taken over. However, since data for processing a message received by each processor is also stored in the shared memory at the same time, access to the shared memory is concentrated and the overall system performance is degraded.

【0010】この課題を解決する方法の一つとして、各
プロセッサ向けのメッセージを格納するキューをプロセ
ッサモジュール内に持つという方法がある。しかしなが
ら、このような構成をとった場合、任意のプロセッサモ
ジュールが故障した時、そのモジュール内に保持してい
るメッセージを予備プロセッサに転送する必要があり、
引継ぎ処理時間が長くなるという課題がある。また、故
障の内容によっては、引き継ぐべきメッセージの転送を
行うことができず、故障したモジュール内に保持されて
いた複数のメッセージが消失してしまうという課題があ
る。
As one of the methods for solving this problem, there is a method of having a queue for storing a message for each processor in a processor module. However, in such a configuration, when any processor module fails, it is necessary to transfer a message held in the module to a spare processor,
There is a problem that the takeover processing time becomes long. Further, depending on the content of the failure, it is not possible to transfer a message to be taken over, and there is a problem that a plurality of messages held in the failed module are lost.

【0011】本発明は、上記のような点に鑑みてなされ
たもので、現用プロセッサの1つが故障した時、その処
理を速やかに、かつ複数の処理要求を消失することな
く、予備プロセッサに引き継ぐことができ、さらに通常
運用時において、共有メモリへのアクセス集中によるシ
ステム性能の劣化をを回避することができる並列処理装
置を提供することを目的とする。
The present invention has been made in view of the above points, and when one of the active processors fails, the processing is immediately transferred to a spare processor without losing a plurality of processing requests. It is another object of the present invention to provide a parallel processing apparatus capable of avoiding deterioration of system performance due to concentrated access to a shared memory during normal operation.

【0012】[0012]

【課題を解決するための手段】本発明の並列処理装置
は、複数のプロセッサと、故障検出手段と、引継ぎ制御
手段を備え、各プロセッサは、記憶手段と、動作モード
決定手段と、自プロセッサ識別手段を備え、複数のプロ
セッサの内のN個のプロセッサの動作モード決定手段を
現用とし、残りのM個のプロセッサの動作モード決定手
段を予備とし、動作モードが現用であるプロセッサ(現
用プロセッサ)は、外部から自プロセッサ宛に送出され
た処理要求を処理し、動作モード決定手段が予備である
プロセッサ(予備プロセッサ)は、現用プロセッサ宛の
処理要求を記憶手段に一時的に記憶し、現用プロセッサ
の一つが故障した時、引継ぎ制御手段により、故障した
現用プロセッサの処理を引き継ぐと決定した予備プロセ
ッサの一つは、記憶部に記憶されている故障した現用プ
ロセッサ宛の処理要求の中で、未処理の処理要求を処理
するようにしたものである。
A parallel processing apparatus according to the present invention includes a plurality of processors, a failure detecting means, and a takeover control means, each of which includes a storage means, an operation mode determining means, and a self processor identification. A processor having an operating mode determining means for N processors among the plurality of processors and an operating mode determining means for the remaining M processors as spares, The processing request sent from the outside to its own processor is processed, and the processor (spare processor) whose operation mode determination means is a spare temporarily stores the processing request addressed to the working processor in the storage means, When one of the processors fails, one of the spare processors determined by the takeover control means to take over the processing of the failed active processor is stored in the memory. In the processing request addressed active processor failed is stored in, but which is adapted to process the processing request outstanding.

【0013】本発明の並列処理装置は、上記並列処理装
置において、プロセッサは、処理要求バッファと、汎用
的な記憶手段を備え、現用プロセッサは、自プロセッサ
宛の処理要求を処理要求バッファに一時的に記憶し、そ
の後、処理要求バッファから処理要求を読み出して要求
に応じた処理を行い、予備プロセッサは、現用プロセッ
サ宛の処理要求を処理要求バッファに一時的に記憶し、
その後、処理要求バッファから処理要求を読み出して記
憶手段に一時的に記憶し、現用プロセッサの一つが故障
した時、引継ぎ制御手段により、故障した現用プロセッ
サの処理を引き継ぐと決定した予備プロセッサの一つ
は、故障したプロセッサ宛の処理要求のみを処理要求バ
ッファに記憶し続けるとともに、記憶手段に記憶されて
いる故障した現用プロセッサ宛の処理要求の中から、故
障が発生した時に処理中であった処理要求およびそれ以
降に記憶した処理要求を記憶順に読み出して処理し、そ
の処理がすべて完了した後、処理要求バッファに記憶さ
れている故障した現用プロセッサ宛の処理要求の処理を
開始するようにしたものである。
[0013] In the parallel processing device of the present invention, in the parallel processing device, the processor includes a processing request buffer and a general-purpose storage means, and the active processor temporarily stores a processing request addressed to its own processor in the processing request buffer. After that, the processing request is read from the processing request buffer and the processing corresponding to the request is performed, and the spare processor temporarily stores the processing request addressed to the active processor in the processing request buffer,
Thereafter, the processing request is read from the processing request buffer and temporarily stored in the storage unit, and when one of the active processors fails, one of the spare processors determined by the takeover control unit to take over the processing of the failed active processor. Indicates that only the processing request addressed to the failed processor is kept stored in the processing request buffer, and the processing request that was being processed when the failure occurred is selected from the processing requests addressed to the failed active processor stored in the storage means. A request and a processing request stored thereafter are read out and processed in the order of storage, and after all the processing is completed, processing of a processing request addressed to the failed active processor stored in the processing request buffer is started. It is.

【0014】本発明の並列処理装置は、上記並列処理装
置において、現用プロセッサの一つが故障した時、引継
ぎ制御手段により、故障した現用プロセッサの処理を引
き継ぐと決定した予備プロセッサの一つは、故障したプ
ロセッサ宛の処理要求のみを処理要求バッファに記憶し
続けるとともに、記憶手段に記憶されている前記故障し
た現用プロセッサ宛の処理要求の中から、故障が発生し
た時に処理中であった処理要求の次の処理要求以降に記
憶した処理要求を記憶順に読み出して処理し、その処理
が完了した後、処理要求バッファに記憶されている故障
した現用プロセッサ宛の処理要求の処理を開始するよう
にしたものである。
According to the parallel processing apparatus of the present invention, in the above-mentioned parallel processing apparatus, when one of the active processors fails, one of the spare processors determined by the takeover control means to take over the processing of the failed active processor is replaced by the failed processor. Only the processing request addressed to the failed processor is continuously stored in the processing request buffer, and among the processing requests addressed to the failed active processor stored in the storage unit, the processing request that was being processed when the failure occurred is selected. The processing requests stored after the next processing request are read out in the storage order and processed, and after the processing is completed, processing of the processing request addressed to the failed active processor stored in the processing request buffer is started. It is.

【0015】本発明の並列処理装置は、上記並列処理装
置において、現用プロセッサの一つが故障した時、引継
ぎ制御手段により、故障した現用プロセッサの処理を引
き継ぐと決定した予備プロセッサの一つは、故障したプ
ロセッサ宛の処理要求のみを処理要求バッファに記憶し
続けるとともに、まず、記憶手段に記憶されている故障
した現用プロセッサ宛の処理要求の中から、故障が発生
した時に処理中であった処理要求を読み出し、その処理
要求の継続または再実行が可能かどうかを判定し、継続
または再実行可能な場合、その処理を継続または再実行
し、継続も再実行も不可能な場合、その処理要求を破棄
し、次に処理中であった処理要求の次の処理要求以降に
記憶した処理要求を記憶順に読み出して処理し、その処
理が完了した後、処理要求バッファに記憶されている故
障した現用プロセッサ宛の処理要求の処理を開始するよ
うにしたものである。
[0015] In the parallel processing device of the present invention, in the parallel processing device, when one of the active processors fails, one of the spare processors determined by the takeover control means to take over the processing of the failed active processor is replaced by the failed processor. Only the processing request addressed to the failed processor is kept stored in the processing request buffer, and the processing request that was being processed when the failure occurred is selected from among the processing requests addressed to the failed active processor stored in the storage means. Is read, and it is determined whether the processing request can be continued or re-executed.If the processing request can be continued or re-executed, the processing is continued or re-executed. Discard, read out the processing requests stored after the next processing request of the processing request that was being processed next and process them, and after the processing is completed, Is obtained so as to start processing of the processing request of the failed active addressed processor is stored in the management request buffer.

【0016】本発明の並列処理装置は、上記並列処理装
置において、現用プロセッサは、処理要求バッファから
読み出した処理要求の処理が完了する毎に、予備プロセ
ッサに処理完了を通知し、予備プロセッサは、処理完了
が通知される毎に、記憶手段に記憶されている処理要求
の中の、処理が完了した現用プロセッサ宛の処理要求を
破棄するようにしたものである。
In the parallel processing apparatus of the present invention, in the above-mentioned parallel processing apparatus, the active processor notifies the standby processor of the completion of the processing every time the processing of the processing request read from the processing request buffer is completed. Each time a notification of processing completion is given, a processing request addressed to the working processor for which processing has been completed among processing requests stored in the storage means is discarded.

【0017】本発明の並列処理装置は、上記並列処理装
置において、すべての現用プロセッサおよびすべての予
備プロセッサから参照可能な共有記憶部を設け、共有記
憶部に、現用プロセッサのそれぞれに対応するカウンタ
領域を設け、現用プロセッサは、処理要求バッファから
読み出した処理要求の処理が完了する毎に、対応するカ
ウンタ領域の値をカウントアップし、予備プロセッサ
は、処理要求を破棄する毎に、対応する前記カウンタ領
域の値をカウントダウンするようにしたものである。
The parallel processing device according to the present invention, in the above-mentioned parallel processing device, includes a shared storage unit that can be referred to by all the active processors and all the spare processors, and the shared storage unit has a counter area corresponding to each of the active processors. The working processor counts up the value of the corresponding counter area every time the processing of the processing request read from the processing request buffer is completed, and the spare processor sets the corresponding counter every time the processing request is discarded. The value of the area is counted down.

【0018】本発明の並列処理装置は、上記並列処理装
置において、すべての現用プロセッサおよびすべての予
備プロセッサから参照可能な共有記憶部を設け、共有記
憶部に、現用プロセッサのそれぞれが処理中の処理要求
を識別する識別子を記憶する処理要求識別子領域を設
け、現用プロセッサは、処理要求バッファから読み出し
た処理要求の処理を開始する毎に、対応する処理要求識
別子領域に処理を開始した処理要求の識別子を記憶し、
現用プロセッサの一つが故障した時、引継ぎ制御手段に
より、故障した現用プロセッサの処理を引き継ぐと決定
した予備プロセッサの一つは、故障した現用プロセッサ
に対応する処理要求識別子領域の値を読み出し、記憶手
段に記憶されている処理要求の中から、故障した現用プ
ロセッサが処理中であった処理要求を判別するようにし
たものである。
In the parallel processing apparatus according to the present invention, in the above-described parallel processing apparatus, a shared storage unit which can be referred to by all the active processors and all the spare processors is provided. A processing request identifier area for storing an identifier for identifying a request is provided, and each time the active processor starts processing a processing request read from the processing request buffer, the identifier of the processing request that has started processing in the corresponding processing request identifier area. Remember
When one of the active processors has failed, one of the spare processors determined by the takeover control means to take over the processing of the failed active processor reads the value of the processing request identifier area corresponding to the failed active processor, and stores the data in the storage means. Is determined from the processing requests stored in the active processor.

【0019】[0019]

【発明の実施の形態】(実施の形態1)図1は、本発明
の実施の形態1の並列処理装置のブロック図を示す。
(Embodiment 1) FIG. 1 is a block diagram of a parallel processing apparatus according to Embodiment 1 of the present invention.

【0020】図1において、11〜18は同一構成のプ
ロセッサであり、11〜16が現用プロセッサ、17〜
18が予備プロセッサとして動作していると仮定してい
る。21は共有データを格納する共有メモリカード、3
1は外部との制御コマンド送受信を制御するコマンド中
継カード、61はプロセッサカード11〜16および共
有メモリカード21の故障発生を監視し、故障した現用
プロセッサの処理を引き継ぐ予備プロセッサを決定する
故障監視カードである。
In FIG. 1, 11 to 18 are processors having the same configuration, 11 to 16 are working processors, 17 to
It is assumed that 18 is operating as a spare processor. 21 is a shared memory card for storing shared data, 3
1 is a command relay card for controlling transmission / reception of control commands to / from the outside; 61 is a failure monitoring card for monitoring the occurrence of a failure in the processor cards 11 to 16 and the shared memory card 21 and determining a spare processor to take over the processing of the failed active processor It is.

【0021】プロセッサ11〜18は、CPU101、
ランダムアクセス可能な主記憶部102、IOバス41
からの制御コマンド受信を制御する受信制御部103、
受信した制御コマンドをFirst-In-First-Out方式で格納
する受信FIFO104、現用プロセッサ/予備プロセ
ッサのいずれとして動作するかを識別するモードフラグ
105、プロセッサを識別するIDを格納するプロセッ
サIDレジスタ、制御コマンドのIOバスへの出力を制
御する送信制御部107、Gバス制御部108、主記憶
部102や内部バスで発生するパリティエラーなどプロ
セッサ内部で発生した故障を検出する故障検出部109
から構成されている。41はプロセッサ11〜18とコ
マンド中継カード31を接続するIOバス、51はプロ
セッサ11〜18と共有メモリカード21を接続するG
バス、71は各カードの故障検出部と故障監視カード6
1を接続する監視バスである。
The processors 11 to 18 include a CPU 101,
Randomly accessible main storage unit 102, IO bus 41
A reception control unit 103 for controlling reception of a control command from the
A reception FIFO 104 for storing received control commands in a first-in-first-out manner, a mode flag 105 for identifying whether the processor operates as a working processor or a spare processor, a processor ID register for storing an ID for identifying a processor, and control. A transmission control unit 107 that controls the output of a command to the IO bus, a G bus control unit 108, and a failure detection unit 109 that detects a failure that has occurred inside the processor such as a parity error that occurs in the main storage unit 102 or an internal bus.
It is composed of Reference numeral 41 denotes an IO bus that connects the processors 11 to 18 to the command relay card 31, and 51 denotes a G that connects the processors 11 to 18 and the shared memory card 21.
The bus 71 is a failure detection unit and a failure monitoring card 6 for each card.
1 is a monitoring bus for connecting to the monitoring bus.

【0022】なお、11〜16が現用プロセッサ、17
〜18が予備プロセッサと仮定しているため、現用プロ
セッサ11〜16のモードフラグ105は0にリセット
されており、予備プロセッサ17〜18のモードフラグ
105は1にセットされている。受信制御部103は、
モードフラグ105がリセットされている時は、自プロ
セッサ宛の制御コマンドのみを受信し、モードフラグ1
05がセットされている時は、すべての現用プロセッサ
宛の制御コマンドを受信する。また、CPU101上で
動作する処理プログラムもモードフラグの値によりその
処理内容が変化する。
It is to be noted that reference numerals 11 to 16 denote working processors, and 17
18 are assumed to be spare processors, the mode flags 105 of the active processors 11 to 16 are reset to 0, and the mode flags 105 of the spare processors 17 to 18 are set to 1. The reception control unit 103
When the mode flag 105 is reset, only the control command addressed to the own processor is received, and the mode flag 1
When 05 is set, control commands addressed to all active processors are received. Further, the processing content of the processing program operating on the CPU 101 also changes depending on the value of the mode flag.

【0023】図2は、コマンド中継カードとプロセッサ
11〜18間で送受信される制御コマンドのフォーマッ
トを示している。401はコマンドの送信先を示す送信
先IDフィールド、402はコマンドの送信元を示す送
信元IDフィールド、403は制御コマンド全体のサイ
ズを示すサイズフィールド、404は制御コマンドを一
意に識別するためのシリアル番号フィールド、405は
処理要求内容を示す処理種別フィールド、406は処理
種別フィールド405に指定された処理を実施する時の
パラメータ等を格納するデータフィールド、407は制
御コマンドの最後を示す終了コードフィールドである。
FIG. 2 shows a format of a control command transmitted and received between the command relay card and the processors 11 to 18. Reference numeral 401 denotes a transmission destination ID field indicating the transmission destination of the command, 402 denotes a transmission source ID field indicating the transmission source of the command, 403 denotes a size field indicating the size of the entire control command, and 404 denotes a serial number for uniquely identifying the control command. A number field, 405 is a processing type field indicating the contents of the processing request, 406 is a data field for storing parameters and the like when the processing specified in the processing type field 405 is performed, and 407 is an end code field indicating the end of the control command. is there.

【0024】図3は、予備プロセッサ17、18の主記
憶部102上にソフトウェアによって構築された、現用
プロセッサ11〜16宛の制御コマンドを一時的に記憶
するためのデータ構造を示す。201は現用プロセッサ
11宛に送信された制御コマンドをFirst-In-First-Out
方式で格納する受信キューであり、受信FIFO104
の容量に制御コマンドの最大サイズを加えた容量を持
つ。同様に202〜206はそれぞれ現用プロセッサ1
2〜16宛に送信された制御コマンドを格納する。
FIG. 3 shows a data structure for temporarily storing control commands addressed to the active processors 11 to 16 constructed by software on the main storage units 102 of the standby processors 17 and 18. Reference numeral 201 denotes a first-in-first-out control command transmitted to the active processor 11.
This is a reception queue that stores data in the reception FIFO 104
Has the capacity of the maximum size of the control command added to the capacity of the control command. Similarly, reference numerals 202 to 206 denote active processors 1 respectively.
The control commands transmitted to addresses 2 to 16 are stored.

【0025】図4は、共有メモリ21上にソフトウェア
によって構築された、制御コマンド処理完了通知用のデ
ータ構造を示す。211は現用プロセッサ11が制御コ
マンドの処理を完了する毎にインクリメントされ、予備
プロセッサ17が受信キュー201から制御コマンドを
読み出して廃棄する毎にデクリメントされる処理完了カ
ウンタである。同様に212〜216は現用プロセッサ
12〜16によりインクリメントされ、予備プロセッサ
17によりデクリメントされる。また、221〜226
は、現用プロセッサ11〜16によりインクリメントさ
れ、予備プロセッサ18によりデクリメントされる。
FIG. 4 shows a data structure for notifying completion of control command processing, which is constructed on the shared memory 21 by software. A processing completion counter 211 is incremented each time the active processor 11 completes processing of the control command, and decremented each time the standby processor 17 reads out the control command from the reception queue 201 and discards it. Similarly, 212 to 216 are incremented by the working processors 12 to 16 and decremented by the spare processor 17. Also, 221 to 226
Is incremented by the active processors 11 to 16 and decremented by the standby processor 18.

【0026】以下、図1〜4を用いて本実施の形態1の
動作を説明する。
The operation of the first embodiment will be described below with reference to FIGS.

【0027】まず、外部から制御コマンドがコマンド中
継カード31に到着すると、コマンド中継カード31
は、現用プロセッサ11〜16の中から一つの現用プロ
セッサを選択する。本実施の形態1のコマンド中継カー
ド31は、ラウンドロビン方式で現用プロセッサを選択
するため、まず現用プロセッサ11が選択され、次に現
用プロセッサ12、13、14、15、16と選択さ
れ、それ以降は再び現用プロセッサ11が選択される。
今、外部から始めて制御コマンドが到着したと仮定する
と、現用プロセッサ11が選択されるため、コマンド中
継カード31は制御コマンドの送信先IDフィールド4
01に現用プロセッサ11のプロセッサIDを書込み、
制御コマンドをIOバス41に送出する。なお、現用プ
ロセッサの選択方法には、受信FIFO104の残留制
御コマンド数が少ないものを選択するなど様々な実施の
形態が考えられる。また、初期状態において、プロセッ
サ11〜18の受信FIFO104および受信キュー2
01〜206はすべて空であり、処理完了カウンタ21
1〜216、221〜226はすべて0である。
First, when a control command arrives at the command relay card 31 from the outside, the command relay card 31
Selects one working processor from the working processors 11 to 16. In the command relay card 31 according to the first embodiment, the active processor 11 is selected first, and then the active processors 12, 13, 14, 15, and 16 are selected in order to select the active processor in a round-robin manner. , The working processor 11 is selected again.
Now, assuming that the control command arrives from the outside for the first time, the active processor 11 is selected, so that the command relay card 31 transmits the control command destination ID field 4
01 is written into the processor ID of the active processor 11,
The control command is transmitted to the IO bus 41. Note that various embodiments are conceivable as a method for selecting the active processor, such as selecting a processor having a small number of residual control commands in the reception FIFO 104. In the initial state, the reception FIFO 104 and the reception queue 2 of the processors 11 to 18 are used.
01 to 206 are all empty and the processing completion counter 21
1 to 216 and 221 to 226 are all 0.

【0028】モードフラグ105がリセットされている
現用プロセッサ11の受信制御部103は、常にIOバ
ス上に送出された制御コマンドの送信先IDとプロセッ
サIDレジスタ106に格納されているプロセッサID
を比較している。今、送信先IDに現用プロセッサ11
のプロセッサIDを持つ制御コマンドがIOバス41に
送出されたことを認識し、その制御コマンドの終了コー
ド407までを受信FIFO104に格納する。この
時、現用プロセッサ12〜16は、それぞれのプロセッ
サIDレジスタ106に格納するプロセッサIDと送信
先IDが一致しないため、IOバス41に送出された制
御コマンドを受信しない。
The reception control unit 103 of the working processor 11 in which the mode flag 105 is reset always transmits the transmission destination ID of the control command transmitted on the IO bus and the processor ID stored in the processor ID register 106.
Are compared. Now, the active processor 11 is added to the transmission destination ID.
, The control command having the processor ID of "1" is transmitted to the IO bus 41, and the control command up to the end code 407 is stored in the reception FIFO 104. At this time, the active processors 12 to 16 do not receive the control command transmitted to the IO bus 41 because the processor ID stored in each processor ID register 106 and the transmission destination ID do not match.

【0029】一方、モードフラグ105がセットされて
いる予備プロセッサ17および18の受信制御部は、プ
ロセッサIDレジスタ106に格納されているプロセッ
サIDとは無関係にすべてのプロセッサ宛制御コマンド
を受信するため、上記現用プロセッサ11宛の制御コマ
ンドを受信する。
On the other hand, the reception control units of the spare processors 17 and 18 in which the mode flag 105 is set receive all the processor-directed control commands regardless of the processor ID stored in the processor ID register 106. The control command addressed to the working processor 11 is received.

【0030】制御コマンドを受信した現用プロセッサ1
1の受信制御部103は、コマンド受信割込み信号をC
PU101に出力する。コマンド受信割込み信号を入力
したCPU101は、受信FIFO104に格納されて
いる最も古い制御コマンドを読み出し、その処理種別フ
ィールド405とデータフィールド406の内容に従っ
て要求された処理を行う。処理内容は処理種別フィール
ド105の内容によって変化するが、典型的な処理フロ
ーは、共有メモリ21上のデータを読み込み、一連の処
理を行い、その結果を再び共有メモリ21に書き戻すと
ともに、処理要求に対する応答コマンドを作成して、送
信制御部107を介して外部に送出することである。し
たがって、共有メモリ21上のデータを調べることによ
り、処理中の制御コマンドの処理経過を知ることが可能
である。そして、制御コマンドの処理が完了した時点
で、共有メモリ21上の処理完了カウンタ211の値を
カウントアップする。
Active processor 1 that has received the control command
1 receives the command reception interrupt signal C
Output to PU101. The CPU 101, which has received the command reception interrupt signal, reads the oldest control command stored in the reception FIFO 104 and performs the requested processing according to the contents of the processing type field 405 and the data field 406. Although the processing content changes depending on the content of the processing type field 105, a typical processing flow is to read data in the shared memory 21, perform a series of processing, write the result back to the shared memory 21 again, and Is created and sent to the outside via the transmission control unit 107. Therefore, by examining the data on the shared memory 21, it is possible to know the processing progress of the control command being processed. Then, when the processing of the control command is completed, the value of the processing completion counter 211 on the shared memory 21 is counted up.

【0031】一方、制御コマンドを受信した予備プロセ
ッサ17および18の受信制御部は、同様にコマンド受
信割込み信号をCPU101に出力し、コマンド受信割
込み信号を入力したCPU101は、受信FIFO10
4に格納されている制御コマンドを読み出す。しかし、
モードフラグ105がセットされている予備プロセッサ
17、18ではここからの処理が異なる。CPU101
は読み出した制御コマンドの送信先IDフィールドの値
を読み出し、その制御コマンドがどの現用プロセッサ宛
のものであったかを判別する。今、送信先IDフィール
ドには現用プロセッサ11のプロセッサIDが格納され
ているため、読み出した制御コマンドは、主記憶部10
2上の現用プロセッサ11用の受信キュー201に格納
される。予備プロセッサ17は、共有メモリ21上の現
用プロセッサ11用の処理完了カウンタ211の値をチ
ェックする。処理完了カウンタ211の値が正の場合
は、処理が完了した制御コマンドが予備プロセッサ17
の受信キュー201に残っていることを意味するため、
受信キュー201から制御コマンドを読み出して廃棄
し、処理完了カウンタ211の値をデクリメントする。
この処理を処理完了カウンタの値が0になるまで繰り返
す。ただし、今は処理カウンタ211の値が初期値の0
であるため、この処理は行わない。予備プロセッサ18
も同様に、同じ制御コマンドを受信キュー201に格納
する。
On the other hand, the reception control units of the standby processors 17 and 18 that have received the control command similarly output a command reception interrupt signal to the CPU 101, and the CPU 101 that has received the command reception interrupt signal transmits the command reception interrupt signal to the reception FIFO 10
4 is read out. But,
The processing from here is different between the spare processors 17 and 18 in which the mode flag 105 is set. CPU 101
Reads the value of the transmission destination ID field of the read control command, and determines to which active processor the control command was addressed. Since the processor ID of the active processor 11 is stored in the transmission destination ID field, the read control command is stored in the main storage unit 10.
2 is stored in the reception queue 201 for the active processor 11 on the second. The spare processor 17 checks the value of the processing completion counter 211 for the working processor 11 on the shared memory 21. When the value of the processing completion counter 211 is positive, the control command whose processing has been completed is
To mean that it remains in the receive queue 201 of
The control command is read from the reception queue 201 and discarded, and the value of the processing completion counter 211 is decremented.
This process is repeated until the value of the process completion counter becomes zero. However, the value of the processing counter 211 is now 0, which is the initial value.
Therefore, this process is not performed. Spare processor 18
Similarly, the same control command is stored in the reception queue 201.

【0032】次に、2個目の制御コマンドがコマンド中
継カード31に到着したとする。コマンド中継カード3
1は、次の送信先として現用プロセッサ12を選択する
ため、この制御コマンドは、現用プロセッサ12の受信
FIFO104に格納され、同様に処理される。また、
予備プロセッサ17、18においても同様に、この制御
コマンドはそれぞれの受信キュー202に格納される。
Next, it is assumed that the second control command has arrived at the command relay card 31. Command relay card 3
1 selects the working processor 12 as the next destination, the control command is stored in the receiving FIFO 104 of the working processor 12 and processed similarly. Also,
The control commands are similarly stored in the respective reception queues 202 in the spare processors 17 and 18.

【0033】同様に、次々とコマンド中継カード31に
到着する制御コマンドは、現用プロセッサ13、14、
15、16の受信FIFO104に格納されて処理され
るとともに、予備プロセッサ17、18の受信キュー2
03、204、205、206に格納される。
Similarly, the control commands arriving at the command relay card 31 one after another are the active processors 13, 14,
15 and 16 are stored and processed in the reception FIFOs 104 and the reception queues 2 of the standby processors 17 and 18
03, 204, 205, and 206.

【0034】次に、7個目の制御コマンドがコマンド中
継カード31に到着した時の動作を説明する。
Next, the operation when the seventh control command arrives at the command relay card 31 will be described.

【0035】7個目の制御コマンドは再び現用プロセッ
サ11に受信FIFOに格納され、同様に処理される。
The seventh control command is stored again in the receiving FIFO in the active processor 11 and processed in the same manner.

【0036】予備プロセッサ17、18も同様に、7個
目の制御コマンドを受信キュー201に格納する。しか
し、最後の処理が6個目までの制御コマンドの処理と異
なる。予備プロセッサが7個目の制御コマンドを受信キ
ュー201に格納した時点では、既に最初の制御コマン
ドの処理が現用プロセッサ11上で完了しており、処理
完了カウンタ211および221は1となっている。こ
れは、受信キュー201に処理完了済の制御コマンドが
1個残っていることを示しているため、それぞれのCP
U101はこの制御コマンドを読み出して破棄し、処理
完了カウンタ211、221をデクリメントする。この
時点で、受信キュー201には未処理あるいは処理中の
7番目の制御コマンドのみが格納されていることにな
る。
Similarly, the backup processors 17 and 18 store the seventh control command in the reception queue 201. However, the last processing differs from the processing of the sixth control command. When the spare processor stores the seventh control command in the reception queue 201, the processing of the first control command has already been completed on the active processor 11, and the processing completion counters 211 and 221 are 1. This indicates that one control command for which processing has been completed remains in the reception queue 201.
U101 reads out and discards this control command, and decrements the processing completion counters 211 and 221. At this point, only the seventh control command that has not been processed or is being processed is stored in the reception queue 201.

【0037】次に、制御コマンドが次々とコマンド中継
制御カード31に到着し、現用プロセッサ11〜16の
処理が一時的に間に合わなくなった場合の処理について
説明する。
Next, a description will be given of the processing when the control commands arrive at the command relay control card 31 one after another and the processing of the active processors 11 to 16 is temporarily out of time.

【0038】コマンド中継カード31は、現用プロセッ
サ11〜16の状態とは無関係に制御コマンドをIOバ
ス41上に送出し、各現用プロセッサ11〜16の受信
制御部103は、CPU101が実行している処理とは
無関係に、自プロセッサ宛の制御コマンドを受信FIF
O104に格納する。ただしCPU101は、制御コマ
ンドの処理中は、外部からのコマンド受信割込み入力を
禁止しているため、受信制御部103がCPU101に
コマンド受信割込みを出力しても、現在処理中の制御コ
マンドの処理が終わり、コマンド受信割込み入力を許可
するまで、受信FIFOからの制御コマンド読み出し処
理は実行されない。したがって、このような場合、受信
FIFOに次々と制御コマンドが滞留する。
The command relay card 31 sends a control command onto the IO bus 41 irrespective of the state of the working processors 11 to 16, and the reception control unit 103 of each of the working processors 11 to 16 is executed by the CPU 101. Irrespective of processing, receive control command addressed to own processor
It is stored in O104. However, since the CPU 101 prohibits the input of a command reception interrupt from outside during the processing of the control command, even if the reception control unit 103 outputs the command reception interrupt to the CPU 101, the processing of the control command currently being processed is not performed. At the end, the control command read processing from the reception FIFO is not executed until the command reception interrupt input is permitted. Therefore, in such a case, the control commands stay in the reception FIFO one after another.

【0039】一方、このような状態における予備プロセ
ッサ17、18の動作は以下のようになる。予備プロセ
ッサ17、18の受信FIFO104には、現用プロセ
ッサ11〜16宛のすべての制御コマンドが格納され
る。現用プロセッサ11〜16と同様に、受信FIFO
104から制御コマンドを読み出して、該当する受信キ
ュー201〜206に格納する間は受信制御部103か
らCPU101へのコマンド受信割込み入力は禁止され
るが、この処理は、制御コマンドの処理種別フィールド
405に指定された処理と比較すると、極めて短時間で
完了するため、受信FIFO104に制御コマンドが滞
留することはなく、次々と受信キュー201〜206に
格納される。また、前述したように、受信キュー201
〜206に制御コマンドを格納する毎に、処理完了済制
御コマンドを破棄するため、受信キュー201〜206
には、常に現用プロセッサ11〜16で処理中および受
信FIFOに滞留している制御コマンドが格納されてい
ることになる。
On the other hand, the operation of the spare processors 17 and 18 in such a state is as follows. All control commands addressed to the active processors 11 to 16 are stored in the reception FIFO 104 of the standby processors 17 and 18. As with the working processors 11 to 16, the reception FIFO
While the control command is read from the command queue 104 and stored in the corresponding reception queues 201 to 206, the command reception interrupt input from the reception control unit 103 to the CPU 101 is prohibited, but this process is performed in the process type field 405 of the control command. Compared to the designated process, the process is completed in an extremely short time, and thus the control command does not stay in the reception FIFO 104 and is stored in the reception queues 201 to 206 one after another. Further, as described above, the reception queue 201
Each time a control command is stored in each of the receiving queues 201 to 206
Means that the control commands being processed by the active processors 11 to 16 and staying in the reception FIFO are always stored.

【0040】次に、このような状態で現用プロセッサの
11の故障検出部109が主記憶部102のパリティエ
ラーを検出したと仮定する。
Next, it is assumed that the fault detection unit 109 of the active processor 11 detects a parity error in the main storage unit 102 in such a state.

【0041】パリティエラーを検出した現用プロセッサ
11の故障検出部109は、CPU101に故障検出割
込み信号を出力する。故障検出割込み信号を入力したC
PU101は、制御コマンドの処理を中断してアイドル
状態となる。また、受信制御部103は、IOバスから
の制御コマンド受信を停止する。
The failure detection unit 109 of the working processor 11 that has detected the parity error outputs a failure detection interrupt signal to the CPU 101. C to which failure detection interrupt signal is input
The PU 101 suspends the processing of the control command and enters an idle state. Further, the reception control unit 103 stops receiving control commands from the IO bus.

【0042】また、故障監視カード61は、監視バス7
1を介して現用プロセッサ11が故障したことを検出
し、まず処理を引き継ぐ予備プロセッサを決定する。
今、予備プロセッサ17、18には故障を検出していな
いため、プロセッサIDの小さい予備プロセッサ17を
選択し、Gバス51を介して予備プロセッサ17にモー
ド切替割込みを出力する。モード切替割込みを入力した
予備プロセッサ17のCPU101は、Gバス51を介
して故障監視カード61から故障した現用プロセッサカ
ードのプロセッサIDを読み込む。そして、予備プロセ
ッサ17のプロセッサIDレジスタ106に読み込んだ
プロセッサID(現用プロセッサ11のプロセッサI
D)を書込み、モードフラグをリセットする。この時点
で、受信制御部103は、故障前の現用プロセッサ11
の受信制御部と同じ動作を開始し、現用プロセッサ11
宛の制御コマンドを受信FIFO104に格納する。た
だし、この時点ではCPU101はコマンド受信割込み
の入力を許可していないため、受信FIFOに格納した
制御コマンドの処理はまだ開始されない。
The failure monitoring card 61 is provided with the monitoring bus 7
1 to detect that the working processor 11 has failed, and first determine a spare processor to take over the processing.
Since no failure has been detected in the spare processors 17 and 18, the spare processor 17 having the smaller processor ID is selected, and a mode switching interrupt is output to the spare processor 17 via the G bus 51. The CPU 101 of the spare processor 17 that has received the mode switching interrupt reads the processor ID of the failed active processor card from the failure monitoring card 61 via the G bus 51. The processor ID (the processor I of the active processor 11)
D) is written and the mode flag is reset. At this point, the reception control unit 103 sets the active processor 11
Of the active processor 11
The control command addressed to is stored in the reception FIFO 104. However, at this time, since the CPU 101 has not permitted the input of the command reception interrupt, the processing of the control command stored in the reception FIFO has not been started yet.

【0043】次に、プロセッサ17のCPU101は、
現用プロセッサ11用の処理完了カウンタ211の値を
読み出し、その値が正の場合は、受信キュー201から
処理完了済の制御コマンドを読み出して破棄し、処理完
了カウンタ211を破棄した制御コマンドの数だけデク
リメントする。この時点で、受信キュー201には、故
障した現用プロセッサ11が処理中であった制御コマン
ドと受信FIFO104に滞留している制御コマンドを
格納していることになる。
Next, the CPU 101 of the processor 17
The value of the processing completion counter 211 for the active processor 11 is read out. If the value is positive, the processing completion control command is read out from the reception queue 201 and discarded, and the processing completion counter 211 is discarded by the number of control commands discarded. Decrement. At this point, the reception queue 201 stores the control command being processed by the failed active processor 11 and the control command staying in the reception FIFO 104.

【0044】次にCPU101は、受信キュー201か
ら制御コマンドを読み出す。この制御コマンドは、現用
プロセッサ11が処理中であったと考えられるため、故
障した時点で、共有メモリ21上のデータを更新したか
どうかを判定する。もし、共有メモリ21上のデータを
更新していなかった場合は、この制御コマンドの処理を
最初から再実行する。共有メモリ21上のデータを更新
していた場合は、この制御コマンドの再実行は不可能と
判断し、制御コマンドを破棄する。
Next, the CPU 101 reads a control command from the reception queue 201. Since it is considered that the active processor 11 is processing this control command, it is determined whether or not the data on the shared memory 21 has been updated at the time of failure. If the data on the shared memory 21 has not been updated, the processing of this control command is executed again from the beginning. If the data on the shared memory 21 has been updated, it is determined that the control command cannot be re-executed, and the control command is discarded.

【0045】引き続きCPU101は、受信キュー20
1から制御コマンドを読み出し、その内容に従って処理
を行う。この処理を受信キュー201が空になるまで続
ける。受信キュー201の最後の制御コマンドの処理が
終了した時点で、CPU101はコマンド受信割込み入
力を許可する。この時点で、現用プロセッサ11が故障
発生時点で保持していた制御コマンドの処理を完了し、
故障発生以降に現用プロセッサ11宛に送信された制御
コマンドの処理を開始することになり、現用プロセッサ
11の引き継ぎを完了したことになる。以降現用プロセ
ッサ11のプロセッサIDを持つプロセッサ17は現用
プロセッサ11として動作することとなる。
Subsequently, the CPU 101 sets the reception queue 20
The control command is read from 1 and processing is performed according to the content. This process is continued until the reception queue 201 becomes empty. When the processing of the last control command in the reception queue 201 is completed, the CPU 101 permits command reception interrupt input. At this time, the working processor 11 completes the processing of the control command held at the time of occurrence of the failure,
The processing of the control command transmitted to the active processor 11 is started after the occurrence of the failure, and the takeover of the active processor 11 is completed. Thereafter, the processor 17 having the processor ID of the working processor 11 operates as the working processor 11.

【0046】なお、故障発生のタイミングによっては、
受信FIFO104に現用プロセッサ11宛以外の制御
コマンドが残っている可能性があるが、その場合現用プ
ロセッサ11宛以外の制御パケットは破棄される。ま
た、現用プロセッサ11としての動作を開始した時点
で、主記憶部102の受信キュー201〜206はクリ
アされ、汎用的な記憶領域となる。
Note that, depending on the timing of the occurrence of a failure,
There is a possibility that a control command other than that directed to the active processor 11 may remain in the reception FIFO 104. In this case, the control packet destined for the active processor 11 is discarded. When the operation as the active processor 11 is started, the reception queues 201 to 206 of the main storage unit 102 are cleared and become a general-purpose storage area.

【0047】また、予備プロセッサ18は以前と同じ動
作を続け、他の現用プロセッサが故障した場合、その処
理を引き継ぐこととなる。
The spare processor 18 continues the same operation as before, and takes over the processing when another working processor fails.

【0048】以上説明してきたように、本発明によれ
ば、共有バスの負荷を増大させることなく故障した現用
プロセッサの処理を予備プロセッサに速やかに引き継ぐ
ことが可能である。しかも、最悪の場合でも処理中の制
御コマンドを1個紛失するだけであり、複数の制御コマ
ンドを紛失することを防止することができる。
As described above, according to the present invention, it is possible to quickly take over the processing of the failed active processor to the spare processor without increasing the load on the shared bus. In addition, even in the worst case, only one control command being processed is lost, and loss of a plurality of control commands can be prevented.

【0049】なお、本実施の形態1においては、故障し
た現用プロセッサが処理中の制御コマンドを再実行可能
かを判断し、再実行不可能な場合のみその制御コマンド
を破棄したが、制御コマンド紛失に対する回復処理が十
分実現されている場合や、再実行可能性の判断が困難な
場合は、無条件に処理中であった制御コマンドは破棄し
ても良い。
In the first embodiment, it is determined whether or not the failed working processor can re-execute the control command being processed, and the control command is discarded only when the re-execution is not possible. If the recovery process for the command has been sufficiently realized, or if it is difficult to determine the possibility of re-execution, the control command being processed unconditionally may be discarded.

【0050】また、本実施の形態1では、現用プロセッ
サ宛の制御コマンドを保存するため、予備プロセッサの
主記憶部に現用プロセッサ毎のキューを構築したが、制
御コマンドは主記憶部の1つの領域にまとめて記憶し、
各制御コマンドへのポインタを現用プロセッサ毎に管理
するなど様々な保存方法が考えられる。
In the first embodiment, a queue for each active processor is constructed in the main memory of the spare processor in order to store a control command addressed to the active processor. However, the control command is stored in one area of the main memory. And memorize them together.
Various storage methods are conceivable, such as managing a pointer to each control command for each active processor.

【0051】また、本実施の形態1では、予備プロセッ
サ17、18は、すべての現用プロセッサ11〜16宛
の制御コマンドを受信したが、プロセッサの処理能力と
比較して、現用プロセッサの数が非常に多い場合など
は、予備プロセッサ17が現用プロセッサ11〜13宛
の制御コマンドを、予備プロセッサ18が現用プロセッ
サ14〜16の当ての制御コマンドを受信するよう、処
理を分担しても良い。ただしこの場合、処理を引き継ぐ
予備プロセッサの選択肢が少なくなるというデメリット
がある。
In the first embodiment, the standby processors 17 and 18 have received the control commands addressed to all the active processors 11 to 16. However, the number of the active processors is extremely small compared to the processing capabilities of the processors. In such a case, the processing may be shared such that the standby processor 17 receives a control command addressed to the active processors 11 to 13 and the standby processor 18 receives a control command applied to the active processors 14 to 16. However, in this case, there is a demerit that the number of options of the spare processor taking over the processing is reduced.

【0052】(実施の形態2)以下、本発明の実施の形
態2について説明する。実施の形態2は、主記憶部上の
データ構造と共有メモリ上のデータ構造とそのデータへ
のアクセス方法のみが実施の形態1と異なる。したがっ
て、以下実施の形態1と異なる部分についてのみ説明す
る。
Embodiment 2 Hereinafter, Embodiment 2 of the present invention will be described. The second embodiment differs from the first embodiment only in the data structure on the main storage unit, the data structure on the shared memory, and the method of accessing the data. Therefore, only portions different from the first embodiment will be described below.

【0053】図5は、予備プロセッサ17、18の主記
憶部102上にソフトウェアによって構築された、制御
コマンド記憶用のデータ構造を示す。231は現用プロ
セッサ11宛に送信された制御コマンドをリングバッフ
ァ方式で格納する受信バッファである。受信バッファ2
31は、受信FIFO104の容量に制御コマンドの最
大サイズを加えた容量を持ち、受信バッファの先頭から
制御コマンドを格納し、容量が一杯になると再び先頭か
ら制御コマンドを上書きして格納する。同様に232〜
236はそれぞれ現用プロセッサ12〜16宛に送信さ
れた制御コマンドを格納する。
FIG. 5 shows a data structure for storing control commands, which is constructed by software on the main storage unit 102 of the backup processors 17 and 18. A reception buffer 231 stores the control command transmitted to the active processor 11 in a ring buffer system. Receive buffer 2
Reference numeral 31 has a capacity obtained by adding the maximum size of the control command to the capacity of the reception FIFO 104, stores the control command from the head of the reception buffer, and overwrites the control command from the head again when the capacity becomes full. Similarly 232-
Reference numeral 236 stores control commands transmitted to the working processors 12 to 16, respectively.

【0054】図6は、共有メモリ上にソフトウェアによ
って構築された、現用プロセッサ11〜16が処理中の
制御コマンドのシリアル番号格納用のデータ構造を示
す。241は現用プロセッサ11が制御コマンドの処理
を開始する毎にその制御コマンドのシリアル番号フィー
ルド404の値を格納するシリアル番号領域。同様に2
42〜246は現用プロセッサ12〜16により更新さ
れる。
FIG. 6 shows a data structure for storing the serial numbers of the control commands being processed by the active processors 11 to 16, which is constructed by software on the shared memory. A serial number area 241 stores the value of the serial number field 404 of the control command each time the active processor 11 starts processing the control command. Similarly 2
42 to 246 are updated by the working processors 12 to 16.

【0055】まず、外部から制御コマンドがコマンド中
継カード31に到着し、現用プロセッサ11の受信FI
FO104に格納され、CPU101が受信FIFO1
04から制御コマンドを読み出すところまでは、実施の
形態1と同じである。CPU101は、制御コマンドの
処理種別フィールド105の内容に従って要求された処
理を行うが、処理を開始する直前に、シリアル番号フィ
ールド404の値を、共有メモリ21上のシリアル番号
領域241に格納する。制御コマンドの処理を完了した
CPU101は、受信割込み入力を許可するが、実施の
形態1のように処理完了時点で共有メモリ21にアクセ
スすることはない。
First, a control command from the outside arrives at the command relay card 31, and the reception FI of the active processor 11
Stored in the FO 104, the CPU 101
Up to the point where the control command is read out from step 04, it is the same as the first embodiment. The CPU 101 performs the requested processing according to the contents of the processing type field 105 of the control command, but stores the value of the serial number field 404 in the serial number area 241 on the shared memory 21 immediately before starting the processing. The CPU 101 which has completed the processing of the control command permits the reception interrupt input, but does not access the shared memory 21 at the time of completion of the processing as in the first embodiment.

【0056】一方、予備プロセッサ17、18は、受信
FIFOに格納された制御コマンドを、その送信先ID
の値に従って、次々と該当する受信バッファ231〜2
36に受信順に格納する。そして受信バッファ231〜
236が一杯になった場合は、再びその先頭から制御コ
マンドを上書きしながら格納していく。この時、実施の
形態1のように、共有メモリ上の処理完了カウンタ21
1〜226を参照して、受信キュー201〜206に格
納された処理済の制御コマンドを破棄するようなことは
しない。したがって、受信バッファ231〜236に
は、現用プロセッサ11〜16が最も最近受信した制御
コマンドをその容量分記憶していることになる。
On the other hand, the standby processors 17 and 18 transmit the control command stored in the reception FIFO to the transmission destination ID thereof.
According to the values of the receiving buffers 231 to 2
36 is stored in the order of reception. And the receiving buffers 231 to 231
When 236 is full, control commands are stored again from the beginning while overwriting. At this time, as in the first embodiment, the processing completion counter 21 on the shared memory 21
With reference to 1 to 226, it is not possible to discard the processed control commands stored in the reception queues 201 to 206. Therefore, the reception buffers 231 to 236 store the control commands most recently received by the active processors 11 to 16 in an amount corresponding to the capacity.

【0057】次に、このような状態で現用プロセッサの
11の故障検出部109が故障を検出したと仮定する。
実施の形態1と同様に、予備プロセッサ17にモード切
替割込みが入力され、CPU101はプロセッサIDレ
ジスタに現用プロセッサ11のプロセッサIDを書き込
み、モードフラグをリセットする。この時点で予備プロ
セッサ17は現用プロセッサ11宛の制御コマンドの受
信FIFO104への格納を開始する。ただし、実施の
形態1と同様にまだCPU101は受信FIFOに格納
された制御コマンドを読み出さない。
Next, it is assumed that the fault detection unit 109 of the working processor 11 detects a fault in such a state.
As in the first embodiment, a mode switching interrupt is input to the standby processor 17, and the CPU 101 writes the processor ID of the active processor 11 in the processor ID register and resets the mode flag. At this point, the standby processor 17 starts storing the control command addressed to the active processor 11 in the reception FIFO 104. However, as in the first embodiment, the CPU 101 has not yet read out the control command stored in the reception FIFO.

【0058】次にCPU101は、共有メモリ21上の
シリアル番号領域241の値を読み出し、故障が発生し
た時、現用プロセッサ11が処理中または処理を完了し
た制御コマンドのシリアル番号を取得する。次にCPU
101は、受信バッファ231上に格納された最も新し
い制御コマンドから順に、シリアル番号フィールド40
4の値と読み出したシリアル番号とを比較し、一致する
制御コマンドを読み出す。
Next, the CPU 101 reads the value of the serial number area 241 on the shared memory 21 and, when a failure occurs, acquires the serial number of the control command that is being processed by the active processor 11 or that has completed the processing. Next, CPU
Reference numeral 101 denotes a serial number field 40 in the order from the newest control command stored in the reception buffer 231.
4 is compared with the read serial number, and the corresponding control command is read.

【0059】次に、共有メモリ21上のデータを調べる
ことにより、読み出した制御コマンドが処理で再実行可
能か、処理中で再実行不可能か、処理完了しているかの
いずれであるかを判定する。再実行可能な場合は、その
制御コマンドの処理を再実行する。それ以外の場合は、
その制御コマンドを破棄する。
Next, by examining the data on the shared memory 21, it is determined whether the read control command is re-executable in the processing, is not re-executable in the processing, or is completed. I do. If re-executable, the control command is re-executed. Otherwise,
Discard the control command.

【0060】次に、次に新しく受信した制御コマンドを
受信バッファ231から読み出し、その処理を行う。同
様の処理を最も新しい制御コマンドまで行い、その処理
が完了したら受信割込みを許可する。その後の動作につ
いては、実施の形態1と同じである。
Next, the control command newly received next is read from the reception buffer 231 and the processing is performed. The same processing is performed up to the newest control command, and when the processing is completed, the reception interrupt is permitted. The subsequent operation is the same as in the first embodiment.

【0061】以上説明したように、本実施の形態2によ
って実施の形態1と同様の効果を得ることができる。
As described above, the same effects as in the first embodiment can be obtained by the second embodiment.

【0062】なお、本実施の形態2のシリアル番号領域
に処理中フラグを追加し、現用プロセッサが処理開始前
に処理中フラグをセットし、処理完了後に処理中フラグ
をリセットすれば、シリアル番号が一致した制御コマン
ドの、処理完了判定が容易になる。
Note that if a processing flag is added to the serial number area of the second embodiment and the working processor sets the processing flag before starting the processing and resets the processing flag after the processing is completed, the serial number can be changed. Processing completion determination of the matched control command becomes easy.

【0063】また、処理中制御コマンドを無条件に破棄
しても良い点や受信バッファの実現には様々な方法があ
る点についても実施の形態1と同様である。
As in the first embodiment, the in-process control command may be discarded unconditionally, and there are various methods for realizing the reception buffer.

【0064】[0064]

【発明の効果】以上のように、本発明は効率的に予備プ
ロセッサへの引継ぎを可能とするものであり、現用/予
備構成のマルチプロセッサ構成の並列処理装置におい
て、予備プロセッサが、常に現用プロセッサ宛の制御コ
マンドを予備プロセッサ内の記憶部に記憶しておくこと
により、共有バスの負荷を増大させることなく、速やか
に故障した現用プロセッサの未処理の処理要求を読み出
し、処理を引き継ぐことができる。しかも、最悪の場合
でも故障発生時に処理中の制御コマンドを1個紛失する
だけであり、複数の制御コマンドを紛失することを防止
することができる。
As described above, the present invention makes it possible to efficiently take over to a spare processor. In a parallel processing apparatus having a multi-processor configuration of a working / spare configuration, the spare processor is always used as the working processor. By storing the control command addressed to the storage unit in the spare processor, it is possible to quickly read the unprocessed processing request of the failed active processor and increase the load without increasing the load on the shared bus. . Moreover, even in the worst case, only one control command being processed at the time of occurrence of a failure is lost, and loss of a plurality of control commands can be prevented.

【0065】また、プロセッサは、予備プロセッサとし
て動作する時、現用プロセッサとして動作する時に使用
する処理要求バッファと汎用的な記憶手段を利用して、
現用プロセッサ宛の制御コマンドを記憶することによ
り、新たなハードウェアの増加を招かずに上記効果を得
ることができる。
When the processor operates as a standby processor, it uses a processing request buffer and general-purpose storage means used when operating as an active processor.
By storing the control command addressed to the working processor, the above-mentioned effect can be obtained without increasing new hardware.

【0066】また、現用プロセッサにおいて制御コマン
ドの処理が完了する毎に、予備プロセッサ内の記憶部に
記憶されている、処理が完了した制御コマンドを破棄す
ることにより、予備プロセッサは、未処理の制御コマン
ドのみを記憶部に記憶することができ、故障した現用プ
ロセッサが処理中であった制御コマンドを、高速に読み
出し、処理を引き継ぐことができる。
Each time the processing of the control command is completed in the active processor, the completed control command stored in the storage unit in the standby processor is discarded, so that the standby processor can control the unprocessed control command. Only the command can be stored in the storage unit, and the control command that was being processed by the failed active processor can be read at high speed and the processing can be taken over.

【0067】また、現用プロセッサが制御コマンドの処
理に使用する、共有記憶部を使用して処理完了を通知す
ることにより、新たなハードウェアの増加を招かずに、
故障した現用プロセッサが処理中であった制御コマンド
を、高速に読み出し、処理を引き継ぐことができる。
Further, by notifying the completion of the processing using the shared storage unit used by the working processor for processing the control command, the new processor does not increase in new hardware.
The control command that was being processed by the failed active processor can be read at high speed and the processing can be taken over.

【0068】また、現用プロセッサが処理中の制御コマ
ンドを識別する識別子を共有記憶部に記憶することによ
り、通常運用中に発生する処理完了通知のための共有記
憶部への参照頻度を軽減することができる。
Also, by storing an identifier for identifying the control command being processed by the active processor in the shared storage unit, the frequency of reference to the shared storage unit for notification of processing completion occurring during normal operation can be reduced. Can be.

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

【図1】本発明の実施の形態1、2の並列処理装置の構
成を示すブロック図
FIG. 1 is a block diagram illustrating a configuration of a parallel processing device according to Embodiments 1 and 2 of the present invention;

【図2】本発明の実施の形態1、2の並列処理装置のI
Oバス上で送受信される制御コマンドフォーマットを示
すデータ構造図
FIG. 2 shows the I of the parallel processing device according to the first and second embodiments of the present invention;
Data structure diagram showing control command format transmitted and received on O bus

【図3】本発明の実施の形態1の並列処理装置の、予備
プロセッサの主記憶上に構成された、現用プロセッサ宛
の制御コマンドを一時的に記憶するためのデータ構造図
FIG. 3 is a data structure diagram for temporarily storing a control command addressed to an active processor, configured on a main memory of a spare processor, in the parallel processing device according to the first embodiment of the present invention;

【図4】本発明の実施の形態1の並列処理装置の、共有
メモリ上に構成される処理完了通知のためのデータ構造
FIG. 4 is a data structure diagram for processing completion notification configured on a shared memory of the parallel processing device according to the first embodiment of the present invention;

【図5】本発明の実施の形態2の並列処理装置の、予備
プロセッサの主記憶上に構成された、現用プロセッサ宛
の制御コマンドを一時的に記憶するためのデータ構造図
FIG. 5 is a data structure diagram for temporarily storing a control command addressed to an active processor, which is configured on a main memory of a spare processor, in the parallel processing device according to the second embodiment of the present invention;

【図6】本発明の実施の形態2の並列処理装置の、共有
メモリ上に構成される処理中制御コマンドの、シリアル
番号を記憶するためのデータ構造図
FIG. 6 is a data structure diagram for storing a serial number of an in-process control command configured on a shared memory in the parallel processing device according to the second embodiment of the present invention;

【図7】従来の並列処理装置のハードウェア構成を示す
ブロック図
FIG. 7 is a block diagram showing a hardware configuration of a conventional parallel processing device.

【図8】従来の並列処理装置のソフトウェアの動作を示
すイメージ図
FIG. 8 is an image diagram showing an operation of software of a conventional parallel processing device.

【符号の説明】[Explanation of symbols]

11〜16 現用プロセッサ 17〜18 予備プロセッサ 21 共有メモリ 31 コマンド中継カード 41 IOバス 51 Gバス 61 故障監視カード 71 監視バス 101 CPU 102 主記憶部 103 受信制御部 104 受信FIFO 105 モードフラグ 106 プロセッサIDレジスタ 107 送信制御部 108 Gバス制御部 109 メモリインタフェス 201〜206 受信キュー 211〜216 処理完了カウンタ領域 221〜226 処理完了カウンタ領域 231〜236 受信バッファ 241〜246 シリアル番号領域 401 送信先IDフィールド 402 送信元IDフィールド 403 サイズフィールド 404 シリアル番号フィールド 405 処理種別フィールド 406 データフィールド 407 終了コードフィールド 11-16 Active processor 17-18 Spare processor 21 Shared memory 31 Command relay card 41 IO bus 51 G bus 61 Failure monitoring card 71 Monitoring bus 101 CPU 102 Main storage unit 103 Reception control unit 104 Reception FIFO 105 Mode flag 106 Processor ID register 107 Transmission control unit 108 G bus control unit 109 Memory interface 201 to 206 Reception queue 211 to 216 Processing completion counter area 221 to 226 Processing completion counter area 231 to 236 Receiving buffer 241 to 246 Serial number area 401 Destination ID field 402 Transmission Source ID field 403 Size field 404 Serial number field 405 Processing type field 406 Data field 407 End code field

Claims (7)

【特許請求の範囲】[Claims] 【請求項1】複数のプロセッサと、故障検出手段と、引
継ぎ制御手段とを備え、前記プロセッサは、記憶手段
と、動作モード決定手段と、自プロセッサ識別手段を備
え、前記複数のプロセッサの内のN個(Nは正の整数)
のプロセッサの前記動作モード決定手段を現用とし、残
りのM個(Mは正の整数)のプロセッサの前記動作モー
ド決定手段を予備とし、前記動作モードが現用であるプ
ロセッサ(以後現用プロセッサという)は、外部から自
プロセッサ宛に送出された処理要求を処理し、前記動作
モードが予備のプロセッサ(以後予備プロセッサとい
う)は、前記現用プロセッサ宛の処理要求を前記記憶手
段に一時的に記憶し、前記故障検出手段が、前記現用プ
ロセッサの一つが故障したことを検出した時、前記引継
ぎ制御手段により、前記故障した現用プロセッサの処理
を引き継ぐと決定した前記予備プロセッサの一つは、前
記記憶手段に記憶されている前記故障した現用プロセッ
サ宛の処理要求の中で、未処理の処理要求を読み出して
処理することを特徴とする並列処理装置。
1. A processor comprising: a plurality of processors; a failure detection unit; and a takeover control unit. The processor includes a storage unit, an operation mode determination unit, and a self-processor identification unit. N (N is a positive integer)
Of the remaining processors (M is a positive integer) as spares, and the processor whose operation mode is current (hereinafter referred to as the current processor) A processing request sent from the outside to its own processor, and the processor whose operation mode is a spare (hereinafter referred to as a spare processor) temporarily stores the processing request addressed to the working processor in the storage means, When the failure detecting means detects that one of the active processors has failed, the takeover control means stores one of the spare processors determined to take over the processing of the failed active processor in the storage means. Reading and processing an unprocessed processing request among the processing requests addressed to the failed working processor. Parallel processing apparatus.
【請求項2】前記プロセッサは、外部からの処理要求を
複数保持する処理要求バッファと汎用的な記憶手段を備
え、前記現用プロセッサは、自プロセッサ宛の処理要求
のみを前記処理要求バッファに一時的に記憶し、その
後、前記処理要求バッファから前記処理要求を読み出し
て要求に応じた処理を行い、前記予備プロセッサは、前
記現用プロセッサ宛の処理要求を前記処理要求バッファ
に一時的に記憶し、その後、前記処理要求バッファから
前記処理要求を読み出して前記記憶手段に一時的に記憶
し、前記現用プロセッサの一つが故障した時、前記引継
ぎ制御手段により、前記故障した現用プロセッサの処理
を引き継ぐと決定した前記予備プロセッサの一つは、前
記故障したプロセッサ宛の処理要求のみを前記処理要求
バッファに記憶し続けるとともに、前記記憶手段に記憶
されている前記故障した現用プロセッサ宛の処理要求の
中から、前記故障が発生した時に処理中であった処理要
求およびそれ以降に記憶した処理要求を記憶順に読み出
して処理し、その処理が完了した後、前記処理要求バッ
ファに記憶されている前記故障した現用プロセッサ宛の
処理要求の処理を開始することを特徴とする請求項1記
載の並列処理装置。
2. The processor according to claim 1, wherein the processor includes a processing request buffer for holding a plurality of external processing requests and general-purpose storage means, and the working processor temporarily stores only processing requests addressed to its own processor in the processing request buffer. After that, the processing request is read from the processing request buffer and the processing is performed according to the request, and the spare processor temporarily stores the processing request addressed to the active processor in the processing request buffer, Reading the processing request from the processing request buffer and temporarily storing the processing request in the storage unit, and when one of the active processors fails, the takeover control unit determines that the processing of the failed active processor is to be taken over. One of the spare processors continues to store only the processing request addressed to the failed processor in the processing request buffer. And among the processing requests addressed to the failed working processor stored in the storage means, the processing requests being processed when the failure occurred and the processing requests stored thereafter are read out in the order of storage. 2. The parallel processing apparatus according to claim 1, wherein after processing is completed, processing of the processing request addressed to the failed active processor stored in the processing request buffer is started.
【請求項3】前記現用プロセッサの一つが故障した時、
前記引継ぎ制御手段により、前記故障した現用プロセッ
サの処理を引き継ぐと決定した前記予備プロセッサの一
つは、前記故障したプロセッサ宛の処理要求のみを前記
処理要求バッファに記憶し続けるとともに、前記記憶手
段に記憶されていた前記故障した現用プロセッサ宛の処
理要求の中から、前記故障が発生した時に処理中であっ
た処理要求の次の処理要求以降に記憶した処理要求を記
憶順に読み出して処理し、その処理が完了した後、前記
処理要求バッファに記憶されている前記故障した現用プ
ロセッサ宛の処理要求の処理を開始することを特徴とす
る特徴とする請求項2記載の並列処理装置。
3. When one of said working processors fails,
One of the spare processors determined to take over the processing of the failed working processor by the takeover control means continues to store only the processing request addressed to the failed processor in the processing request buffer, and stores the processing request in the storage means. From among the stored processing requests addressed to the failed working processor, the processing requests stored after the processing request following the processing request being processed at the time of occurrence of the failure are read and processed in the order of storage, and 3. The parallel processing apparatus according to claim 2, wherein after completion of the processing, processing of the processing request addressed to the failed active processor stored in the processing request buffer is started.
【請求項4】故障発生時に処理中であった処理を継続ま
たは再実行可能かを判定する処理継続判定手段を設け、
前記現用プロセッサの一つが故障した時、前記引継ぎ制
御手段により、前記故障した現用プロセッサの処理を引
き継ぐと決定した前記予備プロセッサの一つは、前記故
障したプロセッサ宛の処理要求のみを前記処理要求バッ
ファに記憶し続けるとともに、まず、前記記憶手段に記
憶されている前記故障した現用プロセッサ宛の処理要求
の中から、前記故障が発生した時に処理中であった処理
要求を読み出し、前記処理継続判定手段により、その処
理要求の継続または再実行が可能かどうかを判定し、継
続または再実行可能な場合その処理を継続または再実行
し、継続も再実行も不可能な場合その処理要求を破棄
し、次に前記処理中であった処理要求の次の処理要求以
降に記憶した処理要求を記憶順に読み出して処理し、そ
の処理が完了した後、前記処理要求バッファに記憶され
ている前記故障した現用プロセッサ宛の処理要求の処理
を開始することを特徴とする請求項2記載の並列処理装
置。
4. A process continuation determining means for determining whether a process being processed at the time of occurrence of a failure can be continued or re-executed,
When one of the working processors has failed, the takeover control means determines that one of the spare processors takes over the processing of the failed working processor, and stores only the processing request addressed to the failed processor in the processing request buffer. First, from among the processing requests addressed to the failed working processor stored in the storage unit, the processing request that was being processed when the failure occurred is read out, and the processing continuation determining unit Determines whether the processing request can be continued or re-executed.If the processing request can be continued or re-executed, the processing is continued or re-executed.If neither continuation nor re-execution is possible, the processing request is discarded. Next, the processing requests stored after the processing request following the processing request being processed are read and processed in the order of storage, and after the processing is completed. Parallel processor according to claim 2, wherein the start processing of the processing request for the failed working addressed processor is stored in the processing request buffer.
【請求項5】前記現用プロセッサは、前記処理要求の処
理が完了する毎に、前記予備プロセッサに処理完了を通
知し、前記予備プロセッサは、処理完了が通知される毎
に、前記記憶手段に記憶していた処理要求の中の、前記
処理が完了した現用プロセッサ宛の処理要求を破棄する
ことを特徴とする請求項1から請求項4のいずれか1項
に記載の並列処理装置。
5. The working processor notifies the spare processor of the completion of processing each time the processing of the processing request is completed, and the spare processor stores the processing completion in the storage means every time the completion of processing is notified. The parallel processing device according to claim 1, wherein the processing request destined for the working processor for which the processing has been completed among the processing requests that have been completed is discarded.
【請求項6】すべての前記現用プロセッサおよびすべて
の前記予備プロセッサから参照可能な共有記憶部を設
け、前記共有記憶部に、前記現用プロセッサのそれぞれ
に対応するカウンタ領域を設け、前記現用プロセッサ
は、前記処理要求バッファから読み出した処理要求の処
理が完了する毎に、対応する前記カウンタ領域の値をカ
ウントアップし、前記予備プロセッサは、前記処理要求
を破棄する毎に、対応する前記カウンタ領域の値をカウ
ントダウンすることを特徴とする請求項5記載の並列処
理装置。
6. A shared storage unit that can be referred to by all of the active processors and all of the spare processors, and a counter area corresponding to each of the active processors is provided in the shared storage unit. Each time the processing of the processing request read from the processing request buffer is completed, the value of the corresponding counter area is counted up, and each time the spare processor discards the processing request, the value of the corresponding counter area is 6. The parallel processing device according to claim 5, wherein:
【請求項7】すべての前記現用プロセッサおよびすべて
の前記予備プロセッサから参照可能な共有記憶部を設
け、前記共有記憶部に、前記現用プロセッサのそれぞれ
が処理中の処理要求を識別する識別子を記憶する処理要
求識別子領域を設け、前記現用プロセッサは、前記処理
要求の処理を開始する毎に、対応する前記処理要求識別
子領域に前記処理を開始した処理要求の識別子を記憶
し、前記現用プロセッサの一つが故障した時、前記引継
ぎ制御手段により、前記故障した現用プロセッサの処理
を引き継ぐと決定した前記予備プロセッサの一つは、前
記故障した現用プロセッサに対応する前記処理要求識別
子領域の値を読み出し、前記記憶手段に記憶されている
処理要求の中から、前記故障した現用プロセッサが処理
中であった処理要求を判別することを特徴とする請求項
1から請求項4のいずれか1項に記載の並列処理装置。
7. A shared storage unit that can be referred to by all of the active processors and all of the spare processors, and stores an identifier for identifying a processing request being processed by each of the active processors in the shared storage unit. A processing request identifier area is provided, and whenever the processing of the processing request is started, the working processor stores the processing request identifier that started the processing in the corresponding processing request identifier area, and one of the working processors When a failure occurs, one of the spare processors determined by the takeover control unit to take over the processing of the failed active processor reads the value of the processing request identifier area corresponding to the failed active processor, and Out of the processing requests stored in the means, Parallel processing apparatus according to any one of claims 1 to 4, characterized in that the separate.
JP11195647A 1999-07-09 1999-07-09 Parallel processor Pending JP2001022718A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP11195647A JP2001022718A (en) 1999-07-09 1999-07-09 Parallel processor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP11195647A JP2001022718A (en) 1999-07-09 1999-07-09 Parallel processor

Publications (1)

Publication Number Publication Date
JP2001022718A true JP2001022718A (en) 2001-01-26

Family

ID=16344662

Family Applications (1)

Application Number Title Priority Date Filing Date
JP11195647A Pending JP2001022718A (en) 1999-07-09 1999-07-09 Parallel processor

Country Status (1)

Country Link
JP (1) JP2001022718A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084995A (en) * 2001-09-13 2003-03-20 Hitachi Ltd Online database information processing system
JP2004032224A (en) * 2002-06-25 2004-01-29 Hitachi Ltd Server takeover system and method thereof
WO2004079573A1 (en) * 2003-03-04 2004-09-16 Fujitsu Limited Multi-processor system
JP2008242685A (en) * 2007-03-27 2008-10-09 Nec Corp Failover method, cluster system, information processor, and program
JP2009075710A (en) * 2007-09-19 2009-04-09 Fujitsu Ltd Redundant system
JP2010136038A (en) * 2008-12-04 2010-06-17 Fujitsu Ltd Transmitter, and method for switching system in redundant configuration

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086910A (en) * 1994-06-23 1996-01-12 Hitachi Ltd Cluster type computer system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH086910A (en) * 1994-06-23 1996-01-12 Hitachi Ltd Cluster type computer system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003084995A (en) * 2001-09-13 2003-03-20 Hitachi Ltd Online database information processing system
JP2004032224A (en) * 2002-06-25 2004-01-29 Hitachi Ltd Server takeover system and method thereof
WO2004079573A1 (en) * 2003-03-04 2004-09-16 Fujitsu Limited Multi-processor system
JPWO2004079573A1 (en) * 2003-03-04 2006-06-08 富士通株式会社 Multiprocessor system
JP2008242685A (en) * 2007-03-27 2008-10-09 Nec Corp Failover method, cluster system, information processor, and program
JP2009075710A (en) * 2007-09-19 2009-04-09 Fujitsu Ltd Redundant system
JP2010136038A (en) * 2008-12-04 2010-06-17 Fujitsu Ltd Transmitter, and method for switching system in redundant configuration

Similar Documents

Publication Publication Date Title
KR960012686B1 (en) Inter processor communication protocol
US5752078A (en) System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US6161198A (en) System for providing transaction indivisibility in a transaction processing system upon recovery from a host processor failure by monitoring source message sequencing
US5386512A (en) System for deriving and testing mutual capability set after receiving updated capability from other processors and before requesting service information
JPH06309252A (en) Interconnection interface
JP3641834B2 (en) Parallel processor system and packet discard method suitable therefor
JP2001022718A (en) Parallel processor
JP4376787B2 (en) Event notification method, device, and processor system
US20060129714A1 (en) Method and apparatus for transferring data
JP2002057712A (en) Memory leakage recovery method for packet memory and buffer processing unit
JP3115801B2 (en) Parallel computer system
JPH09269936A (en) Remote reading processing method and device therefor
JPH06231101A (en) Reception time-out detecting mechanism
JP2981618B2 (en) Write order preservation method in pipeline computer system
JP2000148523A (en) Duplex memory device and method for switching memory
JP3270400B2 (en) Print processing cluster system
JPH10320350A (en) Remote pio control system
JP2002278917A (en) Image data transfer system
JP2527066B2 (en) Reception queue processor
JPH08161277A (en) Parallel computer system
JPS6143739B2 (en)
JPH05233466A (en) Fault recovery system of doubled auxiliary storage device
JP2000105753A (en) Two-way data transfer method
JPH10320351A (en) Buffer system
JPH0438543A (en) System for communication between devices