JP2006178617A - フォールトトレラントコンピュータ及びその制御方法 - Google Patents

フォールトトレラントコンピュータ及びその制御方法 Download PDF

Info

Publication number
JP2006178617A
JP2006178617A JP2004369388A JP2004369388A JP2006178617A JP 2006178617 A JP2006178617 A JP 2006178617A JP 2004369388 A JP2004369388 A JP 2004369388A JP 2004369388 A JP2004369388 A JP 2004369388A JP 2006178617 A JP2006178617 A JP 2006178617A
Authority
JP
Japan
Prior art keywords
subsystem
counter
data
cpu
clock
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
JP2004369388A
Other languages
English (en)
Other versions
JP4154610B2 (ja
Inventor
Ryuta Shinno
竜太 新野
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 JP2004369388A priority Critical patent/JP4154610B2/ja
Priority to EP05026769A priority patent/EP1674999A1/en
Priority to AU2005242207A priority patent/AU2005242207A1/en
Priority to US11/305,122 priority patent/US7694176B2/en
Priority to CA002531089A priority patent/CA2531089A1/en
Priority to CNA2005100229083A priority patent/CN1794194A/zh
Publication of JP2006178617A publication Critical patent/JP2006178617A/ja
Application granted granted Critical
Publication of JP4154610B2 publication Critical patent/JP4154610B2/ja
Expired - Fee Related 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level

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)
  • Information Transfer Systems (AREA)

Abstract

【課題】 二重化されたシステム間の同期を確実にとることができるとともに、二重化されたシステム間でカウンタがばらばらに動作している状態でも同期をとる。
【解決手段】 システム3aからシステム3bにデータを送信する場合、そのデータの送信時刻を付与して送信する。システム3bにおいては、受信したデータに付与された送信時刻から理想受信時刻を算出し、理想受信時刻と実際の受信時刻とからクロックのずれ量を算出し、この算出結果に基づいてシステム3bのクロックを変更する。
【選択図】図1

Description

本発明は、システムが二重化されて構成されたフォールトトレラントコンピュータ及びその制御方法に関する。
近年、コンピュータの多機能化に伴い、様々な分野でコンピュータが利用されるようになってきている。そのため、障害発生時においても、コンピュータを継続して動作させることが要求され、それに対して、システムを二重化したフォールトトレラント技術が採用されている(例えば、特許文献1参照。)。
このようなフォールトトレラント技術が採用されたフォールトトレラントコンピュータにおいては、例えば、CPUサブシステムとIOサブシステムとからなるシステムが二重化されており、二重化されたシステムが同期して動作しているかどうかが比較されることにより、障害発生が検知されることになる。
ここで、CPUサブシステムとIOサブシステムとからなるシステムが二重化されたものにおいては、2つのCPUサブシステムが共通の内部クロックによって同期動作するロックステップ方式が採られ、また、IOサブシステム間の通信に利用される高速インタフェースに、内部クロックとは非同期に動作するシリアルリンクが使用されているものがある。このようなフォールトトレラントコンピュータにおいては、1つのIOシステムから2つのCPUサブシステムにアクセスがあった場合、一方のCPUサブシステムには内部パスのみを介してアクセスが行われ、また、他方のCPUサブシステムには高速インタフェースを介してアクセスが行われるため、2つのCPUサブシステムに対するアクセスを同期させるためには、内部クロックと高速インタフェースとの間にてクロック同期をとる必要がある。
そこで、二重化されたシステム間にて、高速インタフェースにおけるクロックを、一定周期内の所定のタイミングで内部クロックに載せ換え、それにより、CPUサブシステムとIOサブシステムとの間の通信タイミングを一致させることが行われている。
特開平10−177498号公報
しかしながら、上述したようなフォールトトレラントコンピュータにおいては、2つのシステムが同じクロックで動作しているものの、実際には、クロック線にて生じるスキューや、システム内に設けられたPLLの特性等によって位相が互いにずれてしまうという問題点がある。また、それにより、受信側のシステムにおいて、静的に決まらないパラメータが存在してしまうという問題点がある。
また、システムを動作させるための内部クロックと、高速インタフェースにおけるクロックとが互いに異なるため、グローバルカウンタから生成されるギアリングを用いて同期をとることになるが、カウンタ等が安定している状態でないとギアリングを行うことができず、それまでの間は、受信側のシステムにおいて非同期でデータ通信を行わなければならないという問題点がある。
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、二重化されたシステム間の同期を確実にとることができるとともに、二重化されたシステム間でカウンタがばらばらに動作している状態でも同期をとることができるフォールトトレラントコンピュータ及びその制御方法を提供することを目的とする。
上記目的を達成するために本発明は、
CPU及び記憶装置へのアクセスを制御するCPUサブシステムと、前記CPUサブシステムに対する外部からのデータの入出力を制御するIOサブシステムとからなるシステムが一対のものとして二重化されて構成され、前記CPUサブシステムが、二重化されたシステム間にて共通のクロックで動作し、前記IOサブシステムが、非同期あるいは当該IOサブシステム内のカウンタによるクロックで動作して前記二重化されたシステム間におけるデータの入出力を制御するフォールトトレラントコンピュータにおいて、
前記IOサブシステムは、
対となるIOサブシステムに対するデータの送信時に送信時刻を付与してデータを送信する送信手段と、
対となるIOサブシステムから送信されたデータを非同期にて受信し、受信時刻を記録する受信手段とを有し、
前記受信手段にて受信したデータに付与された送信時刻を用いて算出される理想受信時刻と前記受信手段にて記録された受信時刻とから、前記対となるIOサブシステムに対するクロックのずれ量を算出し、該算出結果に基づいて当該IOサブシステム内のカウンタを変更し、該カウンタを用いた受信動作を行うことを特徴とする。
また、前記IOサブシステムは、少なくとも前記カウンタの1周期中におけるデータそれぞれについて前記ずれ量を算出し、該ずれ量が予め決められた許容範囲内となるように当該IOサブシステム内のカウンタを変更することを特徴とする。
また、CPU及び記憶装置へのアクセスを制御するCPUサブシステムと、前記CPUサブシステムに対する外部からのデータの入出力を制御するIOサブシステムとからなるシステムが二重化されて構成され、前記CPUサブシステムが、二重化されたシステム間にて共通のクロックで動作し、前記IOサブシステムが、非同期あるいは当該IOサブシステム内のカウンタによるクロックで動作して前記二重化されたシステム間におけるデータの入出力を制御するフォールトトレラントコンピュータの制御方法であって、
一方のIOサブシステムから送信時刻を付与したデータを他方のIOサブシステムに送信する処理と、
前記一方のIOサブシステムから送信されたデータを前記他方のIOサブシステムにて非同期にて受信する処理と、
前記他方のIOサブシステムにおける前記データの受信時刻を記録する処理と、
前記他方のIOサブシステムにて受信したデータに付与された送信時刻を用いて理想受信時刻を算出する処理と、
前記理想受信時刻と前記他方のIOサブシステムにて記録された受信時刻とから、前記他方のIOサブシステムにおける前記一方のIOサブシステムに対するクロックのずれ量を算出する処理と、
該算出結果に基づいて前記他方のIOサブシステム内のカウンタを変更する処理と、
前記他方のIOサブシステムにて前記カウンタを用いた受信動作を行う処理とを有する。
また、少なくとも前記カウンタの1周期中におけるデータそれぞれについて前記ずれ量を算出する処理と、
前記ずれ量が予め決められた許容範囲内となるように前記他方のIOサブシステム内のカウンタを変更する処理とを有することを特徴とする。
上記のように構成された本発明においては、CPU及び記憶装置へのアクセスを制御するCPUサブシステムと、CPUサブシステムに対する外部からのデータの入出力を制御するIOサブシステムとからなるシステムが二重化されて構成されたフォールトトレラントコンピュータにおいて、一方のIOサブシステムから送信時刻を付与したデータが他方のIOサブシステムに送信され、このデータが他方のIOサブシステムにて非同期にて受信される。すると、他方のIOサブシステムにおいて、データの受信時刻が記録されるとともに、受信したデータに付与された送信時刻を用いて理想受信時刻が算出され、算出された理想受信時刻と記録された受信時刻とから、他方のIOサブシステムにおける一方のIOサブシステムに対するクロックのずれ量が算出される。その後、他方のIOサブシステムにおいて、算出結果に基づいて他方のIOサブシステム内のカウンタが変更され、変更されたカウンタを用いた受信動作が行われる。
以上説明したように本発明においては、二重化されたシステム間にてデータを送信する際の送信時刻をデータに付与し、この送信時刻から理想受信時刻を算出し、理想受信時刻と実際の受信時刻とからクロックのずれ量を算出し、この算出結果に基づいてクロックを変更する構成としたため、二重化されたシステム間の同期を確実にとることができるとともに、二重化されたシステム間でカウンタがばらばらに動作している状態でも同期をとることができる。
以下に、本発明の実施の形態について図面を参照して説明する。
図1は、本発明のフォールトトレラントコンピュータの実施の一形態を示す図である。
本形態は図1に示すように、主記憶装置1a,1bと、CPU2a,2bと、これらにアクセスするためのシステム3a,3bとがそれぞれ一対のものとして二重化され、システム3aとシステム3bとがクロスリンク4を介して接続されて構成されている。システム3a,3bのそれぞれには、外部とのデータの入出力を制御するIOI/Fコントローラ70a,70bと、IOI/Fコントローラ70a,70bからCPU2a,2bに渡されるデータを一時保持するバッファ51a,51bと、CPU2a,2bからIOI/Fコントローラ70a,70bに渡されるデータを一時保持するバッファ52a,52bと、クロスリンク4を介してのシステム3a,3b間におけるデータの受け渡しを制御するシリアルIOI/Fコントローラ80a,80bと、CPU2a,2bからのIOI/Fコントローラ70a,70bへのアクセスとシリアルIOI/Fコントローラ80a,80bを介しての他のシステム3a,3bからのIOI/Fコントローラ70a,70bへのアクセスとを比較するIOアクセス比較器60a,60bとが設けられており、これらはIOサブシステムと呼ばれ、システム3a,3b毎のギアリングカウンタを用いたクロックによって動作する。また、システム3a,3bのそれぞれには、主記憶装置1a,1bに対するデータの書き込みや読み出しを制御するメモリバスコントローラ10a,10bと、CPU2a,2bに対するアクセスを制御するCPUバスコントローラ20a,20bと、レジスタ30a,30bと、インバウンドバッファ41a,41bを具備してCPUバスコントローラ20a,20b、レジスタ30a,30b、バッファ51a,51b,52a,52b及びシリアルIOI/Fコントローラ80a,80b間のアクセス制御を切り替えるルータ40a,40bとが設けられており、これらはCPUサブシステムと呼ばれ、共通の内部クロックによって同期動作するロックステップ方式が採られている。
上記のように構成されたフォールトトレラントコンピュータにおいては、CPU2a,2bからのIOI/Fコントローラ70a,70bへのアクセスと、シリアルIOI/Fコントローラ80a,80bを介しての他のシステム3a,3bからのIOI/Fコントローラ70a,70bへのアクセスとがIOアクセス比較器60a,60bにて比較され、その比較結果によって、システム3a,3bの障害が検知されることになる。この際、クロスリンク4におけるクロックが、一定周期内の所定のタイミングでCPUサブシステムの内部クロックに載せ換えられ、それにより、CPUサブシステムとIOサブシステムとの間の通信タイミングが一致するように制御されている。また、システム3a,3b間においては、内部クロックとなるコアクロックを発生させるクロック源振からのクロック線にて生じるスキューや、システム3a,3b内に設けられたPLLの特性等によって同期がとれなくなってしまうが、シリアルIOI/Fコントローラ80a,80bにおいて、システム3a,3b間における同期が実現されている。以下に、その詳細について説明する。
図2は、図1に示したシリアルIOI/Fコントローラ80a,80bの構成を示す図である。
本形態におけるシリアルIOI/Fコントローラ80a,80bは図2に示すように、IOI/Fコントローラ70a,70bから他のシステム3a,3bのアクセスデータを送信するマクロ送信部81a,81bと、他のシステム3a,3bのマクロ送信部81a,81bから送信されたアクセスデータをクロスリンク4を介して受信するマクロ受信部82a,82bと、コアクロックとシステム3a,3b内のギアリングレジスタとを用いてマクロ送信部81a,81bの動作クロックを生成するPLL83a,83bとから構成されている。さらに、マクロ送信部81a,81bは、アクセスデータ送信時に、送信時のカウンタ値を、アクセスデータを構成するパケットに送信時刻として埋め込んで送信する。また、マクロ受信部82a,82bは、アクセスデータを構成するパケットを受信した場合、受信時のカウンタ値、並びに、そのパケットを先頭とし、少なくともシステム3a,3bを同期させるためのギアリングカウンタの1周期中におけるデータ抽出タイミングのカウンタ値を受信時刻として記録しておく。
以下に、上記のように構成されたフォールトトレラントコンピュータの制御方法について、システム3aからシステム3bへパケットを送信し、システム3bのギアリングカウンタを変更することによりシステム3a,3b間の同期を実現する場合を例に挙げて説明する。
図3は、図1及び図2に示したフォールトトレラントコンピュータの動作を示すタイミングチャートである。また、図4は、図1及び図2に示したフォールトトレラントコンピュータの制御方法の第1フェーズにおける処理を説明するためのフローチャートである。
まず、システム3aにおいて、システム3a内のコアクロック及び送信ギアリングレジスタによってパケットD2〜D4がCPUサブシステムからマクロ送信部81aに引き渡される。ここで、本形態においては、システム3a,3bにおけるギアリングレジスタは、内部クロックとなるコアクロックの16クロックで1周期とし、その1周期内で3つのパケットをとるように設定されている。すなわち、システム3a,3bにおけるギアリングレジスタは、1周期中のタイミングを規定するものであって、送信側においては、ギアリングレジスタに“1”が設定されたタイミングにおいてマクロ送信部81a,81bにデータが引き渡され、受信側においては、ギアリングレジスタに“1”が設定されたタイミングにおいてマクロ受信部82a,82bからデータが引き渡されることになる。また、上述したように、ギアリングレジスタはコアクロックの16クロックを1周期とした場合のタイミングを規定するものであるため、このギアリングレジスタによって規定される1周期はコアクロックの整数倍となる。また、クロスリンク4におけるクロックについても、コアクロックとギアリングレジスタとから生成されているため、その整数倍が1周期となる。
マクロ送信部81aに引き渡されたパケットD2〜D4にはそれぞれ、マクロ送信部81aからの送信時刻C1aが埋め込まれ(ステップS1)、PLL83aによって生成された動作クロックに基づくタイミングで送信される(ステップS2)。なお、この際、システム3a,3bのギアリングカウンタがばらばらに動作しており、システム3a,3bにおけるパケットの受信は非同期モードで行われている。また、PLL83aにおいては、コアクロックとシステム3a内の送信ギアリングレジスタとを用いてマクロ送信部81aの動作クロックが生成されている。
マクロ送信部81aから送信されたパケットD2〜D4は、クロスリンク4を介してシステム3bのマクロ受信部82bにて受信される(ステップS3)。なお、この際、パケットD2の受信時刻C2bが記録される。
次に、マクロ受信部82bにおいて、受信されたパケットD2に埋め込まれた送信時刻C1aと、システム3a,3b間におけるフライトタイムTfpと、非同期方式と同期方式とでの差分Difとから、下記(式1)を用いて理想の受信時刻C2aが算出される(ステップS4)。なお、システム3a,3b間におけるフライトタイムTfpとは、システム3a,3bが同期モードで動作している状態にてデータの受け渡しにかかる時間であり、システム3a,3bにて予め設定されている。
C2a=C1a+Tfp−Dif・・・・(式1)
次に、算出された理想の受信時刻C2aから実際のパケットの受信時刻C2bが減算され、クロックのずれ量が算出される(ステップS5)。
次に、クロスリンク4が一旦切断され(ステップS6)、ステップS5にて算出されたずれ量に応じてマクロ受信部82bにおける受信ギアリングカウンタが変更される(ステップS7)。
図5は、図1及び図2に示したフォールトトレラントコンピュータにおけるギアリングカウンタの変更方法を説明するための図である。
図5に示すように、パケットの受信側となるマクロ受信部82bにおける受信ギアリングカウンタは、パケットの送信側となるマクロ送信部81aにおける送信ギアリングレジスタと、フライトタイムとから決まり、その受信ギアリングカウンタが、ステップS5にて算出されたずれ量に応じたクロック数だけずらされることになる。
マクロ受信部82bにおける受信ギアリングカウンタが変更されると、クロスリンク4が再び接続され(ステップS8)、パケットの受信側となるマクロ受信部82bにおいて、変更された受信ギアリングカウンタによるギアリングモードにてパケットの受信が行われることになる。
図6は、図1及び図2に示したフォールトトレラントコンピュータの制御方法の第2フェーズにおける処理を説明するためのフローチャートである。
この第2フェーズにおいては、マクロ受信部82bがギアリングモードで受信を行っており、マクロ受信部82aが非同期モードで受信を行っている。
まず、マクロ送信部81bにおいて、システム3aに送信するパケットにマクロ送信部81bからの送信時刻C3bが埋め込まれ(ステップS11)、送信ギアリングカウンタに基づくタイミングで送信される(ステップS12)。
マクロ送信部81bから送信されたパケットは、クロスリンク4を介してシステム3aのマクロ受信部82aにて受信される(ステップS13)。なお、この際、受信されたパケットの受信時刻C4bが記録される。また、マクロ受信部82aにおけるパケットの受信は、非同期にて行われる。
次に、マクロ受信部82aにおいて、受信されたパケットに埋め込まれた送信時刻C3bと、システム3aにおけるフライトタイムTfpと、非同期方式と同期方式とでの差分Difとから、下記(式2)を用いて理想の受信時刻C4aが算出される(ステップS14)。
C4a=C3b+Tfp−Dif・・・・(式2)
次に、実際のパケットの受信時刻C4bから、算出された理想の受信時刻C4aが減算され、クロックのずれ量が算出され(ステップS15)、ずれがない場合は(ステップS16)、クロスリンク4が一旦切断され(ステップS17)、マクロ受信部82aがギアリングモードに変更され(ステップS18)、その後、クロスリンク4が再び接続される(ステップS19)。
また、ステップS15にてずれ量がある場合は、以下に示す第3フェーズに移行する。
図7は、図1及び図2に示したフォールトトレラントコンピュータの制御方法の第3フェーズにおける処理を説明するためのフローチャートである。
図6にて説明した処理のステップS15にてずれ量がある場合は、まず、マクロ受信部82aにおいて1周期分のパケットが受信され(ステップS21)、上述したものと同様の処理にて受信されたパケットの理想の受信時刻が算出される(ステップS22)。ここで、本形態においては、上述したように、システム3a,3bにおけるギアリングレジスタが、16クロックで1周期とし、その1周期内で3つのパケットをとるように設定されているため、連続した3つのパケットが受信されることになる。また、3つのパケットのマクロ送信部81bからの送信時刻C8b,C9b,C10bは、先頭のパケットに埋め込まれた送信時刻C8bとマクロ送信部81bにおける送信ギアリングレジスタとから算出することができる。これにより、3つのパケットの理想の受信時刻C5b,C6b,C7bは、上述したものと同様に下記(式3),(式4),(式5)から算出される。
C5b=C8b+Tfp−Dif・・・・(式3)
C6b=C9b+Tfp−Dif・・・・(式4)
C7b=C10b+Tfp−Dif・・・・(式5)
次に、算出された理想の受信時刻C5b,C6b,C7bと、3つのパケットのマクロ受信部82aにおける実際の受信時刻C5a,C6a,C7aとから、システム3aのギアリングカウンタとシステム3bのギアリングカウンタとのずれ量が許容範囲であるかどうかが判断される(ステップS23)。
ここで、図3に示すように、ギアリングカウンタのずれ量の許容範囲Rとは、その範囲内であれば、データを取り出すことが可能となる範囲であって、予め決められ、テーブルとして設定されている。
ギアリングカウンタのずれ量が許容範囲内であると判断された場合は、クロスリンク4が一旦切断され(ステップS24)、マクロ受信部82aがギアリングモードに変更され(ステップS25)、その後、クロスリンク4が再び接続される(ステップS26)。
また、ギアリングカウンタのずれ量が許容範囲を超えていると判断された場合は、以下に示す第4フェーズに移行する。また、ギアリングカウンタのずれ量が許容範囲内であっても、そのずれ量が大きな場合も第4フェーズに移行する。
図8は、図1及び図2に示したフォールトトレラントコンピュータの制御方法の第4フェーズにおける処理を説明するためのフローチャートである。
ギアリングカウンタのずれ量が許容範囲を超えていると判断された場合は、まず、マクロ受信部82aにおいて、実際の受信時刻C5aと理想の受信時刻C5bとが比較される(ステップS31)。
実際の受信時刻C5aと理想の受信時刻C5bとが比較された結果、理想の受信時刻C5bが実際の受信時刻C5aよりも早い場合は(ステップS32)、システム3bのカウンタが進んでいると判断され、その旨がシステム3bに通知される(ステップS33)。
すると、システム3bのシリアルIOI/Fコントローラ80bにおいて、クロスリンク4が切断され(ステップS34)、マクロ受信部82bにおける受信が非同期モードに変更される(ステップS35)。
その後、システム3bのギアリングカウンタが遅れるように変更される(ステップS36)。なお、このギアリングカウンタの変更は、上述した受信ギアリングカウンタのずれの許容範囲内で行われることになる。そのため、上述した第3フェーズにおける連続パケットの送受信を、マクロ送信部81aからマクロ受信部82bに対して行い、1周期中の許容範囲が算出されることになる。
そして、上述した第2フェーズに移行し、カウンタの同期を実現する。
また、実際の受信時刻C5aと理想の受信時刻C5bとが比較された結果、理想の受信時刻C5bが実際の受信時刻C5aよりも遅い場合は、システム3bのカウンタが遅れていると判断され、その旨がシステム3bに通知される(ステップS37)。
すると、システム3bのシリアルIOI/Fコントローラ80bにおいて、クロスリンク4が切断され(ステップS38)、マクロ受信部82bにおける受信が非同期モードに変更される(ステップS39)。
その後、システム3bのギアリングカウンタが進むように変更されることになる(ステップS40)。
なお、本形態においては、ギアリングカウンタのずれ量の許容範囲Rが、予め決められ、テーブルとして設定されているが、パケットの送受信の際に動的に決めることも考えられる。
本発明のフォールトトレラントコンピュータの実施の一形態を示す図である。 図1に示したシリアルIOI/Fコントローラの構成を示す図である。 図1及び図2に示したフォールトトレラントコンピュータの動作を示すタイミングチャートである。 図1及び図2に示したフォールトトレラントコンピュータの制御方法の第1フェーズにおける処理を説明するためのフローチャートである。 図1及び図2に示したフォールトトレラントコンピュータにおけるギアリングカウンタの変更方法を説明するための図である。 図1及び図2に示したフォールトトレラントコンピュータの制御方法の第2フェーズにおける処理を説明するためのフローチャートである。 図1及び図2に示したフォールトトレラントコンピュータの制御方法の第3フェーズにおける処理を説明するためのフローチャートである。 図1及び図2に示したフォールトトレラントコンピュータの制御方法の第4フェーズにおける処理を説明するためのフローチャートである。
符号の説明
1a,1b 主記憶装置
2a,2b CPU
3a,3b システム
4 クロスリンク
10a,10b メモリバスコントローラ
20a,20b CPUバスコントローラ
30a,30b レジスタ
40a,40b ルータ
41a,41b インバウンドバッファ
51a,51b,52a,52b バッファ
60a,60b IOアクセス比較器
70a,70b IOI/Fコントローラ
80a,80b シリアルIOI/Fコントローラ
81a,81b マクロ送信部
82a,82b マクロ受信部
83a,83b PLL

Claims (4)

  1. CPU及び記憶装置へのアクセスを制御するCPUサブシステムと、前記CPUサブシステムに対する外部からのデータの入出力を制御するIOサブシステムとからなるシステムが一対のものとして二重化されて構成され、前記CPUサブシステムが、二重化されたシステム間にて共通のクロックで動作し、前記IOサブシステムが、非同期あるいは当該IOサブシステム内のカウンタによるクロックで動作して前記二重化されたシステム間におけるデータの入出力を制御するフォールトトレラントコンピュータにおいて、
    前記IOサブシステムは、
    対となるIOサブシステムに対するデータの送信時に送信時刻を付与してデータを送信する送信手段と、
    対となるIOサブシステムから送信されたデータを非同期にて受信し、受信時刻を記録する受信手段とを有し、
    前記受信手段にて受信したデータに付与された送信時刻を用いて算出される理想受信時刻と前記受信手段にて記録された受信時刻とから、前記対となるIOサブシステムに対するクロックのずれ量を算出し、該算出結果に基づいて当該IOサブシステム内のカウンタを変更し、該カウンタを用いた受信動作を行うことを特徴とするフォールトトレラントコンピュータ。
  2. 請求項1に記載のフォールトトレラントコンピュータにおいて、
    前記IOサブシステムは、少なくとも前記カウンタの1周期中におけるデータそれぞれについて前記ずれ量を算出し、該ずれ量が予め決められた許容範囲内となるように当該IOサブシステム内のカウンタを変更することを特徴とするフォールトトレラントコンピュータ。
  3. CPU及び記憶装置へのアクセスを制御するCPUサブシステムと、前記CPUサブシステムに対する外部からのデータの入出力を制御するIOサブシステムとからなるシステムが二重化されて構成され、前記CPUサブシステムが、二重化されたシステム間にて共通のクロックで動作し、前記IOサブシステムが、非同期あるいは当該IOサブシステム内のカウンタによるクロックで動作して前記二重化されたシステム間におけるデータの入出力を制御するフォールトトレラントコンピュータの制御方法であって、
    一方のIOサブシステムから送信時刻を付与したデータを他方のIOサブシステムに送信する処理と、
    前記一方のIOサブシステムから送信されたデータを前記他方のIOサブシステムにて非同期にて受信する処理と、
    前記他方のIOサブシステムにおける前記データの受信時刻を記録する処理と、
    前記他方のIOサブシステムにて受信したデータに付与された送信時刻を用いて理想受信時刻を算出する処理と、
    前記理想受信時刻と前記他方のIOサブシステムにて記録された受信時刻とから、前記他方のIOサブシステムにおける前記一方のIOサブシステムに対するクロックのずれ量を算出する処理と、
    該算出結果に基づいて前記他方のIOサブシステム内のカウンタを変更する処理と、
    前記他方のIOサブシステムにて前記カウンタを用いた受信動作を行う処理とを有するフォールトトレラントコンピュータの制御方法。
  4. 請求項3に記載のフォールトトレラントコンピュータの制御方法において、
    少なくとも前記カウンタの1周期中におけるデータそれぞれについて前記ずれ量を算出する処理と、
    前記ずれ量が予め決められた許容範囲内となるように前記他方のIOサブシステム内のカウンタを変更する処理とを有することを特徴とするフォールトトレラントコンピュータの制御方法。

JP2004369388A 2004-12-21 2004-12-21 フォールトトレラントコンピュータ及びその制御方法 Expired - Fee Related JP4154610B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2004369388A JP4154610B2 (ja) 2004-12-21 2004-12-21 フォールトトレラントコンピュータ及びその制御方法
EP05026769A EP1674999A1 (en) 2004-12-21 2005-12-07 Fault-tolerant computer and method of controlling same
AU2005242207A AU2005242207A1 (en) 2004-12-21 2005-12-12 Fault-tolerant computer and method of controlling same
US11/305,122 US7694176B2 (en) 2004-12-21 2005-12-19 Fault-tolerant computer and method of controlling same
CA002531089A CA2531089A1 (en) 2004-12-21 2005-12-20 Fault-tolerant computer and method of controlling same
CNA2005100229083A CN1794194A (zh) 2004-12-21 2005-12-21 容错计算机及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004369388A JP4154610B2 (ja) 2004-12-21 2004-12-21 フォールトトレラントコンピュータ及びその制御方法

Publications (2)

Publication Number Publication Date
JP2006178617A true JP2006178617A (ja) 2006-07-06
JP4154610B2 JP4154610B2 (ja) 2008-09-24

Family

ID=35709228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004369388A Expired - Fee Related JP4154610B2 (ja) 2004-12-21 2004-12-21 フォールトトレラントコンピュータ及びその制御方法

Country Status (6)

Country Link
US (1) US7694176B2 (ja)
EP (1) EP1674999A1 (ja)
JP (1) JP4154610B2 (ja)
CN (1) CN1794194A (ja)
AU (1) AU2005242207A1 (ja)
CA (1) CA2531089A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009251854A (ja) * 2008-04-04 2009-10-29 Nec Corp データ処理装置及び同期方法
JP2012523616A (ja) * 2009-04-08 2012-10-04 フリースケール セミコンダクター インコーポレイテッド マルチプロセッサデータ処理システムにおけるデバッグシグナリング

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140204101A1 (en) 2011-11-30 2014-07-24 Murali Ramadoss Adaptive frame rate control for a graphics subsystem
CN110427336B (zh) * 2019-06-18 2022-11-18 苏州浪潮智能科技有限公司 一种cpu链路速率配置方法、系统、设备及计算机介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5812534A (en) * 1993-01-08 1998-09-22 Multi-Tech Systems, Inc. Voice over data conferencing for a computer-based personal communications system
US5943383A (en) * 1995-07-24 1999-08-24 Siemens Aktiengesellschaft Method of determining a receiver time at a reception instant of a transmission time marker contained in received data elements
JPH09200239A (ja) 1996-01-19 1997-07-31 Hitachi Ltd リング接続を用いたデータ転送方法及び情報処理システム
US5953742A (en) 1996-07-01 1999-09-14 Sun Microsystems, Inc. Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism
DE19832060C2 (de) * 1998-07-16 2000-07-06 Siemens Ag Doppelbare Prozessoreinrichtung
US6948092B2 (en) * 1998-12-10 2005-09-20 Hewlett-Packard Development Company, L.P. System recovery from errors for processor and associated components
US6577649B1 (en) * 1999-11-12 2003-06-10 International Business Machines Corporation Multiplexer for asynchronous data
DE10297008T5 (de) * 2001-06-25 2004-09-23 Marathon Technologies Corp., Boxborough Fehlertolerante Verarbeitung
DE10229110A1 (de) * 2001-09-26 2003-04-24 Siemens Ag Verfahren zur Synchronisation von Knoten eines Kommunikationssystems
ATE324717T1 (de) * 2001-11-28 2006-05-15 Bridgeco Ag Verfahren zur synchronisation in netzwerken
JP3846330B2 (ja) 2002-02-21 2006-11-15 富士電機システムズ株式会社 収集データの同期化方法及びデータ処理システム
JP3821806B2 (ja) 2002-08-30 2006-09-13 エヌイーシーコンピュータテクノ株式会社 フォールトトレラントコンピュータ、そのトランザクション同期制御方法及びプログラム
JP4492035B2 (ja) 2003-04-21 2010-06-30 日本電気株式会社 データ処理装置
US20060222126A1 (en) * 2005-03-31 2006-10-05 Stratus Technologies Bermuda Ltd. Systems and methods for maintaining synchronicity during signal transmission

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009251854A (ja) * 2008-04-04 2009-10-29 Nec Corp データ処理装置及び同期方法
JP2012523616A (ja) * 2009-04-08 2012-10-04 フリースケール セミコンダクター インコーポレイテッド マルチプロセッサデータ処理システムにおけるデバッグシグナリング

Also Published As

Publication number Publication date
AU2005242207A1 (en) 2006-07-06
CN1794194A (zh) 2006-06-28
US20060156061A1 (en) 2006-07-13
EP1674999A1 (en) 2006-06-28
CA2531089A1 (en) 2006-06-21
US7694176B2 (en) 2010-04-06
JP4154610B2 (ja) 2008-09-24

Similar Documents

Publication Publication Date Title
RU2579140C1 (ru) Физический уровень высокопроизводительного межсоединения
US7239681B2 (en) System and method for maintaining a stable synchronization state in a programmable clock synchronizer
CN101960770B (zh) 时钟同步系统、节点和时钟同步方法
US7093061B2 (en) FIFO module, deskew circuit and rate matching circuit having the same
US9474034B1 (en) Power reduction in a parallel data communications interface using clock resynchronization
JPH02247709A (ja) スキユー除去方法
JP5549575B2 (ja) 並列計算機システム、同期装置、並列計算機システムの制御方法
EP2039034A1 (en) Asynchronous data fifo that provides uninterrupted data flow
JP5772911B2 (ja) フォールトトレラントシステム
JP2006195602A (ja) システムクロック分配装置、システムクロック分配方法
JP4154610B2 (ja) フォールトトレラントコンピュータ及びその制御方法
CN103198050A (zh) 提供高完整性处理的方法
CN107636627B (zh) 时刻同步装置、时刻同步系统及时刻同步方法
US20210152322A1 (en) Communication apparatus, communication system, communication method, and computer readable medium
JP2002014185A (ja) 時刻同期化方式
KR20160055685A (ko) 링크 계층 신호 동기화
WO2012053078A1 (ja) 情報処理システム、記憶装置、情報処理装置、及び情報処理システムの制御方法
JP7224237B2 (ja) I/o制御装置
US20200133634A1 (en) Arithmetic processing apparatus and control method of arithmetic processing apparatus
JP2004310544A (ja) 非同期データ転送装置
JP5604799B2 (ja) フォールトトレラントコンピュータ
JP5380884B2 (ja) データ処理装置及び同期方法
JP2007193658A (ja) 半導体装置
TW201536016A (zh) 具同步機能之裝置與通訊系統以及同步方法
JP4753344B2 (ja) 分散コンピュータシステムの同期処理方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080326

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080516

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080624

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110718

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120718

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130718

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees