JP2009193504A - Fault tolerant computer, synchronization control method, and program - Google Patents

Fault tolerant computer, synchronization control method, and program Download PDF

Info

Publication number
JP2009193504A
JP2009193504A JP2008035938A JP2008035938A JP2009193504A JP 2009193504 A JP2009193504 A JP 2009193504A JP 2008035938 A JP2008035938 A JP 2008035938A JP 2008035938 A JP2008035938 A JP 2008035938A JP 2009193504 A JP2009193504 A JP 2009193504A
Authority
JP
Japan
Prior art keywords
clock
clock cycles
unit
difference
units
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
JP2008035938A
Other languages
Japanese (ja)
Other versions
JP5206009B2 (en
Inventor
Junichi Matsushita
潤一 松下
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.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2008035938A priority Critical patent/JP5206009B2/en
Publication of JP2009193504A publication Critical patent/JP2009193504A/en
Application granted granted Critical
Publication of JP5206009B2 publication Critical patent/JP5206009B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a simple fault tolerant computer comprising a plurality of operation parts and a plurality of clock sources, and to provide a synchronization control method thereof and its program. <P>SOLUTION: The operation parts 30, 40 include clock management parts 31, 41 which respectively count the number of clock cycles of system clocks supplied from respective clock sources 10, 20 and transmit the count results to an intermediate control part 50. The intermediate control part 50 includes: an IO comparing part 52 which compares IO instructions respectively issued by the operation parts 30, 40 to determine the accord and which supplies the IO instruction to an IO device 60 when the accord is determined; and an FT control part which compares the count results transmitted by the clock management parts 31, 41 and which adjusts the timing in which the IO comparing part receives and compares the two IO instructions when there is a difference between the number of clock cycles. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、複数の演算部を備え、当該複数の演算部が同じ演算を行うフォルトトレラントコンピュータ、その同期制御方法、及びそのプログラムに関する。   The present invention relates to a fault-tolerant computer that includes a plurality of calculation units, and in which the plurality of calculation units perform the same calculation, a synchronization control method thereof, and a program thereof.

フォルトトレラントコンピュータは、複数の演算部と複数のIO部とを備え、各IO部は、複数の演算部から同時にIO命令を受信した場合に、複数の演算部が同期していると判別し、IO処理を行う。   The fault tolerant computer includes a plurality of operation units and a plurality of IO units, and each IO unit determines that the plurality of operation units are synchronized when receiving an IO command simultaneously from the plurality of operation units, Perform IO processing.

例えば、特許文献1のフォルトトレラントコンピュータは、クロック源、クロック源が出力するクロックをカウントする動作カウンタ、タイミング調整部、演算部等から構成されるシステムを複数、備える。そして、動作カウンタがカウントしたカウント値に基づいて、タイミング調整部に、複数の演算部がIO命令を発行するタイミングを調整させる。このフォルトトレラントコンピュータは、複数のクロック源を備えるため、クロック源が単一障害点になることがない。
特開2007−249518号公報
For example, the fault tolerant computer of Patent Document 1 includes a plurality of systems including a clock source, an operation counter that counts clocks output from the clock source, a timing adjustment unit, a calculation unit, and the like. Then, based on the count value counted by the operation counter, the timing adjustment unit adjusts the timing at which the plurality of calculation units issue the IO command. Since this fault tolerant computer includes a plurality of clock sources, the clock source does not become a single point of failure.
JP 2007-249518 A

しかし、特許文献1のフォルトトレラントコンピュータは、タイミング調整部等を備えており、装置の構成が複雑であった。
また、IO部から各演算部へ同じ命令を配信する場合に、配信された命令は、各演算部のシステムクロックのずれに対応していなかった。
本発明は、上記問題点に鑑みてなされたもので、複数の演算部と複数のクロック源とを備える簡便なフォルトトレラントコンピュータ、その同期制御方法、及びそのプログラムを提供することを目的とする。
However, the fault tolerant computer of Patent Document 1 includes a timing adjustment unit and the like, and the configuration of the apparatus is complicated.
Further, when the same instruction is distributed from the IO unit to each arithmetic unit, the distributed instruction does not correspond to a shift in the system clock of each arithmetic unit.
The present invention has been made in view of the above problems, and an object thereof is to provide a simple fault-tolerant computer including a plurality of arithmetic units and a plurality of clock sources, a synchronization control method thereof, and a program thereof.

上記目的を達成するために、本発明の第1の観点に係るフォルトトレラントコンピュータは、
独立した複数のクロック源と、当該複数のクロック源毎に接続され、接続されたクロック源より供給されたシステムクロックに基づいて同じ演算を行い、同じIO命令を発行する複数の演算部と、当該複数の演算部が入出力するデータを検証する中間制御部と、当該複数の演算部と他装置とのデータの送受信を制御する入出力部と、から構成され、
前記演算部は、それぞれ、
前記クロック源から供給されたシステムクロックのクロックサイクル数を計数し、計数結果を前記中間制御部に送信するクロック管理部を備え、
前記中間制御部は、
前記複数の演算部がそれぞれ発行した複数のIO命令を受信して比較し、一致するか否かを判別し、一致すると判別した場合に、当該IO命令を前記入出力部に供給するIO比較部と、
複数の前記クロック管理部が送信した複数の計数結果を比較して、クロックサイクル数の差がある場合には、前記IO比較部が当該クロックサイクル数の差に基づいた異なるタイミングで前記複数のIO命令を受信して比較するように調整するFT制御部と、を備え、
前記FT制御部は、
前記入出力部から前記演算部への転送命令を受信すると、前記クロックサイクル数の差に基づいて、前記複数の演算部毎に異なったタイミングで、前記複数の演算部毎に当該転送命令を配信する、
ことを特徴とする。
In order to achieve the above object, a fault tolerant computer according to the first aspect of the present invention comprises:
A plurality of independent clock sources, a plurality of operation units connected to each of the plurality of clock sources, performing the same operation based on the system clock supplied from the connected clock sources, and issuing the same IO command; An intermediate control unit that verifies data input and output by a plurality of calculation units, and an input / output unit that controls transmission and reception of data between the plurality of calculation units and other devices,
The calculation units are respectively
A clock management unit that counts the number of clock cycles of the system clock supplied from the clock source and transmits the counting result to the intermediate control unit;
The intermediate control unit
An IO comparison unit that receives and compares a plurality of IO commands issued by the plurality of arithmetic units, determines whether or not they match, and supplies the IO command to the input / output unit when it is determined that they match When,
When a plurality of count results transmitted by the plurality of clock management units are compared and there is a difference in the number of clock cycles, the IO comparison unit performs the plurality of IOs at different timings based on the difference in the number of clock cycles. An FT controller that adjusts to receive and compare instructions,
The FT control unit
When a transfer command from the input / output unit to the calculation unit is received, the transfer command is distributed to the plurality of calculation units at different timings for the plurality of calculation units based on the difference in the number of clock cycles. To
It is characterized by that.

本発明の第2の観点に係る同期制御方法は、
独立した複数のクロック源と、当該複数のクロック源毎に接続され、且つ、接続されたクロック源より供給されたシステムクロックに基づいて同じ演算を行う複数の演算部と、当該複数の演算部と他装置とのデータの送受信を制御する入出力部と、から構成されるフォルトトレラントコンピュータの同期制御方法であって、
前記クロック源それぞれから前記複数の演算部に供給された複数のシステムクロックのクロックサイクル数を計数する計数ステップと、
前記計数ステップで計数した複数のシステムクロックのクロックサイクル数の差があるか否かを判別する判別ステップと、
前記複数の演算部がそれぞれ発行した複数のIO命令を比較して、一致するか否かを判別し、一致すると判別した場合に、当該IO命令を前記入出力部に供給する比較ステップと、
前記判別ステップで前記クロックサイクル数の差がある場合には、前記比較ステップで当該クロックサイクル数の差に基づいた異なるタイミングで前記複数のIO命令を受信して比較するように調整する調整ステップと、
前記入出力部が受信した前記演算部への転送命令を、前記クロックサイクル数の差に基づいて、前記複数の演算部毎に異なったタイミングで、前記複数の演算部に当該転送命令を配信する配信ステップと、を備える、
ことを特徴とする。
The synchronization control method according to the second aspect of the present invention provides:
A plurality of independent clock sources, a plurality of arithmetic units connected to each of the plurality of clock sources and performing the same calculation based on a system clock supplied from the connected clock sources, and the plurality of arithmetic units A method for synchronous control of a fault tolerant computer comprising an input / output unit for controlling transmission and reception of data with other devices,
A counting step of counting the number of clock cycles of a plurality of system clocks supplied to the plurality of arithmetic units from each of the clock sources;
A determination step of determining whether there is a difference in the number of clock cycles of the plurality of system clocks counted in the counting step;
A comparison step of comparing the plurality of IO instructions issued by the plurality of arithmetic units, determining whether or not they match, and supplying the IO instruction to the input / output unit when determined to match;
An adjustment step for adjusting the reception and comparison of the plurality of IO instructions at different timings based on the difference in the number of clock cycles in the comparison step when there is a difference in the number of clock cycles in the determination step; ,
The transfer instruction received by the input / output unit is distributed to the plurality of arithmetic units at different timings for the plurality of arithmetic units based on the difference in the number of clock cycles. A delivery step;
It is characterized by that.

本発明の第3の観点に係るプログラムは、
独立した複数のクロック源と、当該複数のクロック源毎に接続され、且つ、接続されたクロック源より供給されたシステムクロックに基づいて同じ演算を行う複数の演算部と、当該複数の演算部と他装置とのデータの送受信を制御する入出力部と、から構成されるフォルトトレラントコンピュータを、
前記クロック源それぞれから前記複数の演算部に供給された複数のシステムクロックのクロックサイクル数を計数する計数手段、
前記計数手段が計数した複数のシステムクロックのクロックサイクル数の差があるか否かを判別する判別手段、
前記複数の演算部がそれぞれ発行した複数のIO命令を比較して、一致するか否かを判別し、一致すると判別した場合に、当該IO命令を前記入出力部に供給する比較手段、
前記判別手段が前記クロックサイクル数の差があると判別した場合には、前記比較手段が当該クロックサイクル数の差に基づいた異なるタイミングで前記複数のIO命令を受信して比較するように調整する調整手段、
前記入出力部が受信した前記演算部への転送命令を、前記クロックサイクル数の差に基づいて、前記複数の演算部毎に異なったタイミングで、前記複数の演算部に配信する配信手段、
として機能させることを特徴とする。
The program according to the third aspect of the present invention is:
A plurality of independent clock sources, a plurality of arithmetic units connected to each of the plurality of clock sources and performing the same calculation based on a system clock supplied from the connected clock sources, and the plurality of arithmetic units A fault-tolerant computer consisting of an input / output unit that controls the transmission and reception of data with other devices,
Counting means for counting the number of clock cycles of a plurality of system clocks supplied to the plurality of arithmetic units from each of the clock sources;
Discriminating means for discriminating whether there is a difference in the number of clock cycles of a plurality of system clocks counted by the counting means;
Comparing means for comparing the plurality of IO commands issued by the plurality of arithmetic units respectively to determine whether or not they match, and to supply the IO command to the input / output unit when determined to match,
When the determination means determines that there is a difference in the number of clock cycles, the comparison means adjusts so as to receive and compare the plurality of IO instructions at different timings based on the difference in the number of clock cycles. Adjustment means,
A delivery means for delivering a transfer command received by the input / output unit to the computing unit, based on the difference in the number of clock cycles, at different timings for the plurality of computing units;
It is made to function as.

本発明によれば、複数の演算部と複数のクロック源とを備えるフォルトトレラントコンピュータにおいて、簡便な装置の構成を実現することが出来る。   According to the present invention, a simple device configuration can be realized in a fault tolerant computer including a plurality of arithmetic units and a plurality of clock sources.

以下、本発明の実施形態に係るフォルトトレラントコンピュータ100について説明する。フォルトトレラントコンピュータ100は、図1に示すように、クロック源10,20と、演算部30,40と、中間制御部50と、IOデバイス60とを備える。   The fault tolerant computer 100 according to the embodiment of the present invention will be described below. As shown in FIG. 1, the fault tolerant computer 100 includes clock sources 10 and 20, arithmetic units 30 and 40, an intermediate control unit 50, and an IO device 60.

クロック源10は、システムクロックを生成して演算部30に供給する。また、クロック源20は、システムクロックを生成して演算部40に供給する。ただし、クロック源10とクロック源20とは、それぞれ独立している。   The clock source 10 generates a system clock and supplies it to the arithmetic unit 30. Further, the clock source 20 generates a system clock and supplies it to the arithmetic unit 40. However, the clock source 10 and the clock source 20 are independent of each other.

演算部30は、CPU(Central Processing Unit)等であり、クロック源10より供給されたシステムクロックに基づいて動作し、中間制御部50にIO命令を発行する。また、演算部30は、クロック管理部31を備える。   The arithmetic unit 30 is a CPU (Central Processing Unit) or the like, operates based on a system clock supplied from the clock source 10, and issues an IO command to the intermediate control unit 50. The calculation unit 30 includes a clock management unit 31.

クロック管理部31は、クロック源10より供給されたシステムクロックのクロックサイクル数を計測し、計測結果を中間制御部50に送信する。   The clock management unit 31 measures the number of clock cycles of the system clock supplied from the clock source 10 and transmits the measurement result to the intermediate control unit 50.

また、演算部40は、CPU(Central Processing Unit)等であり、クロック源20より供給されたシステムクロックに基づいて動作し、中間制御部50にIO命令を発行する。また、演算部40は、クロック管理部41を備える。   The arithmetic unit 40 is a CPU (Central Processing Unit) or the like, and operates based on a system clock supplied from the clock source 20 and issues an IO command to the intermediate control unit 50. In addition, the calculation unit 40 includes a clock management unit 41.

クロック管理部41は、クロック源20より供給されたシステムクロックのクロックサイクル数を計測し、計測結果を中間制御部50に送信する。   The clock management unit 41 measures the number of clock cycles of the system clock supplied from the clock source 20 and transmits the measurement result to the intermediate control unit 50.

中間制御部50は、演算部30,40より供給されたIO命令を検証し、IOデバイス60に送信する。また、中間制御部50は、IOデバイス60より供給された転送命令を演算部30,40に転送する。   The intermediate control unit 50 verifies the IO command supplied from the arithmetic units 30 and 40 and transmits it to the IO device 60. Further, the intermediate control unit 50 transfers the transfer command supplied from the IO device 60 to the arithmetic units 30 and 40.

中間制御部50は、FT制御部51とIO比較部52とを備える。   The intermediate control unit 50 includes an FT control unit 51 and an IO comparison unit 52.

IO比較部52は、演算部30,40がそれぞれ発行したIO命令を比較して、一致するか否かを判別し、一致すると判別した場合に、IO命令をIOデバイス60に供給する。   The IO comparison unit 52 compares the IO instructions issued by the arithmetic units 30 and 40 to determine whether they match, and supplies the IO command to the IO device 60 when it is determined that they match.

FT制御部51は、クロック管理部31,41が送信した計数結果を比較して、クロックサイクル数の差がある場合には、その差に基づいて、IO比較部52が演算部30,40からのIO命令を受信するタイミング及びそれらを比較するタイミングを調整する。
FT制御部51は、IOデバイス60から演算部30,40への転送命令を受信すると、クロック管理部31,41が送信したクロックサイクル数の差に基づいて、異なったタイミングで、演算部30,40に転送命令を送信する、
The FT control unit 51 compares the count results transmitted by the clock management units 31 and 41, and if there is a difference in the number of clock cycles, the IO comparison unit 52 causes the arithmetic units 30 and 40 to change the difference based on the difference. The timing for receiving the IO commands and the timing for comparing them are adjusted.
When the FT control unit 51 receives a transfer command from the IO device 60 to the arithmetic units 30 and 40, based on the difference in the number of clock cycles transmitted by the clock management units 31 and 41, the arithmetic unit 30 and the Send a transfer command to 40,

以下、上記構成のフォルトトレラントコンピュータ100の動作を説明する。   The operation of the fault tolerant computer 100 configured as described above will be described below.

演算部30,40内のクロック管理部31,41は、システムの同期リセット信号が解除されたタイミングで、クロックサイクル数の計数を開始する。クロック管理部31,41は、計数したクロックサイクル数をFT制御部51に送信し、FT制御部51はクロック管理部31,41から送信されたクロックサイクル数の比較判定を実施する。クロックサイクル数が一致していないと判定された時は、FT制御部51は、演算部30,40からのIO命令の有無を判定する。そして、有効なIO命令が有ると判定された時は、FT制御部51は、クロックサイクル数の差違を、IO比較部52による演算部30,40からのIO命令の受信及び比較のタイミングに反映させる。
例えば、図2に示すように、クロック管理部31が計数したクロックサイクル数が、クロック管理部41が計数したクロックサイクル数より1クロック少ない場合には、演算部30が行う処理は、演算部40が行う処理より1クロック遅れている。そこで、IO比較部52は、演算部40が発行したIO命令を受信してから1クロック経過した後に、演算部30が発行したIO命令を受信する。そして、IO比較部52は、それらのIO命令を比較する。
次に、FT制御部51は、IOデバイス60から演算部30,40への転送命令の有無の判定を行う。有効な命令が有ると判定された時は、FT制御部51は、演算部30,40への命令の転送タイミングにクロックサイクル数の差違を反映させる。
例えば、クロック管理部31が計数したクロックサイクル数が、クロック管理部41が計数したクロックサイクル数より1クロック少ない場合には、演算部30は、演算部40より1クロック遅れている。そこで、FT制御部51は、演算部40に転送命令を送信してから1クロック経過した後に、演算部30に同じ転送命令を送信する。
The clock managers 31 and 41 in the arithmetic units 30 and 40 start counting the number of clock cycles at the timing when the system synchronous reset signal is released. The clock management units 31 and 41 transmit the counted number of clock cycles to the FT control unit 51, and the FT control unit 51 compares and determines the number of clock cycles transmitted from the clock management units 31 and 41. When it is determined that the number of clock cycles does not match, the FT control unit 51 determines the presence / absence of an IO command from the arithmetic units 30 and 40. When it is determined that there is a valid IO instruction, the FT control unit 51 reflects the difference in the number of clock cycles in the timing of receiving and comparing the IO instructions from the arithmetic units 30 and 40 by the IO comparison unit 52. Let
For example, as illustrated in FIG. 2, when the number of clock cycles counted by the clock management unit 31 is one clock less than the number of clock cycles counted by the clock management unit 41, the processing performed by the calculation unit 30 is performed by the calculation unit 40. Is delayed by one clock from the processing performed. Therefore, the IO comparison unit 52 receives the IO command issued by the calculation unit 30 after one clock has elapsed since the IO command issued by the calculation unit 40 was received. Then, the IO comparison unit 52 compares those IO instructions.
Next, the FT control unit 51 determines whether or not there is a transfer command from the IO device 60 to the arithmetic units 30 and 40. When it is determined that there is a valid instruction, the FT control unit 51 reflects the difference in the number of clock cycles in the instruction transfer timing to the arithmetic units 30 and 40.
For example, when the number of clock cycles counted by the clock management unit 31 is one clock less than the number of clock cycles counted by the clock management unit 41, the calculation unit 30 is delayed by one clock from the calculation unit 40. Therefore, the FT control unit 51 transmits the same transfer command to the calculation unit 30 after one clock has elapsed since the transfer command was transmitted to the calculation unit 40.

次に、本発明の実施形態に係るフォルトトレラントコンピュータ100が行う同期制御処理を、図3のフローチャートを参照して詳細に説明する。   Next, the synchronization control processing performed by the fault tolerant computer 100 according to the embodiment of the present invention will be described in detail with reference to the flowchart of FIG.

システムの同期リセット信号が解除されると、演算部30,40内のクロック管理部31,41は、クロックサイクル数の計数を開始する(ステップS110)。   When the system synchronous reset signal is canceled, the clock management units 31 and 41 in the calculation units 30 and 40 start counting the number of clock cycles (step S110).

クロック管理部31,41は、計数したクロックサイクル数の情報をFT制御部51に送信する(ステップS120)。   The clock management units 31 and 41 transmit information on the counted number of clock cycles to the FT control unit 51 (step S120).

FT制御部51は、クロック管理部31,41からそれぞれクロックサイクル数の情報を受信すると、それらのクロックサイクル数が一致しているか否かを判別する(ステップS130)。   When receiving information on the number of clock cycles from the clock management units 31 and 41, the FT control unit 51 determines whether or not the number of clock cycles is the same (step S130).

クロックサイクル数が一致していないと判別された場合には(S130;NO)、FT制御部51は、一致していない旨をIO比較部52に通知し、IO比較部52は、その通知を受けると、演算部30,40より有効なIO命令を受信したか否かを判別する(ステップS140)。   When it is determined that the number of clock cycles does not match (S130; NO), the FT control unit 51 notifies the IO comparison unit 52 that they do not match, and the IO comparison unit 52 notifies the notification. Upon receipt, it is determined whether or not a valid IO command has been received from the arithmetic units 30 and 40 (step S140).

有効なIO命令を受信していないと判別した場合には(S140;NO)、IO比較部52は、その旨をFT制御部51に通知し、処理をステップS180に進める。   If it is determined that a valid IO command has not been received (S140; NO), the IO comparison unit 52 notifies the FT control unit 51 to that effect, and the process proceeds to step S180.

有効なIO命令を受信したと判別した場合には(S140;YES)、IO比較部52は、クロックサイクル数の差違を、演算部30,40からのIO命令の受信及び比較のタイミングに反映させ(ステップS150)、演算部30,40からのIO命令が一致するか否かを判別する(ステップS160)。   When it is determined that a valid IO command has been received (S140; YES), the IO comparison unit 52 reflects the difference in the number of clock cycles in the timing of receiving and comparing the IO commands from the arithmetic units 30 and 40. (Step S150), it is determined whether or not the IO commands from the arithmetic units 30 and 40 match (Step S160).

演算部30,40からのIO命令が一致していないと判別した場合には(S160;NO)、IO比較部52は、その旨をFT制御部51に通知し、処理をステップS180に進める。   When it is determined that the IO commands from the arithmetic units 30 and 40 do not match (S160; NO), the IO comparison unit 52 notifies the FT control unit 51 to that effect, and the process proceeds to step S180.

演算部30,40からのIO命令が一致したと判別した場合には(S160;YES)、IO比較部52は、IO命令をIOデバイス60に転送し(ステップS170)、IO命令を転送した旨をFT制御部51に通知し、処理をステップS180に進める。   If it is determined that the IO commands from the arithmetic units 30 and 40 match (S160; YES), the IO comparison unit 52 transfers the IO command to the IO device 60 (step S170), indicating that the IO command has been transferred. Is sent to the FT control unit 51, and the process proceeds to step S180.

IO比較部52よりIO命令が一致していない又は転送された旨の通知を受けると、FT制御部51は、IOデバイス60より演算部30,40への有効な転送命令を受信したか否かを判別する(ステップS180)。   Upon receiving notification from the IO comparison unit 52 that the IO commands do not match or have been transferred, the FT control unit 51 has received a valid transfer command from the IO device 60 to the arithmetic units 30 and 40. Is discriminated (step S180).

有効な転送命令を受信していないと判別した場合には(S180;NO)、FT制御部51は、その旨をクロック管理部31,41に通知し、処理をステップS120に戻す。   If it is determined that a valid transfer command has not been received (S180; NO), the FT control unit 51 notifies the clock management units 31 and 41 to that effect, and the process returns to step S120.

有効な転送命令を受信したと判別した場合には(S180;YES)、FT制御部51は、クロックサイクル数の差異に基づいて、転送タイミングを調整し、それぞれ異なるタイミングで演算部30,40に転送命令を転送し(ステップS190)、転送命令を転送した旨をクロック管理部31,41に通知し、処理をステップS120に戻す。   If it is determined that a valid transfer command has been received (S180; YES), the FT control unit 51 adjusts the transfer timing based on the difference in the number of clock cycles, and sends the calculation units 30 and 40 to different timings. The transfer command is transferred (step S190), the clock management units 31 and 41 are notified that the transfer command has been transferred, and the process returns to step S120.

クロックサイクル数が一致していると判別された場合には(S130;YES)、FT制御部51は、一致している旨をIO比較部52に通知し、IO比較部52は、その通知を受けると、演算部30,40より有効なIO命令を受信したか否かを判別する(ステップS200)。   When it is determined that the number of clock cycles matches (S130; YES), the FT control unit 51 notifies the IO comparison unit 52 that they match, and the IO comparison unit 52 notifies the notification. When received, it is determined whether or not a valid IO command has been received from the arithmetic units 30 and 40 (step S200).

有効なIO命令を受信していないと判別した場合には(S200;NO)、IO比較部52は、その旨をFT制御部51に通知し、処理をステップS230に進める。   If it is determined that a valid IO command has not been received (S200; NO), the IO comparison unit 52 notifies the FT control unit 51 to that effect, and the process proceeds to step S230.

有効なIO命令を受信したと判別した場合には(S200;YES)、IO比較部52は、演算部30,40からのIO命令が一致するか否かを判別する(ステップS210)。   When it is determined that a valid IO command has been received (S200; YES), the IO comparison unit 52 determines whether the IO commands from the calculation units 30 and 40 match (step S210).

演算部30,40からのIO命令が一致していないと判別した場合には(S210;NO)、IO比較部52は、その旨をFT制御部51に通知し、処理をステップS230に進める。   If it is determined that the IO commands from the arithmetic units 30 and 40 do not match (S210; NO), the IO comparison unit 52 notifies the FT control unit 51 to that effect, and the process proceeds to step S230.

演算部30,40からのIO命令が一致したと判別した場合には(S210;YES)、IO比較部52は、IO命令をIOデバイス60に転送し(ステップS220)、IO命令を転送した旨をFT制御部51に通知し、処理をステップS230に進める。   If it is determined that the IO commands from the arithmetic units 30 and 40 match (S210; YES), the IO comparison unit 52 transfers the IO command to the IO device 60 (step S220), indicating that the IO command has been transferred. Is sent to the FT control unit 51, and the process proceeds to step S230.

IO比較部52よりIO命令が一致していない又は転送された旨の通知を受けると、FT制御部51は、IOデバイス60より演算部30,40への有効な転送命令を受信したか否かを判別する(ステップS230)。   Upon receiving notification from the IO comparison unit 52 that the IO commands do not match or have been transferred, the FT control unit 51 has received a valid transfer command from the IO device 60 to the arithmetic units 30 and 40. Is determined (step S230).

有効な転送命令を受信していないと判別した場合には(S230;NO)、FT制御部51は、その旨をクロック管理部31,41に通知し、処理をステップS120に戻す。   If it is determined that a valid transfer command has not been received (S230; NO), the FT control unit 51 notifies the clock management units 31 and 41 to that effect, and the process returns to step S120.

有効な転送命令を受信したと判別した場合には(S230;YES)、FT制御部51は、同じタイミングで演算部30,40に転送命令を転送し(ステップS190)、転送命令を転送した旨をクロック管理部31,41に通知し、処理をステップS120に戻す。   If it is determined that a valid transfer command has been received (S230; YES), the FT control unit 51 transfers the transfer command to the arithmetic units 30 and 40 at the same timing (step S190), and indicates that the transfer command has been transferred. Is sent to the clock management units 31 and 41, and the process returns to step S120.

このようにして、同期制御処理によれば、演算部30,40からのIO命令の受信及び比較のタイミングの調整を行い、また、IOデバイス60から演算部30,40への命令の転送タイミングの調整を行うことで、簡便にクロックサイクル数の差異を補正し、同期動作を継続させることが出来る。   In this way, according to the synchronization control process, the timing of receiving and comparing the IO command from the arithmetic units 30 and 40 is adjusted, and the transfer timing of the command from the IO device 60 to the arithmetic units 30 and 40 is adjusted. By performing the adjustment, the difference in the number of clock cycles can be easily corrected and the synchronous operation can be continued.

なお、本発明は上記実施形態に限定されず、種々の応用及び変形が可能である。   In addition, this invention is not limited to the said embodiment, A various application and deformation | transformation are possible.

上記実施形態において、フォルトトレラントコンピュータ100は、それぞれ二つの演算部及びクロック源を備えていたが、三つ以上の演算部及びクロック源を備えるようにして、三つ以上のシステムクロックのクロックサイクル数の差に基づいて、IO命令の比較タイミングと、IOデバイスから演算部への命令の転送タイミングとを調整してもよい。   In the above-described embodiment, the fault tolerant computer 100 includes two arithmetic units and a clock source. However, the number of clock cycles of three or more system clocks includes three or more arithmetic units and a clock source. Based on the difference, the IO instruction comparison timing and the instruction transfer timing from the IO device to the arithmetic unit may be adjusted.

また、その他、具体的な細部構成等についても適宜変更可能である。   In addition, specific details of the configuration can be changed as appropriate.

本発明の実施形態に係るフォルトトレラントコンピュータの構成図である。1 is a configuration diagram of a fault tolerant computer according to an embodiment of the present invention. FIG. IO命令の受信と比較とを説明するための図である。It is a figure for demonstrating reception and comparison of IO command. 同期制御処理を説明するためのフローチャートである。It is a flowchart for demonstrating a synchronous control process.

符号の説明Explanation of symbols

10 クロック源
20 クロック源
30 演算部
31 クロック管理部
40 演算部
41 クロック管理部
50 中間制御部
51 FT制御部
52 IO比較部
60 IOデバイス
100 フォルトトレラントコンピュータ
DESCRIPTION OF SYMBOLS 10 Clock source 20 Clock source 30 Operation part 31 Clock management part 40 Operation part 41 Clock management part 50 Intermediate control part 51 FT control part 52 IO comparison part 60 IO device 100 Fault tolerant computer

Claims (3)

独立した複数のクロック源と、当該複数のクロック源毎に接続され、接続されたクロック源より供給されたシステムクロックに基づいて同じ演算を行い、同じIO命令を発行する複数の演算部と、当該複数の演算部が入出力するデータを検証する中間制御部と、当該複数の演算部と他装置とのデータの送受信を制御する入出力部と、から構成され、
前記演算部は、それぞれ、
前記クロック源から供給されたシステムクロックのクロックサイクル数を計数し、計数結果を前記中間制御部に送信するクロック管理部を備え、
前記中間制御部は、
前記複数の演算部がそれぞれ発行した複数のIO命令を受信して比較し、一致するか否かを判別し、一致すると判別した場合に、当該IO命令を前記入出力部に供給するIO比較部と、
複数の前記クロック管理部が送信した複数の計数結果を比較して、クロックサイクル数の差がある場合には、前記IO比較部が当該クロックサイクル数の差に基づいた異なるタイミングで前記複数のIO命令を受信して比較するように調整するFT制御部と、を備え、
前記FT制御部は、
前記入出力部から前記演算部への転送命令を受信すると、前記クロックサイクル数の差に基づいて、前記複数の演算部毎に異なったタイミングで、前記複数の演算部毎に当該転送命令を配信する、
ことを特徴とするフォルトトレラントコンピュータ。
A plurality of independent clock sources, a plurality of arithmetic units connected to each of the plurality of clock sources, performing the same operation based on a system clock supplied from the connected clock sources, and issuing the same IO command; An intermediate control unit that verifies data input and output by a plurality of calculation units, and an input / output unit that controls transmission and reception of data between the plurality of calculation units and other devices,
The calculation units are respectively
A clock management unit that counts the number of clock cycles of the system clock supplied from the clock source and transmits the counting result to the intermediate control unit;
The intermediate control unit
An IO comparison unit that receives and compares a plurality of IO commands issued by the plurality of arithmetic units, determines whether or not they match, and supplies the IO command to the input / output unit when it is determined that they match When,
When a plurality of count results transmitted by the plurality of clock management units are compared and there is a difference in the number of clock cycles, the IO comparison unit performs the plurality of IOs at different timings based on the difference in the number of clock cycles. And an FT control unit that adjusts to receive and compare the instructions,
The FT control unit
When a transfer command from the input / output unit to the calculation unit is received, the transfer command is distributed to the plurality of calculation units at different timings for the plurality of calculation units based on the difference in the number of clock cycles. To
A fault tolerant computer.
独立した複数のクロック源と、当該複数のクロック源毎に接続され、且つ、接続されたクロック源より供給されたシステムクロックに基づいて同じ演算を行う複数の演算部と、当該複数の演算部と他装置とのデータの送受信を制御する入出力部と、から構成されるフォルトトレラントコンピュータの同期制御方法であって、
前記クロック源それぞれから前記複数の演算部に供給された複数のシステムクロックのクロックサイクル数を計数する計数ステップと、
前記計数ステップで計数した複数のシステムクロックのクロックサイクル数の差があるか否かを判別する判別ステップと、
前記複数の演算部がそれぞれ発行した複数のIO命令を比較して、一致するか否かを判別し、一致すると判別した場合に、当該IO命令を前記入出力部に供給する比較ステップと、
前記判別ステップで前記クロックサイクル数の差がある場合には、前記比較ステップで当該クロックサイクル数の差に基づいた異なるタイミングで前記複数のIO命令を受信して比較するように調整する調整ステップと、
前記入出力部が受信した前記演算部への転送命令を、前記クロックサイクル数の差に基づいて、前記複数の演算部毎に異なったタイミングで、前記複数の演算部に当該転送命令を配信する配信ステップと、を備える、
ことを特徴とする同期制御方法。
A plurality of independent clock sources, a plurality of arithmetic units connected to each of the plurality of clock sources and performing the same calculation based on a system clock supplied from the connected clock sources, and the plurality of arithmetic units A method for synchronous control of a fault tolerant computer comprising an input / output unit for controlling transmission and reception of data with other devices,
A counting step of counting the number of clock cycles of a plurality of system clocks supplied to the plurality of arithmetic units from each of the clock sources;
A determination step of determining whether there is a difference in the number of clock cycles of the plurality of system clocks counted in the counting step;
A comparison step of comparing the plurality of IO instructions issued by the plurality of arithmetic units, determining whether or not they match, and supplying the IO instruction to the input / output unit when determined to match;
An adjustment step for adjusting the reception and comparison of the plurality of IO instructions at different timings based on the difference in the number of clock cycles in the comparison step when there is a difference in the number of clock cycles in the determination step; ,
The transfer instruction received by the input / output unit is distributed to the plurality of arithmetic units at different timings for the plurality of arithmetic units based on the difference in the number of clock cycles. A delivery step;
A synchronization control method characterized by the above.
独立した複数のクロック源と、当該複数のクロック源毎に接続され、且つ、接続されたクロック源より供給されたシステムクロックに基づいて同じ演算を行う複数の演算部と、当該複数の演算部と他装置とのデータの送受信を制御する入出力部と、から構成されるフォルトトレラントコンピュータを、
前記クロック源それぞれから前記複数の演算部に供給された複数のシステムクロックのクロックサイクル数を計数する計数手段、
前記計数手段が計数した複数のシステムクロックのクロックサイクル数の差があるか否かを判別する判別手段、
前記複数の演算部がそれぞれ発行した複数のIO命令を比較して、一致するか否かを判別し、一致すると判別した場合に、当該IO命令を前記入出力部に供給する比較手段、
前記判別手段が前記クロックサイクル数の差があると判別した場合には、前記比較手段が当該クロックサイクル数の差に基づいた異なるタイミングで前記複数のIO命令を受信して比較するように調整する調整手段、
前記入出力部が受信した前記演算部への転送命令を、前記クロックサイクル数の差に基づいて、前記複数の演算部毎に異なったタイミングで、前記複数の演算部に配信する配信手段、
として機能させることを特徴とするプログラム。
A plurality of independent clock sources, a plurality of arithmetic units connected to each of the plurality of clock sources and performing the same calculation based on a system clock supplied from the connected clock sources, and the plurality of arithmetic units A fault-tolerant computer consisting of an input / output unit that controls the transmission and reception of data with other devices,
Counting means for counting the number of clock cycles of a plurality of system clocks supplied to the plurality of arithmetic units from each of the clock sources;
Discriminating means for discriminating whether there is a difference in the number of clock cycles of a plurality of system clocks counted by the counting means;
Comparing means for comparing the plurality of IO commands issued by the plurality of arithmetic units respectively to determine whether or not they match, and to supply the IO command to the input / output unit when determined to match,
When the determination means determines that there is a difference in the number of clock cycles, the comparison means adjusts so as to receive and compare the plurality of IO instructions at different timings based on the difference in the number of clock cycles. Adjustment means,
A delivery means for delivering a transfer command received by the input / output unit to the computing unit, based on the difference in the number of clock cycles, at different timings for the plurality of computing units;
A program characterized by functioning as
JP2008035938A 2008-02-18 2008-02-18 Fault tolerant computer, synchronous control method, and program Expired - Fee Related JP5206009B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008035938A JP5206009B2 (en) 2008-02-18 2008-02-18 Fault tolerant computer, synchronous control method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008035938A JP5206009B2 (en) 2008-02-18 2008-02-18 Fault tolerant computer, synchronous control method, and program

Publications (2)

Publication Number Publication Date
JP2009193504A true JP2009193504A (en) 2009-08-27
JP5206009B2 JP5206009B2 (en) 2013-06-12

Family

ID=41075436

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008035938A Expired - Fee Related JP5206009B2 (en) 2008-02-18 2008-02-18 Fault tolerant computer, synchronous control method, and program

Country Status (1)

Country Link
JP (1) JP5206009B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003313A (en) * 2010-06-14 2012-01-05 Hitachi Ltd Computer system and control method therefor
US9465640B2 (en) 2013-11-01 2016-10-11 Fujitsu Limited Information processing apparatus and method of controlling information processing apparatus
DE112015007095T5 (en) 2015-12-03 2018-07-26 Mitsubishi Electric Corporation multiplex system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0773059A (en) * 1993-03-02 1995-03-17 Tandem Comput Inc Fault-tolerant computer system
JPH086800A (en) * 1994-06-16 1996-01-12 Toshiba Corp Data processor and microprocessor
JPH0833874B2 (en) * 1987-11-09 1996-03-29 タンデム コンピューターズ インコーポレーテッド Device for synchronizing multiple processors
JPH08241217A (en) * 1995-03-07 1996-09-17 Hitachi Ltd Information processor
JP2002515146A (en) * 1996-05-16 2002-05-21 レジリエンス コーポレイション Triple module redundant computer system
JP2004046599A (en) * 2002-07-12 2004-02-12 Nec Corp Fault tolerant computer system, its resynchronization method, and resynchronization program
JP2006172243A (en) * 2004-12-17 2006-06-29 Nec Corp Fault-tolerant computer device and synchronization method for the same
JP2007249518A (en) * 2006-03-15 2007-09-27 Nec Corp Data processing apparatus and its synchronizing method

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0833874B2 (en) * 1987-11-09 1996-03-29 タンデム コンピューターズ インコーポレーテッド Device for synchronizing multiple processors
JPH0773059A (en) * 1993-03-02 1995-03-17 Tandem Comput Inc Fault-tolerant computer system
JPH086800A (en) * 1994-06-16 1996-01-12 Toshiba Corp Data processor and microprocessor
JPH08241217A (en) * 1995-03-07 1996-09-17 Hitachi Ltd Information processor
JP2002515146A (en) * 1996-05-16 2002-05-21 レジリエンス コーポレイション Triple module redundant computer system
JP2004046599A (en) * 2002-07-12 2004-02-12 Nec Corp Fault tolerant computer system, its resynchronization method, and resynchronization program
JP2006172243A (en) * 2004-12-17 2006-06-29 Nec Corp Fault-tolerant computer device and synchronization method for the same
JP2007249518A (en) * 2006-03-15 2007-09-27 Nec Corp Data processing apparatus and its synchronizing method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012003313A (en) * 2010-06-14 2012-01-05 Hitachi Ltd Computer system and control method therefor
US9465640B2 (en) 2013-11-01 2016-10-11 Fujitsu Limited Information processing apparatus and method of controlling information processing apparatus
DE112015007095T5 (en) 2015-12-03 2018-07-26 Mitsubishi Electric Corporation multiplex system
DE112015007095B4 (en) 2015-12-03 2018-11-22 Mitsubishi Electric Corporation multiplex system

Also Published As

Publication number Publication date
JP5206009B2 (en) 2013-06-12

Similar Documents

Publication Publication Date Title
US7996714B2 (en) Systems and methods for redundancy management in fault tolerant computing
JP5397739B2 (en) Image processing apparatus, image processing method, and image processing program
JP5206009B2 (en) Fault tolerant computer, synchronous control method, and program
JP2015130147A5 (en)
KR20160125942A (en) Programmable controller system and controller therefor
JP2006209593A (en) Information processor and information processing method
JP2010003081A (en) Arithmetic processing unit multiplexing control system
JP6301752B2 (en) Information service display system and time synchronization method
JP4752552B2 (en) Data processing apparatus and synchronization method thereof
JP2015204117A (en) Plc system having plural cpu modules and control method
US7680034B2 (en) Redundant control systems and methods
JP2007122410A (en) Bus arbitration circuit and method
US20150350317A1 (en) Computer system synchronization
JP2010033255A (en) Signal synchronization method and signal synchronization circuit
JP2011233042A (en) Calibration control apparatus and calibration control method
JP2014157386A (en) Data processing system
KR20100135643A (en) Timing controller, apparatus for controlling data signal sending using timing controller
US9703315B2 (en) Transmission device and time synchronization method
JP2015115915A (en) Data transmission control device and data transmission control method
JP2004080132A (en) Synchronization-detecting method for communication
JP2013250696A (en) Processor system and processor control device
US20230259485A1 (en) Communication apparatus, communication method, and program
JP4794407B2 (en) Field network system
JP4640359B2 (en) Fault tolerant computer and synchronization control method in fault tolerant computer
JP2010211250A (en) Fault tolerant computer and timing adjusting method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121225

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130122

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130204

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

Free format text: PAYMENT UNTIL: 20160301

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5206009

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees