JPWO2017094162A1 - 多重系システム - Google Patents
多重系システム Download PDFInfo
- Publication number
- JPWO2017094162A1 JPWO2017094162A1 JP2017553568A JP2017553568A JPWO2017094162A1 JP WO2017094162 A1 JPWO2017094162 A1 JP WO2017094162A1 JP 2017553568 A JP2017553568 A JP 2017553568A JP 2017553568 A JP2017553568 A JP 2017553568A JP WO2017094162 A1 JPWO2017094162 A1 JP WO2017094162A1
- Authority
- JP
- Japan
- Prior art keywords
- input
- timing
- unit
- data
- calculation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/183—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
- G06F11/184—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1679—Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1675—Temporal synchronisation or re-synchronisation of redundant processing components
- G06F11/1683—Temporal synchronisation or re-synchronisation of redundant processing components at instruction level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/25—Routing or path finding in a switch fabric
- H04L49/253—Routing or path finding in a switch fabric using establishment or release of connections between ports
- H04L49/255—Control mechanisms for ATM switching fabrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3081—ATM peripheral units, e.g. policing, insertion or extraction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/50—Overload detection or protection within a single switching element
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
- Electric Clocks (AREA)
Abstract
Description
フォルトトレラント設計の一つとして、故障が発生した処理系を検知し、検知した処理系を分離し、残りの処理系で処理を継続する方法がある。
この方法では、各処理系に故障が発生していない場合に、各処理系の演算結果を一致させるため、各処理系に同じ入力を与える必要がある。
しかし、処理系が同じタイミングで演算を行う場合、各処理系にデータが入力されるタイミングがずれると、各処理系の演算結果が一致しない。具体的には、第1の処理系には第1のデータが演算タイミングの前に入力されたが、第2の処理系には第1のデータが演算タイミングの後に入力された場合である。この場合、第1の処理系は第1のタイミングに第1のデータを用いて演算を行うが、第2の処理系は第1のタイミングに第1のデータを用いずに演算を行う。そのため、第1の処理系の演算結果と第2の処理系の演算結果は互いに一致しない。
このような処理系のシステムでは、各処理系にデータが入力されるタイミングを合わせる必要がある。
このような処理系のシステムでは、各処理系で演算が開始されるタイミングを合わせる必要がある。
(1)単一の水晶発振器から出力されるクロック信号を各処理系のクロック源とする。そして、各処理系は単一の水晶発振器から出力されるクロック信号に合わせて動作する。
しかし、この方法の場合、水晶発振器が単一故障すると、システム全体が停止してしまう。また、一般に水晶発振器の故障率は他のIC(Integrated Circuit)に比べて高い。そのため、システムの信頼度は低下し、処理系を多重化して継続動作を可能とするメリットが損なわれる。
(2)同期化用ICによって同期化されたクロック信号を各処理系のクロック源とする。同期化用ICは複数の水晶発振器から出力されるクロック信号を同期化する。そして、各処理系は同期化用ICによって同期化されたクロック信号に合わせて動作する。
この場合、システムが複数の水晶発振器を持つため、水晶発振器が単一故障してもシステム全体が停止することはない。したがって、システムの信頼度を保つことができる。
しかし、同期化用ICは非常に高価であるため、コストを重要視する組み込みシステムでは、この方法を適用することができない。
そのため、各処理系に別々のクロック源を与えて各処理系を非同期で動かした上で、各処理系の演算開始のタイミングを合わせる必要がある。
例えば、第2の処理系の動作が第1の処理系の動作よりも10クロック遅い場合、データが第1の処理系に入力されてから10クロック後に、同じデータが第2の処理系に入力されるように調整される。また、第1の処理系の演算結果は10クロック後の第2の処理系の演算結果と比較される。
これにより、各処理系が非同期で動作している場合でも、各処理系が同じデータを用いて同じ演算を行うことが可能となる。さらに、各処理系の同じ演算の結果を比較することが可能となる。
このため、第1の処理系の1クロックが10ナノ秒+1ピコ秒であり、第2の処理系の1クロックが10ナノ秒−1ピコ秒であった場合、第1の処理系と第2の処理系とには、100万クロックの時間に1マイクロ秒の時間差が発生する。100万クロックは100MHzで1秒である。さらに、第1の処理系と第2の処理系とには、36億クロックの時間に3.6ミリ秒の時間差が発生する。36億クロックは100MHzで1時間である。つまり、各処理系の動作時間が長くなるほど、各処理系の時間差が広がる。
また、各処理系の演算結果を比較するためには、処理が早い方の処理系の演算結果を、処理が遅い方の処理系の演算結果が得られるまで、保持しなければならない。さらに、各処理系の動作時間が長くなると、保持しなければならない演算結果の量が増えるため、バッファの空きが無くなる。そして、各処理系の演算結果を比較することができなくなる。
つまり、各処理系の時間差が広がる場合、特許文献1に開示された方法では、各処理系の同じ演算の結果を比較することが困難になる。
つまり、各処理系にデータが届くタイミングが同時でない場合、特許文献2に開示された方法は使用できない。
また、周期的な演算においては、各処理系が同期化のコマンドを送受信するまで各処理系が待機状態となるような動作が適さない場合がある。その場合、特許文献2に開示された方法は使用できない。
前記複数の入力部それぞれは、前記データが入力された入力タイミングに入力通知を出力し、前記入力タイミングと他の入力部から入力通知が出力されたタイミングとのうちの遅い方のタイミングである同期タイミングに前記データを出力する。
複数の処理系を有する多重系システム100について、図1から図8に基づいて説明する。
図1に基づいて、多重系システム100の構成について説明する。
多重系システム100は、複数の集積回路210と複数の演算回路220と1つの集積回路230とを備える。
具体的には、集積回路210および集積回路230はLSI(Large Scale
Integration)と呼ばれる回路である。また、演算回路220はプロセッサを有する回路である。
具体的には、複数の集積回路210は互いに接続されて、複数の演算回路220は集積回路230に接続されている。また、第nの集積回路210は第nの演算回路220に接続されている。
つまり、多重系システム100は、複数の入力部110と複数の演算部120と1つの出力部130といった「部」を機能構成の要素として備える。そして、「部」の機能は回路というハードウェアで実現される。「部」の機能については後述する。
つまり、第nの入力部110と第nの演算部120とが1対1に対応付けられて、第nの入力部110と第nの演算部120との組が第nの処理系を構成する。第nの入力部110は第nの集積回路210が備える入力部110であり、第nの演算部120は第nの演算回路220が備える演算部120である。
入力部110は、記憶部111と通知部112と検出部113と同期部114とを機能構成の要素として備える。これらの部の機能については後述する。
演算回路220は、プロセッサ221とメモリ222と発振器223とを備える。プロセッサ221は、メモリ222と発振器223に信号線を介して接続されている。
プロセッサ221はプロセッシングを行う集積回路である。具体的には、プロセッサ901はCPU(Central Processing Unit)である。
メモリ222は不揮発性の記憶装置である。具体的には、メモリ222はROM(Read Only Memory)である。
発振器223はクロック信号を生成する回路である。具体的には、発振器223は水晶発振器である。
発振器223には個体差がある。具体的には、発振器223の精度には、±100PPM以内の偏差が生じる。そのため、発振器223の定格周波数が100MHzである場合、発振器223には±10KHz(キロヘルツ)の差が生じる。つまり、早い発振器223ではクロック周波数が100MHz+10KHzであり、遅い発振器223ではクロック周波数が100MHz−10KHzである。したがって、プロセッサ221間で動作周波数に差が生じる。
プロセッサ221は、発振器223によって生成されるクロック信号に合わせて動作し、メモリ222に記憶されている演算プログラムを実行する。プロセッサ221は演算部120として機能する。
出力部130は、多数決部131と検出部132とリセット部133とタイマ部134とを機能構成の要素として備える。これらの部の機能については後述する。
多重系システム100の動作は多重化方法に相当する。
ステップS101において、複数の入力部110それぞれにデータが入力されると、処理はステップS110に進む。それぞれの入力部110に入力されるデータを入力データ101という。
なお、それぞれの入力部110には同じ入力データ101が入力される。また、それぞれの入力部110に入力データ101が入力されるタイミングは、ずれても構わない。つまり、入力データ101は、それぞれの入力部110に入力されるタイミングが同期されずに、それぞれの入力部110に入力されても構わない。
複数の入力部110それぞれは、入力データ101が入力された入力タイミングに入力通知104を出力し、入力データ101を同期タイミングに出力する。同期タイミングは、入力タイミングと他の入力部110から入力通知104が出力されたタイミングとのうちの遅い方のタイミングである。
入力データ101が記憶部111に入力されて、記憶部111が入力データ101を入力する。
通知部112は、入力データ101が記憶部111に記憶されたタイミングを入力タイミングとして検出して入力通知104を出力する。
検出部113は、入力タイミングと他の入力部110から入力通知104が出力されたタイミングとのうちの遅い方のタイミングを同期タイミングとして検出する。
同期部114は、同期タイミングが検出されたときに、記憶部111から入力データ101を読み出して入力データ101を出力する。
ステップS111において、入力データ101が記憶部111に入力される。そして、記憶部111は入力データ101を記憶する。
出力された記憶通知191は、通知部112と検出部113とに入力される。
出力された入力通知104は、他の入力部110に入力される。
同期タイミングは、記憶部111から出力された記憶通知191が入力されたタイミングと他の入力部110から出力された入力通知104が入力されたタイミングとのうちの遅い方のタイミングである。
検出部113は第1〜第3のフラグを有する。
記憶通知191が入力されると第1のフラグの値が0から1に変わる。また、第2の入力部110の入力通知104が入力されると第2のフラグの値が0から1に変わり、第3の入力部110の入力通知104が入力されると第3のフラグの値が0から1に変わる。
検出部113は、第1〜第3のフラグの全ての値が1になったタイミングを同期タイミングとして検出する。
同期タイミングが検出されると、処理はステップS115に進む。
出力された検出通知192は、同期部114に入力される。
第nの入力部110の同期部114から出力された入力データ101は、第nの演算部120に入力される。
ステップS120は演算処理である。
ステップS120において、複数の演算部120は、複数の入力部110から出力された入力データ101が入力されたときに演算を始める。つまり、第nの演算部120は、第nの入力部110から出力された入力データ101が入力されたときに演算を始める。
そして、複数の演算部120それぞれは、演算結果102を出力する。
但し、出力部130からエラーが通知された演算部120は、演算を行わず、演算結果102を出力しない。エラーが通知された演算部120を有する処理系は故障していると考えられるためである。
ステップS121において、演算部120は演算の要否を判定する。
メモリ222には演算フラグが記憶されている。演算フラグの値は、エラーが通知された場合に0から1に変更される。
演算フラグの値が0である場合、演算部120は演算が必要であると判定する。また、演算フラグの値が1である場合、演算部120は演算が不要であると判定する。
演算が必要であると判定されると、処理はステップS122に進む。
演算が終了すると、処理はステップS123に進む。
出力された演算結果102は、出力部130に入力される。
ステップS130は出力処理である。
ステップS130において、出力部130は、複数の演算部120によって得られた複数の演算結果102から演算結果102を選択し、選択した演算結果102と同じ内容のデータを出力する。出力部130から出力されるデータを出力データ103という。
また、出力部130は、選択しなかった演算結果102が得られた演算部120にエラーを通知する。
ステップS131において、多数決部131は、演算結果102を比較する比較タイミングを検出する。
比較タイミングは、複数の演算部120から出力された演算結果102が入力されたタイミングと演算結果102の比較が済んでいるべきタイミングとのうちの早い方のタイミングである。
演算結果102の比較が済んでいるべきタイミングは、タイマ部134から出力されるタイムアウト通知195が入力されるタイミングである。
第1〜第3の演算部120から出力された演算結果102は、多数決部131、タイマ部134および検出部132に入力される。
多数決部131は第1〜第3のフラグを有する。第nのフラグの値は、第nの演算部120から出力された演算結果102が入力されると0から1に変わる。
タイマ部134は、第1〜第3の演算部120から出力される演算結果102のうち1つ目の演算結果102が入力されると時間の計測を開始し、1つ目の演算結果102が入力されてから経過した経過時間を計測する。そして、タイマ部134は、経過時間が保留時間に達すると、タイムアウト通知195を出力する。タイムアウト通知195は、経過時間が保留時間に達したことを通知するための信号である。出力されたタイムアウト通知195は、多数決部131に入力される。保留時間は予め決められた時間である。具体的には、保留時間は1ミリ秒である。
多数決部131は、第1〜第3のフラグの全ての値が1になったタイミングとタイムアウト通知195が入力されたタイミングとのうちの早い方のタイミングを比較タイミングとして検出する。
比較タイミングが検出されると、処理はステップS132に進む。
つまり、第1〜第3の演算結果102が入力されて、第1の演算結果102および第2の演算結果102が第1の値であり、第3の演算結果102が第2の値である場合、多数決部131は第1の演算結果102および第2の演算結果102を選択する。
出力データ103は、多重系システム100の外部に出力される。また、出力データ103は、検出部132とリセット部133とに入力される。
タイマ部134は、経過時間の計測を停止し、計測した時間をゼロに戻す。
少なくともいずれかの演算結果102が出力データ103と一致しない場合、処理はステップS136に進む。
具体的には、検出部132は、出力データ103と一致しない演算結果102の入力元の演算部120を特定し、特定した演算部120を識別する識別子を含んだエラー通知105を生成する。
エラー通知105は、少数派の演算結果102が得られた演算部120を通知するためのデータである。少数派の演算結果102は、多数決で選ばれない演算結果102を意味する。
エラー通知105に含まれる識別子によって識別される演算部120は、次回以降の演算を行わない。つまり、エラーが通知された演算部120は次回以降の演算を行わない。エラーが通知された演算部120を有する処理系は故障していると考えられるためである。
多重系システム100は、複数の処理系それぞれにデータが入力されるタイミングが同期されない場合であっても、複数の処理系それぞれの動作を同期させることができる。
複数の入力部110は同期タイミングに入力データ101を出力する。そのため、複数の演算部120には入力データ101が同じタイミングで入力される。
そのため、複数の演算部120それぞれの動作周波数に差が生じていても、同じ演算が実行されるタイミングには同じ入力データ101が複数の演算部120に入力されている。したがって、複数の演算部120は、同じ入力データ101を用いて同じ演算を実行することができる。そして、複数の演算部120は、同じ演算結果102を出力することができる。
具体的には、プロセッサ221の内部タイマが所定値になったときに演算プログラムが起動される。例えば、所定値は0である。この場合、入力データ101が入力されたタイミングでプロセッサ221の内部タイマの値を0に変更することにより、複数のプロセッサ221において演算プログラムはほぼ同じ時刻に起動する。プロセッサ221間で動作周波数が違うために演算プログラムが起動するタイミングが若干ずれたとしても、演算プログラムは入力データ101が入力されたときに起動する。そのため、いずれかの処理系で故障等のトラブルが発生しない限り、複数の演算部120は、同じ入力データ101を用いて同じ演算を実行することができる。そして、複数の演算部120は、同じ演算結果102を出力することができる。
入力データ101が入力されたタイミングでプロセッサ221の内部タイマの値が所定値になるため、プロセッサ221間で動作周波数が違っても演算が開始されるタイミングのずれは拡大しない。入力データ101が入力される周期が数百ミリ秒で、発振器223の精度の偏差が±100PPM以内で、プロセッサ221の動作周波数が100MHzである場合、演算が完了するタイミングのずれが数百マイクロ秒程度に抑えられる。入力データ101が届いたタイミングで、演算が開始されるためである。そして、演算が完了するタイミングのずれが小さいことにより、出力部130が保持する各演算部120の演算結果102の量が少なくて済む。つまり、タイムアウトに引っかからず、記憶領域が小さくて済む、という効果を得ることができる。
多重系システム100が有する処理系の数は3つではなく、2つまたは4つ以上であってもよい。
入力データ101がいずれかの入力部110に入力されない故障を考慮した形態について、図9および図10に基づいて説明する。但し、実施の形態1と重複する説明は省略または簡略する。
多重系システム100の構成、演算回路220の構成および出力部130の機能構成は、実施の形態1と同じである。
入力部110は、記憶部111と通知部112と検出部113と同期部114との他に、リセット部115とタイマ部116とを機能構成の要素として備える。
記憶部111、通知部112、検出部113および同期部114の機能は、実施の形態1と同じである。リセット部115およびタイマ部116の機能については後述する。
多重化方法の手順、演算処理(S120)の手順および出力処理(S130)の手順は、実施の形態1と同じである。
但し、図5に基づいて説明した多重化方法において、入力処理(S110)は以下の点で実施の形態1と異なる。
入力処理(S110)は、ステップS111〜S113およびステップS115〜S117を含んでいる。ステップS111〜S113、ステップS115およびステップS116は、実施の形態1と基本的に同じである。
ステップS112において、記憶部111は記憶通知191を出力する。
ステップS113において、通知部112は入力通知104を出力する。
ステップS113の後、処理はステップS117に進む。
先行タイミングは、同期タイミングと制限タイミングとのうちの早い方のタイミングである。
同期タイミングは、実施の形態1で説明したように、記憶部111から出力された記憶通知191が入力されたタイミングと他の入力部110から出力された入力通知104が入力されたタイミングとのうちの遅い方のタイミングである。
同期タイミングを検出する方法は、実施の形態1においてステップS114で説明した通りである。
同期部114から前回出力された入力データ101は、演算部120の他に、リセット部115に入力される。
リセット部115は、入力データ101が入力されるとリセット通知193を出力する。リセット通知193は時間の計測をリセットするための信号である。出力されたリセット通知193はタイマ部116に入力される。
タイマ部116は、リセット通知193が入力されると時間の計測を開始し、リセット通知193が入力されてから経過した経過時間を計測する。そして、タイマ部116は、経過時間が許容時間に達すると、タイムアウト通知194を出力する。タイムアウト通知194は、経過時間が許容時間に達したことを通知するための信号である。出力されたタイムアウト通知194は検出部113に入力される。許容時間は予め決められた時間である。具体的には、許容時間は10ミリ秒である。
検出部113は、タイムアウト通知194が入力されたタイミングを制限タイミングとして検出する。
リセット部115は入力データ101が入力されるとリセット通知193を出力し、出力されたリセット通知193はタイマ部116に入力される。タイマ部116は、リセット通知193が入力されると、計測した時間をゼロに戻して時間の計測を開始する。
複数の入力部110は入力データ101を遅くても制限タイミングには出力する。そのため、入力データ101が伝送される伝送経路が、いずれかの入力部110において断線している場合であっても、多重系システム100は動作を継続することができる。
複数の演算結果102が外部に出力される形態について、図11から図14に基づいて説明する。但し、実施の形態1および実施の形態2と重複する説明は省略または簡略する。
図11に基づいて、多重系システム100の構成について説明する。
多重系システム100は、複数の集積回路210と複数の演算回路220と1つの集積回路240とを備える。
集積回路210および演算回路220は、実施の形態1で説明したように入力部110および演算部120として機能する。
集積回路240は特定部140として機能する。つまり、多重系システム100は特定部140を機能構成の要素として備える。特定部140の機能については後述する。
特定部140の機能構成は、実施の形態1で説明した出力部130の機能構成と同じである。
つまり、特定部140は、多数決部141と検出部142とリセット部143とタイマ部144とを機能構成の要素として備える。
図13に基づいて、多重化方法について説明する。
多重化方法は、ステップS101、ステップS110、ステップS120およびステップS140を有する。
ステップS101、ステップS110およびステップS120は、実施の形態1または実施の形態2と基本的に同じである。但し、演算処理(S120)において、演算結果102は多重系システム100の外部に出力される。また、演算結果102は特定部140に入力される。
ステップS140において、特定部140は、複数の演算部120のうちの多数決で選ばれない演算結果102が得られた演算部120を特定する。
そして、特定部140は特定した演算部120にエラーを通知し、エラーが通知された演算部120は次回以降の演算を行わない。
特定処理(S140)は、ステップS141〜S146を有する。ステップS141〜S146は、実施の形態1で図8に基づいて説明したステップS131〜S136に相当する。
リセット部143は選択結果197が入力されるとリセット通知196を出力し、出力されたリセット通知196はタイマ部134に入力される。タイマ部134は経過時間の計測を停止し、計測した時間をゼロに戻す。
少なくともいずれかの演算結果102が選択結果197と一致しない場合、処理はステップS146に進む。
エラー通知105に含まれる識別子によって識別される演算部120は、次回以降の演算を行わない。つまり、エラーが通知された演算部120は次回以降の演算を行わない。
実施の形態3では、実施の形態1および実施の形態2で入力データ101が外部から入力されてから出力データ103が外部へ出力されるまでの時間に比べて、入力データ101が外部から入力されてから演算結果102が外部へ出力されるまでの時間が短い。すなわち、実施の形態3により、多重系システム100の外部への応答時間を短縮することができる。
各実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。各実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。
フローチャート等を用いて説明した手順は、システムおよび方法の手順の一例である。
機能構成の要素である「部」は「回路」と読み替えてもよい。
Claims (11)
- データがそれぞれに入力される複数の入力部を備え、
前記複数の入力部それぞれは、前記データが入力された入力タイミングに入力通知を出力し、前記入力タイミングと他の入力部から入力通知が出力されたタイミングとのうちの遅い方のタイミングである同期タイミングに前記データを出力する
ことを特徴とする多重系システム。 - 前記複数の入力部それぞれは、
前記データが入力されて前記データを記憶する記憶部と、
前記データが前記記憶部に記憶されたタイミングを前記入力タイミングとして検出して入力通知を出力する通知部と、
前記入力タイミングと他の入力部から入力通知が出力されたタイミングとのうちの遅い方のタイミングを前記同期タイミングとして検出する検出部と、
前記同期タイミングが検出されたときに、前記記憶部から前記データを読み出して前記データを出力する同期部と
を備える請求項1に記載の多重系システム。 - 前記複数の入力部それぞれは、制限タイミングまでに前記同期タイミングにならない場合、前記制限タイミングに前記データを出力する
請求項1に記載の多重系システム。 - 前記制限タイミングは、前回入力されたデータが出力されてから経過した時間が許容時間に達するタイミングである
請求項3に記載の多重系システム。 - 前記複数の入力部それぞれは、
前記データが入力されて前記データを記憶する記憶部と、
前記データが前記記憶部に記憶されたタイミングを前記入力タイミングとして検出して入力通知を出力する通知部と、
前記入力タイミングと他の入力部から入力通知が出力されたタイミングとのうちの遅い方のタイミングを前記同期タイミングとして検出する要素であって、前記同期タイミングと前記制限タイミングとのうちの早い方のタイミングである先行タイミングを検出する要素である検出部と、
前記先行タイミングが検出されたときに、前記記憶部から前記データを読み出して前記データを出力する同期部と
を備える請求項4に記載の多重系システム。 - 演算を行う複数の演算部を備え、
前記複数の演算部それぞれは、入力部に対応付けられて、対応付けられた入力部から出力されたデータが入力されたときに演算を始める
請求項1に記載の多重系システム。 - 前記複数の演算部によって得られた複数の演算結果から演算結果を選択し、選択した演算結果と同じ内容のデータを出力する出力部を備える
請求項6に記載の多重系システム。 - 前記出力部は、選択しなかった演算結果が得られた演算部にエラーを通知する
請求項7に記載の多重系システム。 - エラーが通知された演算部は、次回以降の演算を行わない
請求項8に記載の多重系システム。 - 前記複数の演算部のうちの多数決で選ばれない演算結果が得られた演算部を特定する特定部を備える
請求項6に記載の多重系システム。 - 前記特定部は、特定した演算部にエラーを通知し、
前記エラーが通知された演算部は、次回以降の演算を行わない
請求項10に記載の多重系システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/083994 WO2017094162A1 (ja) | 2015-12-03 | 2015-12-03 | 多重系システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6266190B2 JP6266190B2 (ja) | 2018-01-24 |
JPWO2017094162A1 true JPWO2017094162A1 (ja) | 2018-01-25 |
Family
ID=58796635
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017553568A Expired - Fee Related JP6266190B2 (ja) | 2015-12-03 | 2015-12-03 | 多重系システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US20180293142A1 (ja) |
JP (1) | JP6266190B2 (ja) |
CN (1) | CN108292251A (ja) |
DE (1) | DE112015007095B4 (ja) |
WO (1) | WO2017094162A1 (ja) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS578867A (en) * | 1980-06-17 | 1982-01-18 | Mitsubishi Electric Corp | Parallel system of electronic computer |
JPS58172043A (ja) * | 1982-04-02 | 1983-10-08 | Hitachi Ltd | 多重系データ伝送装置 |
JPH02212941A (ja) * | 1988-12-14 | 1990-08-24 | Natl Semiconductor Corp <Ns> | モジュラ冗長故障許容コンピュータシステムにおいて信号を同期するための方法及び回路 |
JP2001505338A (ja) * | 1997-04-02 | 2001-04-17 | ゼネラル・ダイナミックス・インフォメーション・システムズ・インコーポレーテッド | フォールト・トレラント・コンピュータ・システム |
JP2003316598A (ja) * | 2002-04-22 | 2003-11-07 | Mitsubishi Electric Corp | 高信頼性モード動作併用長命令実行プロセッサ |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5899865A (ja) * | 1981-12-09 | 1983-06-14 | Hitachi Ltd | 多重化演算処理同期システム |
JP5206009B2 (ja) | 2008-02-18 | 2013-06-12 | 日本電気株式会社 | フォルトトレラントコンピュータ、同期制御方法、及びプログラム |
JP2011248809A (ja) * | 2010-05-31 | 2011-12-08 | Nec Engineering Ltd | 冗長演算システム |
US8589625B2 (en) * | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
DE102011086530A1 (de) * | 2010-11-19 | 2012-05-24 | Continental Teves Ag & Co. Ohg | Mikroprozessorsystem mit fehlertoleranter Architektur |
US8972772B2 (en) * | 2011-02-24 | 2015-03-03 | The Charles Stark Draper Laboratory, Inc. | System and method for duplexed replicated computing |
JP5699057B2 (ja) * | 2011-08-24 | 2015-04-08 | 株式会社日立製作所 | プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス |
CN103425553B (zh) * | 2013-09-06 | 2015-01-28 | 哈尔滨工业大学 | 一种双机热备份***及该***的故障检测方法 |
US9720742B2 (en) * | 2014-05-15 | 2017-08-01 | GM Global Technology Operations LLC | Service and system supporting coherent data access on multicore controller |
US9992135B2 (en) * | 2015-12-11 | 2018-06-05 | Intel Corporation | Apparatus and method for fusion of compute and switching functions of exascale system into a single component by using configurable network-on-chip fabric with distributed dual mode input-output ports and programmable network interfaces |
-
2015
- 2015-12-03 DE DE112015007095.8T patent/DE112015007095B4/de not_active Expired - Fee Related
- 2015-12-03 CN CN201580084811.7A patent/CN108292251A/zh active Pending
- 2015-12-03 US US15/766,323 patent/US20180293142A1/en not_active Abandoned
- 2015-12-03 WO PCT/JP2015/083994 patent/WO2017094162A1/ja active Application Filing
- 2015-12-03 JP JP2017553568A patent/JP6266190B2/ja not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS578867A (en) * | 1980-06-17 | 1982-01-18 | Mitsubishi Electric Corp | Parallel system of electronic computer |
JPS58172043A (ja) * | 1982-04-02 | 1983-10-08 | Hitachi Ltd | 多重系データ伝送装置 |
JPH02212941A (ja) * | 1988-12-14 | 1990-08-24 | Natl Semiconductor Corp <Ns> | モジュラ冗長故障許容コンピュータシステムにおいて信号を同期するための方法及び回路 |
JP2001505338A (ja) * | 1997-04-02 | 2001-04-17 | ゼネラル・ダイナミックス・インフォメーション・システムズ・インコーポレーテッド | フォールト・トレラント・コンピュータ・システム |
JP2003316598A (ja) * | 2002-04-22 | 2003-11-07 | Mitsubishi Electric Corp | 高信頼性モード動作併用長命令実行プロセッサ |
Also Published As
Publication number | Publication date |
---|---|
WO2017094162A1 (ja) | 2017-06-08 |
US20180293142A1 (en) | 2018-10-11 |
JP6266190B2 (ja) | 2018-01-24 |
CN108292251A (zh) | 2018-07-17 |
DE112015007095B4 (de) | 2018-11-22 |
DE112015007095T5 (de) | 2018-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190296654A1 (en) | Fault-tolerant controller for modular multi-level converters | |
US5572620A (en) | Fault-tolerant voter system for output data from a plurality of non-synchronized redundant processors | |
US20190114235A1 (en) | Fault Tolerant Clock Monitor System | |
CN101825917A (zh) | 时钟提供方法及信息处理设备 | |
JP6103825B2 (ja) | 半導体集積回路、情報処理装置 | |
JP2019152493A (ja) | 判定装置および判定装置の制御方法 | |
US9600023B2 (en) | Method and data processing unit for providing a timestamp | |
US20200382233A1 (en) | Information processing apparatus and time synchronization method | |
US8156371B2 (en) | Clock and reset synchronization of high-integrity lockstep self-checking pairs | |
US9858134B2 (en) | Low latency digital clock fault detector | |
US7656215B2 (en) | Clock generator circuit, clock selector circuit, and semiconductor integrated circuit | |
JP6266190B2 (ja) | 多重系システム | |
CN107615205B (zh) | 时钟诊断装置及时钟诊断方法 | |
Su et al. | A general method to make multi-clock system deterministic | |
JP2012128552A (ja) | 情報処理装置および情報処理装置の時刻同期方法 | |
CN114020095A (zh) | 一种基于时钟对齐与同步的双处理器锁步*** | |
US9310423B2 (en) | Detecting operating conditions | |
JP5987723B2 (ja) | 通信用スレーブ | |
CN114730199A (zh) | 用于同步多个处理器的***和方法 | |
JP5892083B2 (ja) | パラメータ設定装置、パラメータ設定プログラム及びパラメータ設定方法 | |
US9703315B2 (en) | Transmission device and time synchronization method | |
Najvirt et al. | How to synchronize a pausible clock to a reference | |
JPH04143816A (ja) | 時間計測方式 | |
JPH08305611A (ja) | Cpu監視方法及びcpu監視装置 | |
JPH08305664A (ja) | Cpu監視方法及びcpu監視装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171025 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20171025 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20171025 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20171116 |
|
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: 20171121 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6266190 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |