JP2010092105A - 同期制御装置,情報処理装置及び同期管理方法 - Google Patents

同期制御装置,情報処理装置及び同期管理方法 Download PDF

Info

Publication number
JP2010092105A
JP2010092105A JP2008258728A JP2008258728A JP2010092105A JP 2010092105 A JP2010092105 A JP 2010092105A JP 2008258728 A JP2008258728 A JP 2008258728A JP 2008258728 A JP2008258728 A JP 2008258728A JP 2010092105 A JP2010092105 A JP 2010092105A
Authority
JP
Japan
Prior art keywords
arithmetic processing
synchronization
unit
counting
cpu
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
JP2008258728A
Other languages
English (en)
Other versions
JP5347414B2 (ja
Inventor
Shinji Agata
眞司 阿形
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008258728A priority Critical patent/JP5347414B2/ja
Priority to EP09170690.3A priority patent/EP2175371B1/en
Priority to US12/569,333 priority patent/US8667315B2/en
Priority to CN200910177655.5A priority patent/CN101714108B/zh
Priority to KR1020090093924A priority patent/KR101121116B1/ko
Publication of JP2010092105A publication Critical patent/JP2010092105A/ja
Application granted granted Critical
Publication of JP5347414B2 publication Critical patent/JP5347414B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/24Handling requests for interconnection or transfer for access to input/output bus using interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Abstract

【課題】所定の時間内に冗長CPUの再同期が成らなかった場合には、強制的に正常CPUの単独運用に切り替えて、早期に通常運用処理を再開させる同期制御装置を、提供する。
【解決手段】切替/再同期制御回路14は、何れかのCPU6の同期遅れを検出すると、正常CPU6に割り込みを上げる。すると、正常CPU6は、再同期タイマレジスタ162による経過時間計測を開始させる。その後で、切替/再同期制御回路14は、全CPUに対してリセットを発行する。リセットされた各CPU6は、ファームウェアに従って起動する。その間に、再同期タイマレジスタ162によって計測された経過時間が上限時間に達したことがタイマ/上限時間比較回路161によって検出されると、切替/再同期制御回路14は、異常CPU6を停止させて、正常CPU6のみをリセットさせる。
【選択図】図1

Description

本発明は、複数の演算処理回路が冗長化され、これら複数の演算処理回路を同期運転させるシステムにおいて、演算処理回路間の同期遅れが発生した時に再同期を行わせる同期制御装置,これら演算処理回路及び同期制御装置を含んで構成される情報処理装置,並びに、同期制御装置による演算処理回路に対する同期管理方法に、関する。
昨今の大規模且つミッションクリティカルなサーバシステムにおいては、ハードウェアの故障等に因りシステム全体が停止しないように、ハードウェア構成を冗長化させることが一般的である。そのため、CPU(Central Processing Unit)についても、同一構成の複数のCPUを予めシステムに組み込んでおき、常時、これら2つのCPUに対して同一の処理を同時に実施させ、任意のCPUからの処理結果を外部
出力するが、何れかのCPUが故障した場合には、故障した当該CPUをシステムから切り離す一方、正常な残り一個のCPUに処理を続行させ、当該正常なCPUからの処理結果を外部出力する冗長CPUの技術が開発されている。
もっとも、ハード的な故障ではなくソフト的なエラーに因り一方のCPUの処理のみが遅延乃至ハングし、これに因り複数CPU間の同期遅れが発生する場合もありえる。かかる場合には、エラーの程度如何に依っては、異常の生じたCPUを一旦停止させ、正常なCPUの内部情報を前者内に再現(初期化)することにより、両CPUが互いに同期した状態(即ち、冗長構成)を回復することが、可能である場合もありえる。
そこで、両CPUの同期遅れの有無を監視し、同期遅れが発生した場合に、故障の生じたCPUをリセット及び初期化することによって再同期させる再同期処理を実行し、リトライする同期制御装置が、必要となる。
特開2006-302289号公報 特開2005-285119号公報
かかる同期制御装置を用いた再同期処理を成功させるためには、同期遅れが検出されてから再同期処理完了までの間、異常が生じたCPUは勿論のこと、正常なCPUについても前者内に再現させるべき内部情報を確定する必要があるので、再同期のための処理以外を行い得なくなる。よって、その間は通常運用処理(例えば、OSが実施しようとしていた処理)が停止することになるので、再同期処理には、あまり時間を掛けるべきではない。
しかしながら、従来の同期制御装置によると、再同期処理中に両CPU間に同期遅れが生じた場合には、再同期処理を繰り返しリトライするので、トータルの再同期処理の時間が長くなり、その為、通常運用処理が停止する期間が長くなってしまうという問題があった。
この点、通常運用処理の停止時間が長くなることを制限するために、再同期処理をリトライ可能な回数の上限値を予め設定し、実際のリトライ回数が当該上限値に達すると、以後の再同期処理のリトライを禁止して、正常なCPUのみの単独運用に切り替えることも考えられる。
しかしながら、再同期処理のリトライの開始から同期遅れが再検出されるまでの時間幅は、常に一定であるわけではない。例えば、システムボードに搭載されるCPUの数(冗長CPUの組数)により、正常CPUの内部情報をメモリに退避する処理やCPUの内部情報を復元する処理に要する時間は異なるからである。その為、再同期可能回数の上限値の設定により、通常運用停止時間を常に(例えば構成によらず)一定にすることは困難であり、通常運用において許容される停止時間を超過する可能性がある。
本案は、以上の問題点に鑑みてなされたものであり、その課題は、再同期処理の実行及びリトライのために通常運用処理が停止する時間そのものに制限を設けて、その時間内に再同期が成らなかった場合には、強制的に正常CPUの単独運用に切り替えて、早期に通常運用処理を再開させることである。
本案が適用された同期制御装置は、第1の演算処理装置の出力と前記第2の演算処理装置の出力を比較することにより、前記第1及び第2の演算処理装置の同期を監視し、これにより、前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しないことを検出した場合には、同期遅れが生じたものとして、計数を開始することによって経過時間に対応する計数情報をカウントアップさせていく。そして、かかる計数情報と所定のタイムアウトアウト時間とを比較し、両者が一致したことを検出すると、同期遅れが発生した演算処理装置を停止させることにより、正常な演算処理装置の単独運用に移行する。
このような構成により、同期制御装置が、再同期処理を開始する時点である両演算処理装置の出力が一致しないことを検出したタイミングで、計数を開始(経過時間の計測を開始)し、計数情報(経過時間)がタイムアウト時間に達した時点で、再同期処理のリトライ回数如何に拘わらず、同期遅れが発生した演算処理装置を停止させることにより再同期処理の続行を打ち切って、正常な演算処理装置の単独運用に切り替える。よって、単独運用されることとなった当該正常な演算処理装置によって、通常運用処理を確実に早期再開させることが可能となるので、通常運用処理において許容される停止時間を超過することを防ぐことができる。
開示の情報処理装置によれば、再同期処理の実行及びリトライのために通常運用処理が停止する時間そのものに制限を設けて、その時間内に再同期が成らなかった場合には、強制的に正常CPUの単独運用に切り替えて、早期に通常運用処理を再開させることができる。
以下、図面に基づいて、開示の情報処理装置の実施の形態であるサーバシステムを、説明する。
<ハードウェア構成>
先ず、当該サーバシステムのハードウェア構成を、図1乃至図3のブロック図を参照して説明する。
図1は、当該サーバシステムの基本構成を示すブロック図である。この図1に示されるように、当該サーバシステムは、複数のシステムボード(#0〜#n)1を備えるマルチプロセッサシステムとして実現される。これら複数のシステムボード(#0〜#n)1は、グローバルアドレスクロスバー3及びグローバルデータクロスバー4を通じて相互に接続されている。さらに、これらグローバルアドレスクロスバー3及びグローバルデータクロスバー4には、同じ複数のシリアルナンバー(#0〜#n)のシステムボード(#0〜#n)1に夫々対応した複数のIOユニット(#0〜#n)2にも、接続されている。
このグローバルアドレスクロスバー3は、各システムボード(#0〜#n)1から発行された命令及び命令の対象となるアドレスを他のシステムボード(#0〜#n)1及びIOユニット(#0〜#n)2に対して中継するアドレス中継手段である。
また、グローバルデータクロスバー4は、システムボード(#0〜#n)1相互間,IOユニット(#0〜#n)2相互間、及びシステムボード(#0〜#n)1とIOユニット(#0〜#n)2との間で、データを中継する処理手段であるである。
更に、各システムボード(#0〜#n)1及びIOユニット(#0〜#n)2には、システム制御/管理装置5が接続されている。このシステム制御/管理装置5は、システム管理者が入力する制御信号に従って、各システムボード(#0〜#n)1とIOユニットIOユニット(#0〜#n)2が備えるレジスタ群(その詳細については、図2及び図3に基づいて後述する)に各種設定値を設定したり、パーティションの構成を設定するといったシステム全体の管理を行うサービスプロセッサないしコンソール装置である。なお、パーティションとは、システムボード(#0〜#n)1及びIOユニット(#0〜#n)2との組合せにより構成されるシステムである。
図2は、各システムボード(#0〜#n)1上に搭載された回路構成を示すブロック図である。この図2に示されたように、システムボード1上には、相互に同一構成を有するとともに同期運転による冗長化されたCPUの組(冗長CPU)である第1の演算処理装置としてのCPU(0)6及び第2の演算処理装置としてのCPU(1)6が、夫々に対応したCPUバス(0)7,CPUバス(1)7に接続された状態で、設置されている。
そして、これら複数のCPU(0〜1)6及びCPUバス(0〜1)7や、クロック制御回路23,23,ファームウェアハブ(FWH)15,ノースブリッジ6,メモリ12及びメモリコントローラ10から、当該システムボード1上に搭載されたマルチプロセッサ(冗長CPU)システムからなる情報処理装置が、構成される。なお、上述したグローバルアドレスクロスバー3から通知された命令及びアドレスは、ファームウェアハブ(FWH)15及びメモリコントローラ10に入力されるとともに、各CPUバス(0〜1)7を通じて、各CPU(0〜1)6へ入力される。
クロック制御回路23,23は、システムボード1外に設けられた図示せぬクロック発生装置から各CPUバス(0〜1)7へ供給されるクロック(第1のクロックとしての外部クロック)を夫々通過又は遮断するスイッチであり、ノースブリッジ6中の後述する切替/再同期制御回路14によって制御される。なお、クロック制御回路23によってクロック供給を遮断されたCPUバス(0〜1)7に接続されたCPU(0〜1)6は、クロックが入力されないために動作不能となって縮退することとなる。
ファームウェアハブ(FWH)15は、各CPU(0〜1)6が上述したようにCPUリセット又は割り込みを掛けられた時に最初に読み込むファームウェア(BIOS)を格納した不揮発のフラッシュメモリであり、かかる読み込みのために各CPU(0〜1)6に夫々接続されている。なお、各CPU(0〜1)6は、当該ファームウェア(BIOS)に従い、再同期処理,即ち、後述するノースブリッジ6(切替/再同期制御回路14)によって割り込みを掛けられた場合には割込処理(図4及び図5に示す「正常CPU割込みファーム処理」),リセットを掛けられた場合には、初期処理(図4に示す「Resetの
ファームウェア初期処理」)を、夫々実行する。
また、メモリコントローラ10は、各種のデータが記憶されるメモリ12に接続されており、グローバルデータクロスバー4から入力されたデータをメモリ12における上記入
力されたアドレスが示す記憶位置に書き込むライト処理,及び、当該記憶位置から読み出したデータを読み込んでグローバルデータクロスバー4又は各CPU(0〜1)6へ送出するリード処理を実行する装置である。
次に、ノースブリッジ6は、冗長CPUを構成するCPU(0〜1)6のうちの一方のCPU(片系CPU)において故障、縮退が発生して、同期崩れが発生したことを検出し、ファームウェアハブ(FWH)15に格納されているファームウェア(BIOS)に従って動作するCPU(0〜1)6と同期して冗長CPUの再同期処理を行う、同期制御装置に相当する回路群である。
なお、ここに「同期崩れ」とは、冗長CPUを構成するCPUのペアが同期運転できないことをいい、一方のCPU(0〜1)6の処理が他方のCPU(0〜1)6の処理から遅れる「同期遅れ」を、その端緒とする。また、「冗長CPUの再同期処理」とは、両CPU(0〜1)6を再度冗長構成へ戻すための処理である。ノースブリッジ6は、CPU(0〜1)6とは独立して動作するハードウェアからなるので、かかる冗長CPUの再同期処理を、システム上で稼動しているOSをシャットダウン/再起動させることなく実行することができる。
図2において、破線によって囲まれた各検査回路11,11,CPUバス同期検査回路13,切替/再同期制御回路14,再同期タイマおよびタイムアウト制御回路16,切替スイッチ17,リセット制御レジスタ18,再同期制御レジスタ19,エラー指摘レジスタ20,命令デコーダ21,位相同期回路(PLL0)22が、ノースブリッジ6を、構成する。以下、ノースブリッジ6を構成するこれら各回路毎に、その機能を説明する。
まず、命令デコーダ21は、システム制御/管理装置5からノースブリッジ6に対して発行された命令をデコードしデコード結果に応じて再同期制御レジスタ19及び再同期タイマおよびタイムアウト制御回路16(再同期上限時間設定レジスタ163)に対する設定値の書き込み/読み込みを行う。
各検査回路11,11は、対応するCPUバス(0〜1)7を通じてCPU(0〜1)6の出力端子に接続されており、対応するCPUバス(0〜1)7を介して、CPU(0〜1)6からグローバルアドレスバー3へ向けて送信されたパケットを受け取り、ECCおよびパリティ等の検査を行う。検査によってエラーを検出すると、切替/再同期制御回路14へエラー通知を行う。
CPUバス同期検査回路13は、各CPUバス(0〜1)7に接続されており、CPUバス単位で同期検査を行う。すなわち、CPUバス同期検査回路13は、冗長CPUを構成するCPUペアが同期運転を行っているかを検査する。そして、CPUバス同期検査回路13は、同期ずれを検出すると、切替/再同期制御回路14へエラー通知を行う。
なお、CPU(0〜1)6内部にてエラーが検出された場合には、エラーが検出されたCPU(0〜1)6自体が、切替/再同期制御回路14に対してエラー通知(内部エラー通知)を行う。
当該切替/再同期制御回路14には、上述した各CPU(0〜1)6,各検査回路11,11及びCPUバス同期検査回路13の他、再同期タイマ及びタイムアウト制御回路16(タイマ/上限時間比較回路161),リセット制御レジスタ18,再同期制御レジスタ19,切替スイッチ17及びエラー指摘レジスタ20が接続されている。
このうち切替スイッチ17は、切替/再同期制御回路14の指示に従ってCPUバス(
0〜1)7の切替を行う。切替スイッチ17がCPUバス(0〜1)7の切替を行うことによって、例えばCPUバス(0)7又はCPUバス(1)7のうちのどちらを通じて発行された命令がグローバルアドレスクロスバー3に投入されるかが決まる。
リセット制御レジスタ18は、各CPU(0〜1)6についてのリセット制御のために、各CPU(0〜1)6の状態を管理するレジスタである。例えば、冗長CPUの再同期処理にて正常なCPU(0〜1)6のキャッシュデータのメモリ12への退避が完了すると、ファームウェアハブ(FWH)15に格納されているファームウェアに基づく正常なCPU(0〜1)6による制御(正常CPU割込ファーム処理)によって、リセット制御レジスタ18内に正常なCPUに対応する退避完了フラグが立つ(S106,S110)。
再同期制御レジスタ19は、両CPU(0〜1)6に対する再同期処理の実行回数,その上限値(再同期可能上限値),及び再同期可否フラグが設定されるレジスタである。再同期可能上限値は、命令デコーダ21を介して、システム管理者が操作するシステム制御/管理装置5によって、設定される。また、再同期可否フラグは、両CPU(0〜1)6の再同期が可能であるか否かを示すフラグである。そして、ファームウェアハブ(FWH)15に格納されているファームウェア(BIOS)に従って動作する正常なCPU(0〜1)6は、実際の再同期処理の実行回数を再同期制御レジスタ19に記録するとともに(S308)、当該再同期制御レジスタ19に設定された再同期可能上限値と比較し(S306,S307)、実行回数が再同期可能上限値未満である場合には、再同期処理の更なるリトライが可能であると判断して、再同期制御レジスタ19に再同期可否フラグとして例えばフラグ1を設定するが(S308)、実行回数が再同期可能上限値に達すると、再同期処理の更なるリトライは不可能であると判断して、再同期可否フラグとして例えばフラグ0を設定する(S309)。
エラー指摘レジスタ20は、ノースブリッジ6(切替/再同期制御回路14,再同期タイマ及びタイムアウト制御回路16(タイマ/上限時間比較回路161))が検出した各種障害の情報を格納するレジスタである。例えば、切替/再同期制御回路14が上記各エラー通知を受けた場合に、通知されたエラーの内容が、当該エラー指摘レジスタ20に格納される。また、同期遅れの生じた異常CPUバス7のIDが、当該エラー指摘レジスタ20に格納される。更に、再同期処理実行回数が上限に達した場合や再同期期間が上限に達した場合に、同期不可フラグ(同期遅れ情報に相当)が、同期遅れ情報保持部としての当該エラー指摘レジスタ20に格納される
ファームウェアハブ(FWH)15に格納されているファームウェアに基づいてReset
のファームウェア初期設定処理を実行するCPU(0〜1)6は、起動後にエラー指摘レジスタ20に同期不可フラグが設定されているか否かに基づいて、再同期処理を実行するか(同期不可フラグが設定されていない場合:S302〜)、単独で起動する(同期不可フラグが設定されている場合:S310〜)。そして、例えば、エラー指摘レジスタ20に格納されているその他のエラーの情報を獲得し、その情報をシステム制御/管理装置5に通知することで、システム管理者に障害情報を通知しても良い。
再同期タイマ及びタイムアウト制御回路16は、命令レコーダ21を介してシステム制御/管理装置5により設定された再同期上限時間と再同期に要した時間とを比較し、再同期上限時間を超過すれば切替/再同期制御回路14に対して正常CPU6及び正常CPUバス7のみを有効にしてリセットを実行するように依頼する回路である。
この再同期タイマ及びタイムアウト制御回路16は、図3に示すように、再同期上限時間設定レジスタ163,再同期タイマレジスタ162,及び、タイマ/上限時間比較回路161から、構成されている。
再同期上限時間設定レジスタ163には、命令レコーダ21を介して、システム管理者が操作するシステム制御/管理装置5によって、再同期処理時間上限(タイムアウト時間)が設定される(タイムアウト時間保持部に相当)。
再同期タイマレジスタ162は、位相同期回路(PLL0)22から供給されるクロック(第1のクロック)を使用してレジスタ値(計数情報に相当)をカウントアップすることで、再同期時間を計測する(計数部に相当)。このように、CPUクロックとは別系統の位相同期回路(PLL0)22からのクロックを使用しているので、各CPU(0〜1)6の状態に依存せずに時間を計測することができ、また、再同期のためのリセットによってレジスタ値がクリアされることもない。なお、再同期タイマレジスタ162は、ファームウェアハブ(FWH)15に格納されているファームウェアに基づく正常なCPU(0〜1)6による制御(正常CPU割込ファーム処理,ファームウェアの初期処理)によって、0クリアされるとともにカウントアップ開始され(S101)、停止される他(S107,S305)、タイマ/上限時間比較回路161によっても停止される(S501)。
タイマ/上限時間比較回路161は、再同期上限時間設定レジスタ163の値と再同期タイマレジスタ162の値とを比較し、両者が一致すると、再同期タイマレジスタ162を0クリアしてカウントアップを停止させるとともに(S501)、エラー指摘レジスタ20に同期不可フラグを立て(S502)、切替/再同期制御回路14に対して、正常CPU6及び正常CPUバス7のみを有効にしてリセットを実施するように依頼する(S503)(比較部に相当)。
切替/再同期制御回路14は、各CPU(0〜1)6,各検査回路11,11,CPUバス同期検査回路13からエラー通知を受信することにより、二つのCPU(0〜1)6の双方又は正常な一方に対してCPUリセット又は割り込みを掛け、切替スイッチ17の動作を制御し、また、エラー指摘レジスタ20にフラグをセットする回路である。
具体的には、切替/再同期制御回路14は、エラー通知を受けた場合、エラーが発生したCPU(0〜1)6が接続されているCPUバス(0〜1)7へのクロック供給を停止するようにクロック制御回路23を設定することにより、当該CPUバス(0〜1)7を無効とし(S002)、当該CPUバス(0〜1)7からグローバルアドレスクロスバー3への命令の発行を停止するとともに、どのCPUバス(0〜1)7を無効としたかを、エラー指摘レジスタ20に記録する。
また、切替/再同期制御回路14は、エラー通知を受けたことを契機として、正常なCPUバス(0〜1)7に接続されている正常なCPU(0〜1)6に対して、割り込みを通知する(S003)。その結果、当該正常なCPU(0〜1)6が、上述したように、図4及び図5に示す「正常CPU割込みファーム処理」を実行する。即ち、同期遅れが発生していない方の演算処理装置(CPU6)を初期化する。
また、切替/再同期制御回路14は、リセット制御レジスタ18及び再同期制御レジスタ19を監視し、正常なCPU(0〜1)6について前述の退避完了フラグが立っていることを確認すると、再同期可否フラグ=1が立っていれば、全てのCPU(0〜1)6へリセットを発行し(S202)、再同期可否フラグ=0が立っていれば、エラー指摘レジスタ20に同期不可フラグを立てるとともに(S401)、エラー指摘レジスタ20に格納されている無効なCPUバス(0〜1)7のIDを参照して、異常なCPU(0〜1)6側のクロック制御回路23に対して、CPUバス(0〜1)7へのクロック供給を停止させるとともに(S402)、正常なCPU(0〜1)6へのみリセットを発行し(S403)、切替スイッチ17を、強制的に、正常なCPU(0〜1)6側に切り替えさせる
(S404)。かかるリセットを発行されたCPU(0〜1)6が、上述したように、初期処理(図4に示す「Resetのファームウェア初期処理」)を実行する。
また、切替/再同期制御回路14は、タイマ/上限時間比較回路161から正常CPU6及び正常CPUバス7のみを有効にしてリセットを実施するように依頼されると、エラー指摘レジスタ20に格納されている無効なCPUバス(0〜1)7の記録を参照して、異常なCPU(0〜1)6側のクロック制御回路23に対して、CPUバス(0〜1)7へのクロック供給を停止させるとともに(S503)、正常なCPU(0〜1)6へのみリセットを発行し(S504)、切替スイッチ17を、強制的に、正常なCPU(0〜1)6側に切り替えさせる(S505)。
以上に説明した各CPU(0〜1)6,ファームウェアハブ(FWH)15,CPUバス同期検査回路13,切替/再同期制御回路14が、前記第1の演算処理装置(CPU(0)6)の出力と前記第2の演算処理装置(CPU(1)6)の出力を比較することにより、前記第1及び第2の演算処理装置の同期を監視し(CPUバス同期検査回路13の機能)、前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ(切替/再同期制御回路14,各CPU(0〜1)6及びファームウェアハブ(FWH)5の機能)、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第1又は第2の演算処理装置のいずれかを停止させる(切替/再同期制御回路14の機能)同期制御部に、相当する。
<再同期処理>
次に、上述したノースブリッジ6の動作シーケンス及びファームウェアハブ(FWH)15に格納されているファームウェア(BIOS)に基づくCPU(0〜1)6による処理の流れを、図4乃至図6のフローチャートに基づいて、説明する。なお、これら各図において、αの列はノースブリッジ6の動作シーケンスを示し、βの列はファームウェア(BIOS)に基づくCPU(0〜1)6による処理の流れを示す。
まず、切替/再同期制御回路14は、主電源投入によって図4(α)の動作を開始し、最初のS001において、各CPU(0〜1)6,各検査回路11,11又はCPUバス同期検査回路13から受信するエラー通知に基づいて、何れかのCPU6の同期遅れ,即ち、冗長CPUの同期崩れを監視する。
そして、切替/再同期制御回路14は、冗長CPUの同期崩れを検出すると、処理をS001からS002へ進め、同期遅れの生じたCPU(0〜1)6(以下、「異常CPU6」という)が接続されているCPUバス(0〜1)7(以下、「異常CPUバス7」という)へのクロック供給を停止することにより、その動作を停止させる。
次のS003では、切替/再同期制御回路14は、動作が停止していない側のCPUバス(0〜1)7(以下、「正常CPUバス7」という)に接続されているCPU(0〜1)6(以下、「正常CPU6」という)に対して、異常CPU6が停止した旨,即ち、「片系停止」を、割り込み通知する。
すると、割り込み通知を受けた正常CPU6は、ファームウェアハブ(FWH)15に格納されているファームウェア(BIOS)を読み込み、図4(β)に示す正常CPU割込ファーム処理をスタートする。そして、正常CPU6は、スタート後最初のS100において、再同期タイマレジスタ162の状態を確認する。そして、正常CPU6は、再同期タイマレジスタ162がタイマカウント中であれば、そのまま処理をS103へ進め、再同期タイマレジスタ162が停止中であって未だタイマカウントが開始されていなければ、処理をS101へ進める。
S101では、正常CPU6は、再同期タイマレジスタ162を一旦ゼロクリアした後にカウントアップを開始させるとともに、タイマ/上限時間比較回路14に対して、上記再同期タイマレジスタ162の計数値と再同期上限値設定レジスタ163の値との比較を開始させる。
次のS102では、正常CPU6は、S002にて動作を停止させられたCPUバス7のIDを、エラー指摘レジスタ20に記録する。S102を完了すると、正常CPU6は、処理をS103へ進める。
S103では、正常CPU6は、再同期制御レジスタ19中に設定されている再同期可否フラグを参照して、冗長CPUの再同期の実施の可否を判断する。そして、正常CPU6は、再同期可能を示す値(上述した例ではフラグ1)が設定されている為に、冗長CPUの再同期の実施が可能であると判断した場合には、処理をS104へ進める。これに対して、再同期不能を示す値(上述した例ではフラグ0)が設定されている為に、冗長CPUの再同期の実施ができない(NG)と判断した場合には、処理をS107へ進めて、片系(正常CPUバス)にて動作を継続させる。
S104では、正常CPU6は、当該正常CPU6の内部情報(CPU内レジスタ等の内容であり、同期崩れ直前のアドレスをも含む)を、メモリ12に退避(コピー)させる。ただし、再同期処理をリトライしている場合(後述するS309又はS308を実行後に処理がループした場合)には、既に上記内部情報がメモリ12に退避済みであるので、更なるメモリ退避は行わない。
次のS105では、正常CPU6は、当該正常CPU6内部に保持しているキャッシュデータを、メモリに反映(キャッシュフラッシュ)させる。キャッシュデータのメモリへの退避が完了すると、正常CPU6は、処理をS106へ進める。
S106では、正常CPU6は、リセット制御レジスタ18内に、当該正常CPU6に対応した退避完了フラグを設定する。その後、当該正常CPUによる正常CPU割込ファーム処理は、待ち(無限ループ)になる。
一方、切替/再同期制御回路14は、リセット制御レジスタ18内に退避完了フラグが設定されることを契機に起動し、再同期制御レジスタ19中に再同期不能を示す値(上述した例ではフラグ0)の再同期可否フラグが設定されていないことを条件に、図4(α)のS201以下の動作を行う。なお、再同期制御レジスタ19中に再同期不能を示す値(上述した例ではフラグ0)の再同期可否フラグが設定されている場合には、切替/再同期制御回路14は、図5(α)に示すS401以下の動作を行うこととなる。
S201では、切替/再同期制御回路14は、全てのCPUバス(0〜1)7に対してクロックを供給させる様、クロック制御回路23,23を設定する。
次のS202では、切替/再同期制御回路14は、当該システムボード1内の全CPU(0〜1)6に対し、リセットを発行する。なお、このリセットではメモリの内容はそのまま保持される。
S202でのリセット発行の結果としてリセットされた各CPU(0〜1)6は、夫々、ファームウェアハブ(FWH)15に格納されているファームウェア(BIOS)を読み込み、図4(β)に示すResetのファームウェア処理をスタートする。そして、スター
ト後最初のS301において、CPU6は、エラー指摘レジスタ20に同期不可フラグが
設定されているか否かをチェックする。そして、同期不可フラグが設定されていれば処理をS310へ進めるが、同期不可フラグが設定されていなければ処理をS302へ進める。切替/再同期制御回路14がS202を実行することによってリセット発行した場合には、同期不可フラグは設定されていないので、S302以下の処理が実行されることになる。S310以下の処理は、便宜上、図5の説明をした後に行う。
S302では、CPU6は、メモリ12に退避されている正常CPUの内部情報の復元を開始する。処理主体であるCPU6が、異常CPUバス7に接続されている異常CPU6であったとしても、正常CPU6の内部情報を用いて復元を行うので、正常CPU6との冗長構成の回復が可能となるのである。
次のS303では、CPU6は、エラー指摘レジスタ20の記録を確認することにより、S302でのCPU内部情報復元処理の開始後に同期外れがあったかどうかを、チェックする。そして、同期外れがあった場合には処理をS306へ進め、同期外れすることなくCPU内部情報復元処理が完了すると、処理をS304へ進める。
S306では、CPU6は、再同期制御レジスタ19に設定されている再同期処理の実行回数と再同期可能上限値とを比較する。そして、CPU6は、実行回数が再同期可能上限値に達していれば(S307:yes)、再同期処理の更なるリトライは不可能であると判断して、S309において、再同期不能を示す値(例えばフラグ0)を再同期制御レジスタ19に設定する。これに対して、実行回数が未だ再同期可能上限値未満であれば(S307:no)、CPU6は、再同期処理のリトライが可能である判断して、S308において、再同期制御レジスタ19中に記録されている実行回数の値を一つインクリメントするとともに、再同期可能を示す値(例えばフラグ1)を再同期制御レジスタ19に設定する。そして、何れの場合においても、CPU6は、切替/再同期制御回路14に対して、S002以下の動作を再度実行すべきことを通知する。
一方、S304では、CPU6は、冗長CPUのペアとなる他方のCPU6におけるS302による内部情報復元の完了を待ち合わせる。そして、他方のCPU6においてもCPU内部情報復元処理が完了すると、全CPUが同期崩れ直前のアドレスに復帰するので、処理をS305へ進める。
S305では、CPU6は、タイマ/上限時間比較回路161の比較を無効にし、再同期タイマレジスタ162のタイマカウントを停止させ、そのレジスタ値を0クリアする。S305を完了すると、CPU6は、冗長CPUでの通常処理を再開することができる(S312)。
次に、S103において再同期不能であると判断された場合に実行されるS107以下の処理を、図5を参照して説明する。
S107では、CPU6は、タイマ/上限時間比較回路161の比較を無効にし、再同期タイマレジスタ162のタイマカウントを停止させ、そのレジスタ値を0クリアする。
次のS108では、CPU6は、当該正常CPU6の内部情報(CPU内レジスタ等であり、同期崩れ直前のアドレスをも含む)を、メモリ12に退避(コピー)させる。ただし、再同期処理をリトライしている場合には、既に上記内部情報がメモリ12に退避済みであるので、更なるメモリ退避は行わない。
次のS109では、正常CPU6は、当該正常CPU6内部に保持しているキャッシュデータを、メモリに反映(キャッシュフラッシュ)させる。キャッシュデータのメモリ1
2への退避が完了すると、正常CPU6は、処理をS110へ進める。
S110では、正常CPU6は、リセット制御レジスタ18内に、当該正常CPU6に対応した退避完了フラグを設定する。その後、当該正常CPUによる正常CPU割込ファーム処理は、待ち(無限ループ)になる。
一方、切替/再同期制御回路14は、リセット制御レジスタ18内に退避完了フラグが設定されることを契機に起動し、再同期制御レジスタ19中に再同期不能を示す値(上述した例ではフラグ0)の再同期可否フラグが設定されていることを条件に、図5(α)のS401以下の動作を行う。
S401では、切替/再同期制御回路14は、同期不可フラグを、エラー指摘レジスタ20に設定する。
次のS402では、切替/再同期制御回路14は、エラー指摘レジスタ20に記録されている異常CPUバス7のIDが示す異常バス7に対するクロック制御を遮断させるべく、当該異常バス7に接続されたクロック制御回路23を設定することにより、当該異常バス7を縮退させる。
続いて、切替/再同期制御回路14は、S403において、正常CPU6(即ち、エラー指摘レジスタ20に記録されているIDが示す異常CPUバス7ではない方のCPUバス7,即ち正常CPUバス7に接続されてる方のCPU6)に対してのみリセットを発行するとともに、S404において、切替スイッチ17を正常CPUバス7側に固定させる。
このリセットでは、異常CPUバス7及び異常CPU6へのクロック供給を停止させた状態で、正常CPU6と正常CPUバス7のみが動作を再開する。即ち、リセットされた正常CPU6は、ファームウェアハブ(FWH)15に格納されているファームウェア(BIOS)を読み込み、図4(β)に示すResetのファームウェア処理をスタートする。
そして、スタート後最初のS301において、CPU6は、エラー指摘レジスタ20に同期不可フラグが設定されているか否かをチェックするが、この場合には、同期不可フラグが設定されているので、S310以下の処理が実行される。
S310では、正常CPU6は、エラー指摘レジスタ20を参照し、設定されているエラーの内容を、システム制御/管理装置5に通知する。
次のS311では、正常CPU6は、メモリ12に退避されている正常CPU6の内部情報の復元を開始する。この復元処理が完了すると、正常CPU6は、単独運用での通常処理を再開することができる(S312)。
以上に説明したように切替/再同期制御回路14が動作し各CPU6がファームウェアに従った処理を実行している間にも、S101にて比較を開始させられたタイマ/上限時間比較回路161は、S107にて比較を無効とされない限り、再同期タイマレジスタ162の計数値と再同期上限値設定レジスタ163の値との比較をし続ける。そして、前者が後者に達したことを検出すると、その旨を切替/再同期制御回路14に通知する。この通知を受けた切替/再同期制御回路14は、割り込みにより、図6に示す動作を開始する。 この割り込みがあると、切替/再同期制御回路14は、最初のS501において、タイマ/上限時間比較回路161の比較を無効にし、再同期タイマレジスタ162のタイマカウントを停止させ、そのレジスタ値を0クリアする。
次のS502では、切替/再同期制御回路14は、同期不可フラグを、エラー指摘レジスタ20に設定する。
次のS503では、切替/再同期制御回路14は、エラー指摘レジスタ20に記録されている異常CPUバス7のIDが示す異常バス7に対するクロック制御を遮断させるべく、当該異常バス7に接続されたクロック制御回路23を設定することにより、当該異常バス7を縮退させる。
続いて、切替/再同期制御回路14は、S504において、正常CPU6(即ち、エラー指摘レジスタ20に記録されているIDが示す異常CPUバス7ではない方のCPUバス7,即ち正常CPUバス7に接続されている方のCPU6)に対してのみリセットを発行するとともに、S505において、切替スイッチ17を正常CPUバス7側に固定させる。
このリセットでは、異常CPUバス7及び異常CPU6へのクロック供給を停止させた状態で、正常CPU6と正常CPUバス7のみが動作を再開する。即ち、リセットされた正常CPU6は、ファームウェアハブ(FWH)15に格納されているファームウェア(BIOS)を読み込み、図4(β)に示すResetのファームウェア処理をスタートする。
そして、スタート後最初のS301において、CPU6は、エラー指摘レジスタ20に同期不可フラグが設定されているか否かをチェックするが、この場合には、同期不可フラグが設定されているので、S310以下の処理が実行される。
S310では、正常CPU6は、エラー指摘レジスタ20を参照し、設定されているエラーの内容を、システム制御/管理装置5に通知する。
次のS311では、正常CPU6は、メモリ12に退避されている正常CPU6の内部情報の復元を開始する。この復元処理が完了すると、正常CPU6は、単独運用での通常処理を再開することができる(S312)。
<実施形態による作用>
以上のように構成されたサーバシステムによると、冗長CPUを構成する二つのCPU(0〜1)6のうちの一方に同期遅れが生じたために、再同期処理を試みたにも拘わらず、その途中で同期外れが生じてしまった場合には、当該再同期処理のリトライすることとなるが、同期遅れの原因が深刻である為に再同期処理が何度も繰り返さるような場合であっても、再同期処理を開始してからの経過時間が再同期タイマレジスタ162によって計測されて、その経過時間が再同期上限時間設定レジスタ163に登録されている再同期処理時間上限に達したことがタイマ/上限時間比較回路161によって検出されると、同期遅れの生じた異常CPUに接続された異常CPUバスへのクロックが打ち切られ、以後、同期遅れの生じなかった正常CPUのみがリセットされるので、当該正常CPUの単独運用によって、早期の通常処理の再開が図られるので、通常処理が長期に亘って停止してしまう不都合を回避することができる。
(付記1)
第1の演算処理装置と第2の演算処理装置に接続される同期制御装置において、
計数を行うとともに、前記計数した計数情報を出力する計数部と、
所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
前記第1の演算処理装置の出力と前記第2の演算処理装置の出力を比較することにより、前記第1及び第2の演算処理装置の同期を監視し、前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ、さ
らに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第1又は第2の演算処理装置のいずれかを停止させる同期制御部を
有することを特徴とする同期制御装置。
(付記2)
前記同期制御装置はさらに、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第1及び第2の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第1の演算処理装置の出力と前記第2の演算処理装置の出力の比較を停止する
ことを特徴とする付記1記載の同期制御装置。
(付記3)
前記同期制御装置はさらに、
同期遅れ情報保持部を有し、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記同期遅れ情報保持部に同期遅れ情報を格納する
ことを特徴とする付記1又は2記載の同期制御装置。
(付記4)
前記計数部は、
外部から前記同期制御装置に入力される第1のクロックに基づいて計数を行う
ことを特徴とする付記1〜3のいずれか1項に記載の同期制御装置。
(付記5)
第1の演算処理装置,第2の演算処理装置,及びこれら第1及び第2の演算処理装置に夫々接続された同期制御装置を有する情報処理装置において、
前記同期制御装置が、
計数を行うとともに、前記計数した計数情報を出力する計数部と、
所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
前記第1の演算処理装置の出力と前記第2の演算処理装置の出力を比較することにより、前記第1及び第2の演算処理装置の同期を監視し、前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第1又は第2の演算処理装置のいずれかを停止させる同期制御部を有する
ことを特徴とする情報処理装置。
(付記6)
前記同期制御装置はさらに、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第1及び第2の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第1の演算処理装置の出力と前記第2の演算処理装置の出力の比較を停止する
ことを特徴とする付記5記載の情報処理装置。
(付記7)
前記同期制御装置はさらに、
同期遅れ情報保持部を有し、
前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記同期遅れ情報保持部に同期遅れ情報を格納する
ことを特徴とする付記5又は6記載の情報処理装置。
(付記8)
前記計数部は、
外部から前記同期制御装置に入力される第1のクロックに基づいて計数を行う
ことを特徴とする付記5〜7のいずれか1項に記載の情報処理装置。
(付記9)
第1の演算処理装置及び第2の演算処理装置に夫々接続された同期制御装置により、これら演算処理装置の同期を管理する同期管理方法であって、
前記同期制御装置は、
前記第1の演算処理装置の出力と前記第2の演算処理装置の出力を比較することにより、前記第1及び第2の演算処理装置の同期を監視し、
前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しない場合に、計数を開始し、
計数開始後の計数情報と所定のタイムアウト時間とを比較し、
前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第1又は第2の演算処理装置のいずれかを停止させる
ことを特徴とする同期管理方法。
(付記10)
前記同期制御装置は、さらに、
前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第1及び第2の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第1の演算処理装置の出力と前記第2の演算処理装置の出力の比較を停止する
ことを特徴とする付記9記載の同期制御方法。
(付記11)
第1の演算処理装置と第2の演算処理装置に接続される同期制御装置において、
計数を行うとともに、前記計数した計数情報を出力する計数部と、
所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
前記第1の演算処理装置の出力と前記第2の演算処理装置の出力を比較することにより、前記第1及び第2の演算処理装置の同期を監視し、前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させるとともに、前記第1及び第2の演算処理装置に初期化を行わせ、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第1又は第2の演算処理装置のいずれかを停止させる同期制御部を有することを特徴とする同期制御装置。
(付記12)
前記同期制御部は、前記第1及び第2の演算処理装置の初期化が成った場合には、前記第1の演算処理装置の出力と前記第2の演算処理装置の出力の比較を停止する
ことを特徴とする付記11記載の同期制御装置。
(付記13)
前記同期制御部は、前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しない場合に、前記初期化を行わせる前に、前記第1及び第2の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置に対して、その内部情報をメモリ上に移させた後に、前記第1及び第2の演算処理装置をリセットさせた上で、前記初期化を行わせ、
前記第1及び第2の演算処理装置は、前記メモリに移された内部情報を自身の内部に復元することによって前記初期化を行う
ことを特徴とする付記11又は12記載の同期制御装置。
(付記14)
前記同期制御部は、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、更に、前記第1の演算処理装置の出力と前記第2の演算処理装置の出力の比較を停止させるとともに、前記第1及び第2の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置をリセットさせた上で、前記初期化を行わせ、
前記同期遅れが発生していない方の演算処理装置は、前記メモリに移された内部情報を自身の内部に復元することによって前記初期化を行う
ことを特徴とする付記13記載の同期制御装置。
サーバシステムの概略構成を示すブロック図 システムボード上の回路構成を示すブロック図 再同期タイマおよびタイムアウト制御回路内部の構成を示すブロック図 再同期処理の内容を示すフローチャート 再同期処理の内容を示すフローチャート 再同期処理の内容を示すフローチャート
符号の説明
6 CPU
14 切替/再同期制御回路
15 ファームウェアハブ
16 再同期タイマ及びタイムアウト制御回路
18 リセット制御レジスタ
19 再同期制御レジスタ
20 エラー指摘レジスタ
161 タイマ/上限時間比較回路
162 再同期タイマレジスタ
163 再同期上限時間設定レジスタ

Claims (10)

  1. 第1の演算処理装置と第2の演算処理装置に接続される同期制御装置において、
    計数を行うとともに、前記計数した計数情報を出力する計数部と、
    所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
    前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
    前記第1の演算処理装置の出力と前記第2の演算処理装置の出力を比較することにより、前記第1及び第2の演算処理装置の同期を監視し、前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第1又は第2の演算処理装置のいずれかを停止させる同期制御部を
    有することを特徴とする同期制御装置。
  2. 前記同期制御装置はさらに、
    前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第1及び第2の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第1の演算処理装置の出力と前記第2の演算処理装置の出力の比較を停止する
    ことを特徴とする請求項1記載の同期制御装置。
  3. 前記同期制御装置はさらに、
    同期遅れ情報保持部を有し、
    前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記同期遅れ情報保持部に同期遅れ情報を格納する
    ことを特徴とする請求項1又は2記載の同期制御装置。
  4. 前記計数部は、
    外部から前記同期制御装置に入力される第1のクロックに基づいて計数を行う
    ことを特徴とする請求項1〜3のいずれか1項に記載の同期制御装置。
  5. 第1の演算処理装置,第2の演算処理装置,及びこれら第1及び第2の演算処理装置に夫々接続された同期制御装置を有する情報処理装置において、
    前記同期制御装置が、
    計数を行うとともに、前記計数した計数情報を出力する計数部と、
    所定のタイムアウト時間を保持するとともに、前記タイムアウト時間を出力するタイムアウト時間保持部と、
    前記計数部が出力する前記計数情報と前記タイムアウト時間設定保持部が出力する前記タイムアウト時間を比較する比較部と、
    前記第1の演算処理装置の出力と前記第2の演算処理装置の出力を比較することにより、前記第1及び第2の演算処理装置の同期を監視し、前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しない場合に、前記計数部を初期化して計数を開始させ、さらに、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第1又は第2の演算処理装置のいずれかを停止させる同期制御部を有する
    ことを特徴とする情報処理装置。
  6. 前記同期制御装置はさらに、
    前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第1及び第2の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第1の演算処理装置の出力と前記第2の演算処理装置の出力の比較を停止する
    ことを特徴とする請求項5記載の情報処理装置。
  7. 前記同期制御装置はさらに、
    同期遅れ情報保持部を有し、
    前記計数部が計数を開始後、前記比較部が前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記同期遅れ情報保持部に同期遅れ情報を格納する
    ことを特徴とする請求項5又は6記載の情報処理装置。
  8. 前記計数部は、
    外部から前記同期制御装置に入力される第1のクロックに基づいて計数を行う
    ことを特徴とする請求項5〜7のいずれか1項に記載の情報処理装置。
  9. 第1の演算処理装置及び第2の演算処理装置に夫々接続された同期制御装置により、これら演算処理装置の同期を管理する同期管理方法であって、
    前記同期制御装置は、
    前記第1の演算処理装置の出力と前記第2の演算処理装置の出力を比較することにより、前記第1及び第2の演算処理装置の同期を監視し、
    前記第1の演算処理装置と前記第2の演算処理装置の出力が一致しない場合に、計数を開始し、
    計数開始後の計数情報と所定のタイムアウト時間とを比較し、
    前記計数情報と前記タイムアウト時間が一致することを検出したときには、同期遅れが発生した前記第1又は第2の演算処理装置のいずれかを停止させる
    ことを特徴とする同期管理方法。
  10. 前記同期制御装置は、さらに、
    前記計数情報と前記タイムアウト時間が一致することを検出した場合には、前記第1及び第2の演算処理装置のうち、前記同期遅れが発生していない方の演算処理装置を初期化するとともに、前記第1の演算処理装置の出力と前記第2の演算処理装置の出力の比較を停止する
    ことを特徴とする請求項9記載の同期制御方法。
JP2008258728A 2008-10-03 2008-10-03 同期制御装置,情報処理装置及び同期管理方法 Active JP5347414B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2008258728A JP5347414B2 (ja) 2008-10-03 2008-10-03 同期制御装置,情報処理装置及び同期管理方法
EP09170690.3A EP2175371B1 (en) 2008-10-03 2009-09-18 Synchronization control apparatuses, information processing apparatuses, and synchronization management methods
US12/569,333 US8667315B2 (en) 2008-10-03 2009-09-29 Synchronization control apparatus, information processing apparatus, and synchronization management method for managing synchronization between a first processor and a second processor
CN200910177655.5A CN101714108B (zh) 2008-10-03 2009-09-30 同步控制设备、信息处理设备以及同步管理方法
KR1020090093924A KR101121116B1 (ko) 2008-10-03 2009-10-01 동기 제어 장치, 정보 처리 장치 및 동기 관리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008258728A JP5347414B2 (ja) 2008-10-03 2008-10-03 同期制御装置,情報処理装置及び同期管理方法

Publications (2)

Publication Number Publication Date
JP2010092105A true JP2010092105A (ja) 2010-04-22
JP5347414B2 JP5347414B2 (ja) 2013-11-20

Family

ID=41360116

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008258728A Active JP5347414B2 (ja) 2008-10-03 2008-10-03 同期制御装置,情報処理装置及び同期管理方法

Country Status (5)

Country Link
US (1) US8667315B2 (ja)
EP (1) EP2175371B1 (ja)
JP (1) JP5347414B2 (ja)
KR (1) KR101121116B1 (ja)
CN (1) CN101714108B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081853A (ja) * 2012-10-18 2014-05-08 Renesas Electronics Corp 半導体装置
JP2018112977A (ja) * 2017-01-13 2018-07-19 株式会社デンソー マイクロコンピュータ
JP2019125350A (ja) * 2017-11-21 2019-07-25 ザ・ボーイング・カンパニーThe Boeing Company 指示命令処理調節システム

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009050161A1 (de) * 2009-10-21 2011-04-28 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Testen eines Systems mit zumindest einer Mehrzahl von parallel ausführbaren Softwareeinheiten
CN102469474A (zh) * 2010-11-15 2012-05-23 中兴通讯股份有限公司 一种通信设备异常信息的处理方法及装置
CN102043690A (zh) * 2010-12-31 2011-05-04 上海华为技术有限公司 多核处理器故障处理方法及多核处理器
DE102012010143B3 (de) 2012-05-24 2013-11-14 Phoenix Contact Gmbh & Co. Kg Analogsignal-Eingangsschaltung mit einer Anzahl von Analogsignal-Erfassungskanälen
JP5601353B2 (ja) * 2012-06-29 2014-10-08 横河電機株式会社 ネットワーク管理システム
TWI571712B (zh) * 2015-10-29 2017-02-21 行政院原子能委員會核能研究所 多重容錯控制系統及其同步方法
FR3071688B1 (fr) * 2017-09-22 2019-09-27 Thales Procede de syncronisation d'un ensemble de dispositifs, programme d'ordinateur et systeme de syncronisation associes
US10599513B2 (en) 2017-11-21 2020-03-24 The Boeing Company Message synchronization system
JP7298442B2 (ja) * 2019-10-25 2023-06-27 株式会社リコー 電子制御装置、電子制御装置のメインプロセッサによる制御方法および電子制御装置のメインプロセッサが実行する制御プログラム
CN113050752B (zh) * 2021-03-29 2023-02-21 中车青岛四方车辆研究所有限公司 用于两个中央处理器时间同步的方法和存储介质
CN113886039B (zh) * 2021-09-18 2023-12-22 中汽创智科技有限公司 一种调度表同步方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393582B1 (en) * 1998-12-10 2002-05-21 Compaq Computer Corporation Error self-checking and recovery using lock-step processor pair architecture
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
JP2005285119A (ja) * 2004-03-30 2005-10-13 Hewlett-Packard Development Co Lp 非決定的プロセッサにおいてユーザプログラムを実行する方法およびシステム
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
JP2006302289A (ja) * 2005-04-19 2006-11-02 Hewlett-Packard Development Co Lp ロックステップ及びフリーステップの両プロセッサモードによる計算処理
JP2008046942A (ja) * 2006-08-18 2008-02-28 Nec Corp フォールトトレラントコンピュータ、そのトランザクション同期制御方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1253309A (en) * 1969-11-21 1971-11-10 Marconi Co Ltd Improvements in or relating to data processing arrangements
US3810119A (en) * 1971-05-04 1974-05-07 Us Navy Processor synchronization scheme
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4490561A (en) * 1983-10-13 1984-12-25 Conoco Inc. Method for alkoxylating fluorinated alcohols
AU616213B2 (en) * 1987-11-09 1991-10-24 Tandem Computers Incorporated Method and apparatus for synchronizing a plurality of processors
JPH0630094B2 (ja) * 1989-03-13 1994-04-20 インターナショナル・ビジネス・マシーンズ・コーポレイション マルチプロセツサ・システム
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US5748873A (en) * 1992-09-17 1998-05-05 Hitachi,Ltd. Fault recovering system provided in highly reliable computer system having duplicated processors
JP4117684B2 (ja) * 2004-12-20 2008-07-16 日本電気株式会社 フォルトトレラント・二重化コンピュータシステムとその制御方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6393582B1 (en) * 1998-12-10 2002-05-21 Compaq Computer Corporation Error self-checking and recovery using lock-step processor pair architecture
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
JP2005285119A (ja) * 2004-03-30 2005-10-13 Hewlett-Packard Development Co Lp 非決定的プロセッサにおいてユーザプログラムを実行する方法およびシステム
JP2006178616A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム
JP2006302289A (ja) * 2005-04-19 2006-11-02 Hewlett-Packard Development Co Lp ロックステップ及びフリーステップの両プロセッサモードによる計算処理
JP2008046942A (ja) * 2006-08-18 2008-02-28 Nec Corp フォールトトレラントコンピュータ、そのトランザクション同期制御方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081853A (ja) * 2012-10-18 2014-05-08 Renesas Electronics Corp 半導体装置
JP2018112977A (ja) * 2017-01-13 2018-07-19 株式会社デンソー マイクロコンピュータ
JP2019125350A (ja) * 2017-11-21 2019-07-25 ザ・ボーイング・カンパニーThe Boeing Company 指示命令処理調節システム
JP7290410B2 (ja) 2017-11-21 2023-06-13 ザ・ボーイング・カンパニー 指示命令処理調節システム

Also Published As

Publication number Publication date
CN101714108B (zh) 2014-05-07
EP2175371B1 (en) 2015-03-18
US20100088535A1 (en) 2010-04-08
KR20100038159A (ko) 2010-04-13
EP2175371A1 (en) 2010-04-14
JP5347414B2 (ja) 2013-11-20
CN101714108A (zh) 2010-05-26
KR101121116B1 (ko) 2012-03-20
US8667315B2 (en) 2014-03-04

Similar Documents

Publication Publication Date Title
JP5347414B2 (ja) 同期制御装置,情報処理装置及び同期管理方法
US7496786B2 (en) Systems and methods for maintaining lock step operation
US9195553B2 (en) Redundant system control method
JP3030658B2 (ja) 電源故障対策を備えたコンピュータシステム及びその動作方法
JP5287974B2 (ja) 演算処理システム、再同期方法、およびファームプログラム
JP2004046455A (ja) 情報処理装置
KR101038464B1 (ko) 정보 처리 장치 및 제어 방법
US20170242760A1 (en) Monitoring device, fault-tolerant system, and control method
JP2003256240A (ja) 情報処理装置及びその障害回復方法
JP3536293B2 (ja) 二重化コンピュータ装置
WO2014112039A1 (ja) 情報処理装置、情報処理装置制御方法及び情報処理装置制御プログラム
JP3415636B2 (ja) プロセッサ装置
JPH05216855A (ja) マルチcpu制御方式
JP2000347758A (ja) 情報処理装置
JP2013020566A (ja) 二重化情報処理システム
JP3539687B2 (ja) プロセッサ二重化方式の情報処理装置
JP6449671B2 (ja) コアi/oフェールオーバー制御システムおよびコアi/oフェールオーバー制御方法
JPH04211841A (ja) 二重化処理装置
JP2815730B2 (ja) アダプタ及びコンピュータシステム
JPH02110742A (ja) マルチプロセッサの誤り検出・同期方式
JPH11184734A (ja) Cpuの相互監視装置
JP2000194677A (ja) 交代プロセッサを備えた情報処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110708

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130305

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130507

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: 20130723

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130805

R150 Certificate of patent or registration of utility model

Ref document number: 5347414

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150