JP3600533B2 - Method and apparatus for synchronizing time of day (TOD) events between nodes - Google Patents
Method and apparatus for synchronizing time of day (TOD) events between nodes Download PDFInfo
- Publication number
- JP3600533B2 JP3600533B2 JP2001044648A JP2001044648A JP3600533B2 JP 3600533 B2 JP3600533 B2 JP 3600533B2 JP 2001044648 A JP2001044648 A JP 2001044648A JP 2001044648 A JP2001044648 A JP 2001044648A JP 3600533 B2 JP3600533 B2 JP 3600533B2
- Authority
- JP
- Japan
- Prior art keywords
- tod
- node
- value
- incrementer
- broadcast
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/14—Time supervision arrangements, e.g. real time clock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0685—Clock or time synchronisation in a node; Intranode synchronisation
Description
【0001】
【発明の属する技術分野】
本発明は、ノード間で時刻(TOD)イベントを同期させるために単一のTODインクリメンタに対する必要がある、分散並列処理システムのための方法および装置に関する。
【0002】
【従来の技術】
分散処理システム上で発生するTODイベントを正確に同期させるには、異なる2つのノード上で同時に読取られるTOD間の差が、その両ノード間のメッセージに対する最小待ち時間より小さくなければならず、継続的に増加していなければならない。今日これは、単一の中央TODリポジトリを有するか、または全てのノードにその値が伝達される単一のクロック(システム発信器)から全システムを稼働させることによってなされる。中央TODリポジトリの方式では、全てのノードがこの単一ノードに問い合せる必要があり、結果としてこれらの全ての問い合せが直列化され、アプリケーションを並列化することによって達成しようと意図した高速化を減少させるので、処理のボトルネックになる欠点がある。システム全体にその値が伝達される単一のシステム発信器を使用する方式には、ノード間で特定のリンクの稼働が必要になるという欠点があり、そうでなければシステムが故障する。大規模な分散システム上では、これらのリンクを、誤って引き抜かれる可能性のあるケーブルにする必要があるので、実際の懸念が存在する。
【0003】
【発明が解決しようとする課題】
本発明は、ハードウェアおよびソフトウェアの実現体により、前記公知技術の欠点を克服する。この実現体は、各ノードが、自分の局所発信器から自分のTODを増分し、更新を行うためのTODブロードキャスト・パケットを周期的に送信することによってそれらのTODを最小待ち時間以内に保つことを可能にする。本質的に本発明は、より大きな最大差を有するか、またはTODを同期的に作動させるためにクロックの値を配布することを必要としていた従来技術による解決とは反対に、クロックの値を配布する必要がなく、最大差が最小待ち時間より小さくなるように、分散システム全体の各ノードにTODインクリメンタを提供する。本発明を用いることにより、全てのノードにTODブロードキャスト・パケットが配布され、それにより単一の集中化されたTODソースの必要がなくなる。また、本発明によれば、(単一のシステム発信器を使用する方式のように)特定のケーブルが稼働中である必要もなくなる。「TODマスタ・チップ」(以下「TODマスタ」という)から各隣接ノードへのパスがある限り、TODは許容誤差以内に保たれる。
【0004】
【課題を解決するための手段】
本発明は、受信したTODブロードキャスト・パケットに基づいて各ノードが自分のTODを正確に更新するとともに、TODブロードキャスト・パケットを自分の全ての隣接ノードに配布するために、ハードウェアおよびソフトウェアの形式で実現されるスイッチ設計を利用する。本発明の方法および装置は、「TODマスタ」として指定されたスイッチに接続されたケーブルの遅延を計算する機能、およびTODブロードキャスト・パケットを受信し、計算されたケーブル遅延に基づき、そのTOD値を調整する機能を含む。本発明は、各ノードのTODを、値を減分することなく受信したTODブロードキャスト・パケット内のTOD値に調整する機能、およびTODブロードキャスト・パケットを各ノードの全ての隣接ノードに送信する機能をさらに含む。最後に述べた機能は、隣接ノードが特定のTODブロードキャスト・パケットを既に受信したかどうかを検出するために用いられ、その場合、受信したTODブロードキャスト・パケットは廃棄される(フィードバック・ループを終了する)。
【0005】
本発明の方法および装置において、新たに受信したTODブロードキャスト・パケット内のTOD値が各ノードのTODインクリメンタの値より大きいとき、TODの調整は、受信したTODブロードキャスト・パケット内のTOD値の単純なロードとすることができる。しかし、TODインクリメンタの値が受信したTODブロードキャスト・パケット内のTOD値より大きい場合には、TODインクリメンタの値は、その差がなくなるまで、保持されるか、より遅い速度で増分されなければならない。(本発明による設計において、TODインクリメンタの値は、通常のスピードで増分されている受信したTOD値に一致するまでは、端数値、例えば半分のスピードで増分される。)
【0006】
システムの見地から見ると、本発明は、「TODマスタ」になるべき単一のスイッチまたはノードを選択する機能と共に実現される。この「TODマスタ」は、自分の全ての隣接ノードに対し、TODブロードキャスト・パケットを周期的に送信する。TODブロードキャスト・パケットは、現在のTOD値および(フィードバック・ループを検出するために使用される)シーケンスIDを保持する。また、TODブロードキャスト・パケットは、これが通常のデータ・パケットではなくTODブロードキャスト・パケットであることを示すフラグ、および当該パケット内の誤りを検出するためのチェックサムも保持することができる。システムの信頼性のために、「TODマスタ」を監視し、そのチップが故障したときにその機能を引き継ぐバックアップを提供することができる。
【0007】
【発明の実施の形態】
<分散コンピューティング環境>
次に図面をより詳細に参照すると、この中で幾つかの図を通して、同じ番号は同じ部分を指す。図1は、複数のネットワーク・アタプタ104を介して互いに結合された複数のノード102を含む分散コンピューティング環境100のブロック図である。各ノード102は、自分自身のオペレーティング・システム・イメージ108、システム・メモリ・バス118上のメモリ110およびプロセッサ106を有する独立したコンピュータであり、システム入出力バス116は、入出力アタプタ112とネットワーク・アタプタ104を結合する。各ネットワーク・アタプタ104は、ネットワーク・スイッチ120を介して互いにリンクされる。
【0008】
一例において、分散コンピューティング環境100は、1つ以上のプロセッサ106を有するN個のノード102を含む。各ノード102は、AIX(IBM版のUNIXオペレーティング・システム)を実行するRISC/6000コンピュータとすることができる。ノード102の幾つかまたは全ては、異なるタイプのコンピュータおよび/または異なるオペレーティング・システム108を含むことができる。
【0009】
図2は、本発明による、図1の分散コンピューティング環境100の幾つかのノード102の拡大図を示す。一実施形態では、本発明の機構を組み込んだグループ・サービス206が分散コンピューティング環境100の複数のノード102間に分散配置される。一例において、1つ以上のノード102内に、グループ・サービス・デーモン(図示せず)が配置される。グループ・サービス・デーモンを、集合的にグループ・サービス206と呼ぶ。
【0010】
グループ・サービス206は、例えばプロセス・グループの複数のプロセス間の通信および同期を容易にし、例えば分散回復同期機構の提供を含む様々な状況において用いられる。グループ・サービス206の機構の使用を希望するアプリケーション・プロセス202は、グループ・サービス・デーモンに結合される。詳細には、このアプリケーション・プロセス202は、グループ・サービス206に関連付けられたコード(例えばライブラリ・コード)の少なくとも一部を自分自身のコード中にリンクすることによって、グループ・サービス206に結合される。一実施形態に従えば、アプリケーション・プロセス202は、アプリケーション・プログラミング・インタフェース(API)204を介して本発明の機構を用いる。詳細には、API204は、アプリケーション・プロセス202が本発明の機構を使用するためのインタフェースを提供する。
【0011】
図3は、図1の分散コンピューティング環境100が128ウェイのプロセッサから構成される場合の、分散システム300の一実施形態の略図を示す。分散システム300は、諸ノード302(この実施形態ではワークステーション)から成り、ネットワーク・スイッチ120を介して接続される。ネットワーク・スイッチ120は、2種類のスイッチ、すなわち、ノード・スイッチ・ボード(NSB)304および中間スイッチ・ボード(ISB)306から成る。NSB304とISB306の間の相違は、ISB306が単にスイッチだけを接続するのに対して、NSB304は、スイッチとノードの両方を接続することである。NSB304およびISB306は同一であり、単に異なるコンポーネントに接続するに過ぎない。
【0012】
<スイッチ・ボードおよびTODハードウェア>
図4は、単一のスイッチ・ボード304を示す。スイッチ・ボード304は、互いに接続され且つ1から8のラベルを付けられた、8つのスイッチ・チップ402から成る。図5は、通常のスイッチ・チップ402のメイン・データ・パス502〜504を示すが、図5は、本明細書に述べる本発明を処理する如何なる接続または論理回路も含まない。図6は、本発明に必要な追加の接続およびブロックを示す。かかる追加の論理回路には、TOD論理回路602およびサービス論理回路604が含まれる。TOD論理回路602は図7に示され、以下により詳細に述べる。サービス論理回路604は、電源投入時にTODマスタ内のTODレジスタ702を初期化するのに必要な任意の論理回路から成る。また、図6は、全てのレシーバ606からTOD論理回路602への接続、およびTOD論理回路602から全てのセンダ612への接続も示す。これらの接続は、TODブロードキャスト・パケットを受信するレシーバ606がそのTODブロードキャスト・パケットをTOD論理回路602に伝達すること、およびTOD論理回路602がそのTODブロードキャスト・パケットを全てのセンダ612から送信することを可能にするために必要とされる。他の実施形態では、センダ612がレシーバ606からTODブロードキャスト・パケットを直接受信できることに留意されたい。
【0013】
電源投入時にシステム管理者は、あるスイッチ・チップ402またはノード302を「TODマスタ」として選択する。また、システム管理者は、「TODマスタ」内のTOD値を初期化する。次いで、「TODマスタ」は、「メタサイクル」毎にTODブロードキャスト・パケットを自動的に生成する。システム内の残りのスイッチ・チップ402は、これらのTODブロードキャスト・パケットを受信するときに、以下に述べるようにそれぞれのTOD値を更新する。
【0014】
図7において、基本的なTOD論理回路602は、2つの主要レジスタ:TODレジスタ702およびTODブロードキャスト・レジスタ706から成る。TODブロードキャスト・レジスタ706は、TODマスタからTODを更新する際に、TODが決して減分されないことを保証するために必要とされる。すなわち、要件によれば、TODは常に増加していなければならない。殆どの場合、TODブロードキャスト・レジスタ706は、TODレジスタ702を75MHzサイクル毎にロードするために使用される。実際には、インクリメンタ716を用いてTODブロードキャスト・レジスタ706の値を増分することが行われる。しかし、TODレジスタ702は、それ自体にフィードバックすること(718)、半分のスピードで増分すること(717)、TOD設定パケットまたはTODマスタの何れかからロードすること(724または726)が可能でなければならない。同様に、TODブロードキャスト・レジスタ706は、前述のように、増分すること(730)、それ自体にフィードバックすること(728)、更新およびロードを取ることが可能でなければならない。
【0015】
ブロードキャストおよびTOD設定検出論理回路708は、TODマスタからのTODブロードキャスト・パケットか、またはTOD設定パケットの何れかからの受信TOD値があるかどうかを判定する。TODブロードキャスト・パケットを受信中である場合、そのTOD値は、SVCバス722を介してレシーバ606から来る。TOD設定パケットを受信中である場合、そのTOD値は、SVCリング712から来る。
【0016】
75MHzエッジ検出論理回路704は、所定のTOD周波数で動作することを参照しながら以下にさらに述べるが、与えられた例では、この周波数は75MHzであり、TODの増分をゲート制御するために使用される。
【0017】
マスタ・ブロードキャスト生成論理回路710は、以下にさらに説明するように、TODレジスタ702を見て、一定のTODサイクル数毎に、バス729上のTODブロードキャスト・パケットの伝達を起動する。与えられた例では、このメタサイクルは(ビット16がフリップするときの)65536 TODサイクルに等しい。伝達の詳細は既に与えられた。これはTODマスタ上でのみ行われる。
【0018】
<TODプロセス・フロー>
当業者には知られているが、各ノード302内では、バスが複数のスイッチ・チップ402またはアタプタを相互接続する。図8および図9の流れ図を参照すると、ソフトウェアの実現体(スイッチ初期化コード)により、ステップS1では、1つのスイッチ・チップ402またはアタプタが、「TODマスタ」として選択される。TODマスタが選択された後に、ハードウェアは、(ステップS2およびS4で、中央コントローラから通信されたTOD設定パケットを介して)TODが設定されるのを待機する。ステップS6では、TODマスタが、全てのスイッチ・チップ402およびアタプタにTODを自動的に伝達する。
【0019】
伝達段階中に、ハードウェアは、ケーブルおよび中間スイッチ内の遅延に対して、TODを自動的に調整する。従って、TOD伝達の最後に、システム内の全てのTODは、互いに数サイクル以内になるはずである(正確性は、スイッチ・ボード304当たり約3サイクルのはずである)。また、全てのスイッチ・ボード304上の非同期クロックを処理するために、「TODマスタ」は、ステップS22で、以下に「メタサイクル」と呼ぶX回のTODサイクル毎、例えば872マイクロ秒に対応する65536 TODサイクル毎に、TODを伝達するはずである。TODサイクルは、Y周波数、例えばサイクル当たり13.3nsに対応する75MHzで動作する。与えられた例では、これは、TODのビット16(ビット0、最下位ビット)がフリップする毎に伝達が発生することを意味する。この「メタサイクル」に基づくTODの伝達は、発信器の許容誤差を調整し、TODを互いに近くに保つはずである。また、「TODマスタ」は、TOD設定パケットの受信に続いて、自分のTODを直ちに伝達する。メタサイクルが完了するまで、流れはステップS4にループ・バックし、伝達は発生しない。ソフトウェアは、RAM、ROMまたは3.5インチ・ディスケット、CD ROMなど何らかのコンピュータ可読媒体に実施され、これは、当業者に知られている方法を用いてTOD論理回路602にロードされる。
【0020】
ステップS1で、ソフトウェアが「TODマスタ」を選択できるようにするために、初期化パケットに1ビット追加される。このビットが初期化パケット内で設定されるとき、「TODマスタ」は、TODの最上位ビットが設定されるまでは、その初期化パケットに対して活動しない。TODの最上位ビットは、有効ビットと定義される。あるチップがTODマスタとして選択されると、そのTODが設定されなければならない。ステップS2で、これはTOD設定パケットでなされる。
【0021】
ソフトウェアは、ただ1つのチップを「TODマスタ」として定義しなければならない。複数のチップが自分をTODマスタであると考える場合、その2つのチップが残りのチップを更新しようと互いに戦い、その結果、システム全体で異なるTODをもたらすだろう。もし、TODの伝達中に、あるTODマスタが、自分が最も最近送ったのと異なるシーケンスIDを有するTODブロードキャスト・パケットを受信すれば、そのチップは、無効TOD伝達誤りのフラグをたてるはずである。
【0022】
ステップS2で、ソフトウェアは、TOD設定パケットを「TODマスタ」に送信することにより、その中のTODの最上位ビットを設定する。あるスイッチ・チップ402に、それが「TODマスタ」であると告げる前記ビットは、電源投入リセットが起こるときはいつもリセットされる。また、ソフトウェアは、そのビットをオフにした新たな初期化パケットをそのチップに送信することにより、そのビットをリセットすることができる。ステップS4から明らかなように、TODの伝達は、TODマスタのTODが有効とマークされる場合にのみ起こる。ステップS6に示すように、TODの伝達は、前述の与えられた例では、65535 TODサイクル(872us)毎に起こり、それが起こると、「TODマスタ」は、その全てのセンダ612、例えば8個のセンダ612にTODを送信するように知らせることにより、そのTODをシステム全体に伝達する。センダ612にかかる通知のための信号が送られると、ステップS7で、それらのセンダは、TODを取り込み、データ・フローに割込みをかけ、ステップS8で、TOD制御ワードに続いてTODを保持する2ワードを送信し、次いで通常の動作を継続する。しかし、前記のとおり、TODの伝達は、ステップS2においてTODマスタのTODが有効とマークされる場合にのみ起こる。
【0023】
TOD制御ワードは、それがTOD制御ワードであることを示す1バイト、1バイトのシーケンスID、更新制御ビット、および8ビットのECCを保持している。シーケンスIDは、それぞれのTODが伝達した後に増分され、TODブロードキャスト・パケットのフィードバック・ループを消去するために用いられる。更新制御ビットは、たとえ2つのTODに著しい差があっても、受信チップのTODをこの値に更新すべきであることを示すために用いられる。8ビットのECCは、TOD値の64ビット上のECC(64ビット・マルチキャスト・ノード・マスク上で用いられるのと同じECCアルゴリズム)である。ECCが不正であれば、このTODブロードキャスト・パケットは無視される。
【0024】
ステップS9で、「TODマスタ」の隣のチップは、それらのレシーバ606の1つ、例えば8個の受信ポート上でTOD制御キャラクタを受信する。レシーバ606のポートがTOD制御キャラクタを受信すると、ステップS10で、TOD論理回路602に信号を送り、その論理回路にシーケンスIDを与える。ステップS11で、TOD論理回路602は、比較器713を用いて、そのシーケンスIDと最終シーケンスIDレジスタを比較する。ステップS12で、これらのシーケンスIDが同一であると判定される場合、TOD制御キャラクタは無視される(このチップはこのTOD更新を既に受信している)。他方、ステップS12で、これらのシーケンスIDが異なっていると判定される場合、ステップS14で、新たなシーケンスIDが最終シーケンスIDレジスタに格納され、ステップS15で、この新たなTODがケーブル遅延を調整するために更新され、ステップS19で、TODレジスタ702を変更するために更新後TODが使用され、ステップS20で、更新後TODを送信するように全ての送信ポートに信号が送られる。
【0025】
ステップS16で、更新制御ビットが設定されていると判定される場合、またはステップS17で、受信したTOD値が現在のTOD値より大きいと判定される場合、更新後TODをTODレジスタ702に書き込むことによって、TODレジスタ702が更新される。他方、受信したTOD値が現在のTOD値より小さく、且つ更新制御ビットがオフである場合、ステップS18で、その差が調整されるまで、1/2サイクル・インクリメンタ717を用いて1つおきのTODサイクル(26.6ns)毎に現在のTOD値が増分される。この機能は、TOD値が継続的に増加する(決して減少しない)ことを保証する。ステップS21において、TODレジスタ702がTODブロードキャスト・レジスタ706に等しいかどうかの判定が行われる。
【0026】
送信論理回路は、ポートの受信側から、それが受信した最終シーケンスIDを受信する。中央TOD論理回路602内の最終シーケンスIDレジスタが、当該ポートが受信した最終シーケンスIDと異なる場合、センダ612は、TOD論理回路602から信号が送られると、センダ612は、TOD制御キャラクタだけを送信する。この制限は、システム内のTOD制御キャラクタの数を可能な限り迅速に減少させるために必要である。しかし、レシーバ606が冗長なTOD制御キャラクタを廃棄するので、たとえセンダ612が同じTOD制御キャラクタを受信しながらTOD制御キャラクタを送信しても、この設計は依然として機能する。
【0027】
TODマスタにおいてTOD設定パケットを受信した後にTOD伝達が行われる場合、TODロード命令が実行される(更新ビットが設定される)。この場合、TODが現在のTOD値より大きいことはテストされない。伝達されたTODは、その値に関係なくロードされる。
【0028】
本発明は、初期化状態(Ping状態)を使用して、スイッチ間のケーブル遅延を計算する。すなわち、Ping制御キャラクタを送信し、Pongキャラクタ応答を受信する前のTODサイクルの数(この例ではTOD周波数は75MHz)をカウントするように設計されている。次いで、この遅延を2で割って、ケーブル遅延を得る(この遅延はケーブルおよび全てのチップ待ち時間を含む)。2での除算は、カウントを右に1ビットだけシフトすることによって達成される(従って、正確性はおよそプラス・マイナス1サイクルである)。これに基づけば、この設計の最悪状況下のTODの不正確性は、「TODマスタ」からスイッチ・ボードを移る毎にプラス・マイナス3サイクルである。
【0029】
TODは、2つの理由、すなわちケーブル遅延およびセンダ612内におけるEDCサイクルとの衝突のために、伝達中に調整される。センダ612とレシーバ606の間のケーブルにおいて様々な遅延があるので、TODはレシーバ606に到着するときに修正される。TODにケーブル遅延が加えられ、その結果、そのTODがサービス論理回路604に到着するときに遙かに正確になる。TODが転送を要求しているときにEDCが送信中であるためにセンダ612がTODを転送できない場合、センダ612は、TODが遅延されなければならない全てのサイクルに対してTODを増分する。これにより、TODがサービス論理回路604に到着するときのTODの正確性が改善する。
【0030】
全てのスイッチ・ボード304は、2つの75MHzの発信器を有する(スイッチ・チップ402の内部では、これを2で除して37.5MHzの発信器を作り出す)。この発信器は、スイッチ・チップ402に対し、それらのTODレジスタ702をいつ増分するかの信号を送るために用いられる。各スイッチ・チップ402は、結果としての37.5MHzクロック上で遷移を探す。入力は、125MHzクロックから同期読み出しされる2つのラッチ(図示せず)を介して走行する。出力上で遷移が見られるとき、センダ612、レシーバ606、および中央TOD論理回路602の全てには、それらのTOD値を増分するよう信号が送られる。レシーバ606は、この信号を用いて、Ping状態においてリンクのタイミングを合わせるときにカウンタをゲート制御するとともに、当該レシーバが中央待ち行列にチャンクを書き出すのにビジーであるために遅延するTODを増分する。センダ612は、この信号を用いて、EDCが送信中であるために遅延するTODを増分する。
【0031】
スイッチ・チップ402は、当該ボード上の全ての単一点の障害を回避するために、2つの75MHzクロックを備える。もし、あるスイッチ・チップ402が、その「プライマリ」75MHz発信器がトグルしていないことを検出する場合、そのスイッチ・チップは、バック・アップ入力に切り換える。従って、ボードが障害を起こすには、両方の75MHz発信器が障害を起こさなければならない。これらの発信器は、再励振のために2つの異なるチップを経由され、当該ボードの半分は、そのプライマリとして1つの発信器を使用し、当該ボードの他の半分は、他方の発信器を使用する。
【0032】
高位のTODワードの最上位ビットは、TODのための有効ビットとして使用される。TODが有効と見なされるためには、そのビットがオンでなければならない。従って、TODが有効であるためには、TOD設定パケットがハイの最上位ビットを有しなければならない。もし、TODマスタにおいてTODが有効でなければ、そのTODは伝達されない。TODを無効化する理由は、以下の通りである。
1.TODレジスタ702上でパリティ誤りがある。
a)それがブロードキャスト上だけのパリティ誤りの場合、TODブロードキャスト・レジスタ706およびTODレジスタ702の両方が無効化される。
b)それがTODレジスタ702上だけのパリティ誤りの場合、TODレジスタ702は無効化されるがTODブロードキャスト・レジスタ706は無効化されない。むしろ、TODレジスタ702をロードし、従ってTODパリティ誤りから回復するためにそれを使用することができる。
2.8個の連続する「メタサイクル」の間に、スレーブTODチップがブロードキャスト更新を受信しない場合、そのTODは無効化される。なぜなら、そのTODがシステムの残りと同期が取れていることを保証できないからである。「メタサイクル」は、一定のサイクル数から成る。与えられた例では、この一定の数が65535 TODサイクルである。与えられた例のTODサイクルは13.3ns(75MHz)である。
【図面の簡単な説明】
【図1】分散コンピューティング環境のブロック図である。
【図2】図1の分散コンピューティング環境の幾つかのノードの拡大図である。
【図3】図1の分散コンピューティング環境が128ウェイのプロセッサから構成される場合の、分散システムの実施形態を示す略図である。
【図4】図3の分散システムのスイッチ・ボードの略図である。
【図5】本発明による(サービス論理回路を含まない)スイッチ・チップの略図である。
【図6】本発明による、新規なTOD論理回路とサービス論理回路の接続を示すスイッチ・チップの略図である。
【図7】TODマスタの最高レベルの制御論理回路を示す略図である。
【図8】本発明の方法および装置の本質的側面を示す流れ図である。
【図9】本発明の方法および装置の本質的側面を示す流れ図である。
【符号の説明】
102 ノード1
104 ネットワーク・アダプタ
106 プロセッサ
108 AIX全体イメージ
110 メモリ
112 入出力アダプタ
114 チャネル・コントローラ
116 システム入出力バス
120 ネットワーク・スイッチ[0001]
TECHNICAL FIELD OF THE INVENTION
The present inventionTo synchronize time of day (TOD) events between nodessingleofTODIncrementerNeed to,Distributed parallel processing systemOfMethod and apparatus.
[0002]
[Prior art]
Occurs on a distributed processing systemTODEvents exactlySyncTwo differentnodeBetween TODs read simultaneously onDifferenceBut bothnodeIt must be less than the minimum latency for messages in between and must be continually increasing. Today this has a single central TOD repository or allNoーThe valueSingle clock transmitted(System transmitter)OrAllThis is done by running the system. CenterTODRepositoryMethodThenallAll nodes need to query this single node, and consequently all these queries are serialized, reducing the speedups intended to be achieved by parallelizing the application, thus creating a processing bottleneck. There are disadvantages. System wideIts value isSingle transmittedofUse system transmittermethodTo,Specific betweenLink activationIs required, otherwise the system will fail. On large distributed systems, theseLinkThere is a real concern, since it needs to be a cable that can be accidentally pulled out.
[0003]
[Problems to be solved by the invention]
The present inventionHardware and software implementations overcome the shortcomings of the known art. This realization isMode isOwnLocal transmitterSelfIncrements the TOD in minutes, UpdateNewPeriodically send TOD broadcast packets to performBy doing themTODCan be kept within the minimum waiting timeYou.In essence, the present inventionGreat differenceHave orIs TODSynchronouslyClock to operateThe value of theDistributeClothToNeeded thatIn contrast to the prior art solution, the clockThe value of theDistributeClothNeed toButNoGreat differenceThe entire distributed system so that is less than the minimum latencyEach nodeProvide a TOD incrementer. By using the present invention, allNoModeTo TODBroadcast packetIs arrangedClothThis eliminates the need for a single centralized TOD source.Also,According to the inventionIf,(singleofSystem transmitterMethod usingCertain cables)OperationMust be insideMonaIt becomes. "TOD MassChip ”(hereinafter referred to as“ TOD master ”)FromEach neighborAs long as there is a path to the node, the TOD is kept within tolerance.
[0004]
[Means for Solving the Problems]
The present inventionBeliefTODWhile each node updates its TOD accurately based on the broadcast packet,Tod broadcast packets to all neighborsDistribute to nodesHardware and softwareIn the form ofTake advantage of the switch design used. The method and apparatus of the present invention are described in "TOD Mass"AsDesignationFunction to calculate the delay of the cable connected to the connected switch, andAnd TOD broadcast packet receivedFaithAnd calculated cable delayAdjust the TOD value based onIncludes the ability to The present inventionOf each nodeTOD is received without decrementing the value.BeliefTOD broadcast packetInsideofTODFunction to adjust the value and the TOD broadcast packetEach nodeAll neighbors ofnodeSent toTrustFunction. The last mentioned feature isnodeIs specificTOD broadcast packetAlready receivedBeliefIs used to detect ifBeliefWasTOD BroadcastThe packet is discarded (ending the feedback loop).
[0005]
The method and apparatus of the present inventionBeliefWasTOD in TOD broadcast packetvalueTOD incrementer value of each nodeGreater than, TODofAdjustments areBeliefWasTODbroadcast・ TOD in packetIt can be a simple load of a value. However, TOD incrementer valueIs receivedBeliefWasTODbroadcast・ TOD value in packetIf greater,TOD incrementer valueIsThe differenceMust be held or incremented at a slower rate until there is no more. (In the design according to the present inventionOf the TOD incrementerThe value is the value incremented at normal speed.BeliefWasTODUntil the value is matched, it is incremented at a fractional value, eg, half the speed. )
[0006]
From a system point of view, the present invention relates to “TOD mass"becomeShouldRuns with the ability to select a single switch or nodePresentIs done. This "TOD mass"Is all my neighborsnodeToOn the other hand,TOD broadcast packetPeriodicallySendingI believe.The TOD broadcast packet contains the current TOD value and (used to detect feedback loops)Sequence IDToHold.Also,The TOD broadcast packet isThis isFlag indicating that the packet is a TOD broadcast packet instead of a normal data packet.And thepacketInsideChecksum for detecting errorsAlso keepbe able to. For the reliability of the system,"To provide a backup that takes over its function if the chip fails.
[0007]
BEST MODE FOR CARRYING OUT THE INVENTION
<Distributed computing environment>
Turning now to the drawings in more detail, in whichHow manyLike numbers refer to like parts throughout the figures.You.FIG. 1 is a block diagram of a distributed computing environment 100 that includes a plurality of
[0008]
In one example, the distributed computing environment 100 includes onethat's
[0009]
FIG.Is, According to the present invention, of the distributed computing environment 100 of FIG.How manyTsukaNoFIG. In one embodiment, a
[0010]
Group services206Is used in various situations, for example, to facilitate communication and synchronization between multiple processes in a process group, including, for example, providing a distributed recovery synchronization mechanism.You.I want to use the group services 206 mechanismapplication·
[0011]
FIG.Is,The distributed computing environment 100 of FIG.128 waysofProcessorWhen consisting ofOne embodiment of distributed system 300State ofA schematic diagram is shown. The
[0012]
<Switch board and TOD hardware>
Figure 4 shows a single switch board304Is shown. The switch board 304Each otherConnected toandLabeled 1 to 8,Consists of eight
[0013]
At power on, the system
[0014]
In FIG., BasisBasic TOD theoryReasonRoad 602TwoMainRegister: Consists of
[0015]
Broadcast and TOD
[0016]
The 75 MHz edge
[0017]
The master
[0018]
<TOD process flow>
ThisKnown to the traderBut, Each node 30Inside
[0019]
During the transmission phase,The hardware isFor delays in cables and intermediate switches, TAdjust OD automatically.SubordinateWhat,At the end of TOD transmission,allAll TODs should be within a few cycles of each other (accuracy should be about 3 cycles per
[0020]
Step S1SoSoftware"TODMasterIs added to the initialization packet by one bit. This bit is the initialization packetInsideWhen set in"TOD Master"Until the most significant bit of TOD is set, ThatofInitialization packetDo not act on The most significant bit of TOD isEffectivenessDefined as bits.is thereChipsIs TODMaster, Its TOD must be set. Step S2so,This is done with a TOD configuration packet.
[0021]
Software uses only one chip"TODMaster"Whendo itMust be defined. Multiple chipsTOD master, The two chips fight each other to update the remaining chips, and as a result,Will result in different TODs throughout the system.if,During transmission of TOD, A TOD massIsDifferent from the one I sent most recentlyRushiTOD with sequence IDBroadcast packetReceivingIf you believe, The chipInvalidIt should flag a TOD transmission error.
[0022]
Step S2so,The software isTODSet packet"TODMasterSent toTrustThus, the most significant bit of the TOD in that is set.is thereOn the
[0023]
The TOD control word contains a 1-byte, 1-byte sequence ID, an update control bit, and an 8-bit ECC to indicate that it is a TOD control word.keeping. The sequence ID isRespectivelyIs incremented after the TOD of theTODbroadcast·packetUsed to eliminate the feedback loop of The update control bit, even if two TODsDifferenceEven if there isFaithUsed to indicate that the chip TOD should be updated to this value. The 8-bit ECC is the ECC 64 bits above the TOD value (the same ECC algorithm used on the 64-bit multicast node mask). If ECC is invalid, this TOD broadcast·packetIs ignored.
[0024]
Step S9, "TODMasterNext to their receivers 606One, for example eightFaithTOD on portcontrolReceive characterTrustYou. Receiver 606Port receives the TOD control characterTrustThenIn step S10,A signal is sent to the
[0025]
In step S16, the update control bitIs setSetIs determined to beOr step S17In, receiveTOD value is greater than current TOD valueIs determined asIn this case, the
[0026]
SendingFaithThe logic circuit receives the portFaithFrom the sideBeliefThe bestEndSequence IDTrustYou. Central TOD logic circuit 602InsideIs the last sequence ID register ofTheIf the port is different from the last sequence ID received, the
[0027]
TODMasterReceives the TOD setting packetBeliefWhen the TOD transmission is performed after the execution, the TOD load instruction is executed (the update bit is set). In this case, the TOD is greater than the current TOD valueIsNot tested. The transmitted TOD is loaded regardless of its value.
[0028]
The present inventionThe cable delay between switches is calculated using the initialization state (Ping state). That is,Send Ping control characterBefore receiving the Pong character responseTOD cycleofnumber(In this example, the TOD frequency is 75 MHz)Designed to counting.Then,Divide this delay by two,Get the cable delay (this delay includes the cable and all chip latency). Division by 2 moves the count to the right by 1 bitJust shiftIs achieved by doingSubordinateWhat,Accuracy is approximately plus or minus one cycle). Based on this, the worst of this designUnder circumstancesThe inaccuracy of TOD is"TODMaster”Plus or minus three cycles each time the switch board is moved.
[0029]
TOD has two reasons: cable delay and sender.612Collision with EDC cycleforAdjusted during transmission. Sender612And receiver606Because there are various delays in the cable between606Will be corrected when you arrive. Cable delay added to TOD, resulting in,When the TOD arrives at the service logic 604HarukaOrPositiveBe certain. TODButtransferToEDC sent when requestingInsideTo send612Cannot send TOD,612Means that TOD is delayedIt must beIncrement TOD for every cycle. This improves the accuracy of the TOD when it arrives at
[0030]
All
[0031]
The switch chip 402TheTwo 75 MHz clocks are provided to avoid any single point of failure on the board.If there isThe switch chip 402primary"75MHz transmitterToggleIf not, the switch chip switches to the backup input.SubordinateWhat,For the board to fail, both 75MHz oscillators must fail.theseThe transmitter is routed through two different chips for re-excitation,TheHalf of the board uses one transmitter as its primary,TheThe other half of the board uses the other oscillator.
[0032]
The most significant bit of the higher order TOD word isEffectivenessUsed as a bit. TODEffectivenessThe bit must be on to be considered.SubordinateWhat,TODEffectivenessTo be a TOD settingpacketButHighThe most significant bitYesMust.If TODMasterIn TODEffectivenessDenaif, The TOD is not transmitted. TODInvalidationThe reason for,It is as follows.
1. There is a parity error on
a) TOD broadcast if it is a parity error only on broadcast・ Register 706And both TOD register 702InvalidationIs done.
b) If it is a parity error only on
2.8 consecutive"Me"Tacycle"To,sushiーTOD chip receives broadcast updateBeliefIf not,The TOD is invalidated. BecauseCan't guarantee that the TOD is in sync with the rest of the systemIs from. "Metacycle" is based on a certain number of cyclesBecome.In the example given,This fixed number is the 65535 TOD cycle. The TOD cycle for the given example is 13.3 ns (75 MHz).
[Brief description of the drawings]
FIG.Distributed coComputing environmentIt is a block diagram.
FIG. 2Figure1 of distributed computing environmentHow manyTsukaNoEnlarged view of modeIs.
FIG. 3The distributed computing environment in Fig. 1128 waysofProcessorWhen consisting ofDistributed systemFruitShapingShow conditionIt is a schematic diagram.
FIG. 4Figure3 is a schematic diagram of a switch board of the distributed system No. 3;
FIG. 5 is a schematic diagram of a switch chip (not including service logic) according to the present invention.
FIG. 6 is a schematic diagram of a switch chip showing the connection of the novel TOD logic and service logic according to the present invention.
FIG. 7: TOD massOf5 is a schematic diagram showing the highest level control logic.
FIG. 8 is a flowchart illustrating essential aspects of the method and apparatus of the present invention.
FIG. 9 is a flowchart illustrating essential aspects of the method and apparatus of the present invention.
[Explanation of symbols]
102
104 Network Adapter
106 processor
108 AIX Overall Image
110 memory
112 I / O adapter
114 channel controller
116 System I / O bus
120 Network Switch
Claims (10)
(a)各ノード内の前記TODインクリメンタを、当該TODインクリメンタに結合され且つ所定の周波数で動作する当該各ノード内の局所発信器から局所的に増分するステップと、
(b)前記複数のノードのうち選択された1つのノードとの通信リンクを有する中央コントローラから、前記通信リンクを介して前記1つのノードにTOD設定パケットを送信し、当該パケット内の初期TOD値を前記1つのノードに設定することにより、前記1つのノードをマスタ・ノードとして指定するステップと、
(c)前記マスタ・ノード内のレジスタが前記所定の周波数の所定のサイクル数をカウントしたことに応答して、前記マスタ・ノード内で生成されたTODブロードキャスト・パケットを、前記マスタ・ノード内の前記TODインクリメンタに基づき、送信パスを介して前記マスタ・ノードに隣接するノードにブロードキャストするステップと、
(d)前記隣接するノードの各々において、前記マスタ・ノードから前記TODブロードキャスト・パケットを受信したことに応答して、前記受信したTODブロードキャスト・パケット内の更新用のTOD値を当該各ノード内の前記TODインクリメンタの値と比較し、前記更新用のTOD値が前記TODインクリメンタの値より大きい場合は、前記TODインクリメンタの値を前記更新用のTOD値に等しく更新し、前記更新用のTOD値が前記TODインクリメンタの値より小さい場合は、前記TODインクリメンタの値が前記更新用のTOD値に達するまで、前記TODインクリメンタを前記所定の周波数よりも低い周波数のサイクルで増分するステップとを含む方法。A method of synchronizing a time-of-day (TOD) events between a plurality of adjacent to that node which made knitting so as to form a distributed parallel processing system, each node includes a TOD incrementer,
The TOD incrementer in (a) each node, the method comprising topically oscillator or found locally Incremented of the in each node acting and coupled to said TOD incrementer at a predetermined frequency,
(B) transmitting a TOD setting packet from the central controller having a communication link to the selected one of the plurality of nodes to the one node via the communication link, and setting an initial TOD value in the packet; by setting the one node, a step of specifying the one node as a master node,
(C) responding to the register in the master node counting a predetermined number of cycles of the predetermined frequency , transmitting the TOD broadcast packet generated in the master node to the master node; a step of based on said TOD incrementer, to broadcast to nodes adjacent to the master node through the transmission path,
(D) in each of the neighboring nodes, in response to the said master node receives the TOD broadcast packet, the TOD value for the update in the TOD broadcast packets the reception of the in each node Compared with the value of the TOD incrementer, if the updated TOD value is greater than the value of the TOD incrementer, the value of the TOD incrementer is updated to be equal to the updated TOD value, and If the TOD value is less than the value of the TOD incrementer, incrementing the TOD incrementer in cycles of a frequency lower than the predetermined frequency until the value of the TOD incrementer reaches the updating TOD value. And a method comprising:
前記複数のノードの各々にそれぞれ設けられ、前記各ノード内の前記TODインクリメンタを局所的に増分するように当該TODインクリメンタに結合され且つ所定の周波数で動作する少なくとも1つの局所発信器と、
前記複数のノードのうち選択された1つのノードとの通信リンクを介して前記1つのノードにTOD設定パケットを送信し、当該パケット内の初期TOD値を前記1つのノード に設定することにより、前記1つのノードをマスタ・ノードとして構成する中央コントローラとを備え、
前記マスタ・ノードが、
前記マスタ・ノードに隣接するノードにブロードキャストすべきTOD更新用のTODブロードキャスト・パケットを生成する手段と、
前記所定の周波数の所定のサイクル数をカウントするレジスタと、
前記レジスタに応答して、前記TODブロードキャスト・パケットを、前記マスタ・ノード内の前記TODインクリメンタに基づき、送信パスを介して前記隣接するノードにブロードキャストする手段とを有し、
前記隣接するノードの各々が、
前記マスタ・ノードから前記TODブロードキャスト・パケットを受信する手段と、
前記受信したTODブロードキャスト・パケット内の更新用のTOD値を当該各ノード内の前記TODインクリメンタの値と比較する手段と、
前記更新用のTOD値が前記TODインクリメンタの値より大きい場合は、前記TODインクリメンタの値を前記更新用のTOD値に等しく更新する手段と、
前記更新用のTOD値が前記TODインクリメンタの値より小さい場合は、前記TODインクリメンタの値が前記更新用のTOD値に達するまで、前記TODインクリメンタを前記所定の周波数よりも低い周波数のサイクルで増分する手段とを有する、装置。An apparatus for synchronizing a plurality of adjacent to that node between in time-of-day (TOD) event was made knitting so as to form a distributed parallel processing system, each node includes a TOD incrementer,
Respectively provided to each of the plurality of nodes, at least one local oscillator, wherein operating in the TOD incrementer to be bonded to said TOD incrementer to locally incrementally and predetermined frequency in each node ,
By transmitting a TOD setting packet to the one node via a communication link with a selected one of the plurality of nodes, and setting an initial TOD value in the packet to the one node , one node and a central controller be configured as master node,
Said master node,
Means for generating a TOD broadcast packet for TOD updates should broadcast next adjacent node to the master node,
A register for counting a predetermined number of cycles of said predetermined frequency,
In response to the register, the TOD broadcast packet, based on the TOD incrementer of the master in the node, and means for broadcasting to the adjacent node via the transmission path,
Each of the adjacent nodes
Means for receiving the TOD broadcast packet from said master node,
Means for comparing the updated TOD value in the received TOD broadcast packet with the value of the TOD incrementer in each node;
Means for updating the value of the TOD incrementer equal to the value of the updating TOD, if the updating TOD value is greater than the value of the TOD incrementer;
If the updating TOD value is smaller than the value of the TOD incrementer, the TOD incrementer is cycled at a frequency lower than the predetermined frequency until the value of the TOD incrementer reaches the updating TOD value. Means for incrementing by:
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/515445 | 2000-02-29 | ||
US09/515,445 US6618815B1 (en) | 2000-02-29 | 2000-02-29 | Accurate distributed system time of day |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2001297071A JP2001297071A (en) | 2001-10-26 |
JP3600533B2 true JP3600533B2 (en) | 2004-12-15 |
Family
ID=24051370
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001044648A Expired - Fee Related JP3600533B2 (en) | 2000-02-29 | 2001-02-21 | Method and apparatus for synchronizing time of day (TOD) events between nodes |
Country Status (2)
Country | Link |
---|---|
US (1) | US6618815B1 (en) |
JP (1) | JP3600533B2 (en) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6826123B1 (en) * | 2003-10-14 | 2004-11-30 | International Business Machines Corporation | Global recovery for time of day synchronization |
US7619984B2 (en) * | 2005-08-30 | 2009-11-17 | Intel Corporation | Mechanism for error handling of corrupted repeating primitives during frame reception |
JP4698550B2 (en) * | 2006-03-21 | 2011-06-08 | 富士通株式会社 | Communication processing device and aggregation system |
US8266466B2 (en) | 2007-05-21 | 2012-09-11 | Cisco Technology, Inc. | Globally synchronized timestamp value counter |
US8193481B2 (en) * | 2009-01-26 | 2012-06-05 | Centre De Recherche Industrielle De Quebec | Method and apparatus for assembling sensor output data with data representing a sensed location on a moving article |
EP3070606B1 (en) | 2013-11-13 | 2022-03-16 | Fujitsu Limited | Event management program, event management method, and distributed system |
US9507646B2 (en) * | 2015-02-11 | 2016-11-29 | International Business Machines Corporation | Cycle-level thread alignment on multi-threaded processors |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4531185A (en) | 1983-08-31 | 1985-07-23 | International Business Machines Corporation | Centralized synchronization of clocks |
US4890222A (en) * | 1984-12-17 | 1989-12-26 | Honeywell Inc. | Apparatus for substantially syncronizing the timing subsystems of the physical modules of a local area network |
US4882739A (en) | 1988-01-26 | 1989-11-21 | Computer Sports Medicine, Inc. | Method for adjusting clocks of multiple data processors to a common time base |
US5504878A (en) | 1991-02-04 | 1996-04-02 | International Business Machines Corporation | Method and apparatus for synchronizing plural time-of-day (TOD) clocks with a central TOD reference over non-dedicated serial links using an on-time event (OTE) character |
US5636373A (en) | 1991-09-04 | 1997-06-03 | International Business Machines Corporation | System for synchronizing logical clock in logical partition of host processor with external time source by combining clock adjustment value with specific value of partition |
ATE160637T1 (en) | 1991-12-18 | 1997-12-15 | Siemens Ag | METHOD FOR KEEPING TIME IN COMPUTER NETWORKS |
CA2091962A1 (en) | 1992-03-31 | 1993-10-01 | Mark L. Witsaman | Clock synchronization system |
US5327468A (en) * | 1992-06-19 | 1994-07-05 | Westinghouse Electric Corp. | Synchronization of time-of-day clocks in a distributed processing network system |
US5537549A (en) * | 1993-04-28 | 1996-07-16 | Allen-Bradley Company, Inc. | Communication network with time coordinated station activity by time slot and periodic interval number |
US5530846A (en) * | 1993-12-29 | 1996-06-25 | International Business Machines Corporation | System for decoupling clock amortization from clock synchronization |
US5712882A (en) | 1996-01-03 | 1998-01-27 | Credence Systems Corporation | Signal distribution system |
US5925107A (en) * | 1997-04-08 | 1999-07-20 | International Business Machines Corporation | Verifying a time-of-day counter |
NO307728B1 (en) * | 1997-06-03 | 2000-05-15 | Abb Research Ltd | Steps to obtain time synchronization on a network |
US6246701B1 (en) * | 1998-01-14 | 2001-06-12 | Skystream Corporation | Reference time clock locking in a remultiplexer for video program bearing transport streams |
US6449291B1 (en) * | 1998-11-24 | 2002-09-10 | 3Com Corporation | Method and apparatus for time synchronization in a communication system |
-
2000
- 2000-02-29 US US09/515,445 patent/US6618815B1/en not_active Expired - Lifetime
-
2001
- 2001-02-21 JP JP2001044648A patent/JP3600533B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6618815B1 (en) | 2003-09-09 |
JP2001297071A (en) | 2001-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7761726B2 (en) | Method and apparatus for fault tolerant time synchronization mechanism in a scaleable multi-processor computer | |
US7290169B2 (en) | Core-level processor lockstepping | |
US6400682B1 (en) | Method and apparatus for a fault tolerant, software transparent and high data integrity extension to a backplane bus or interconnect | |
US7272739B1 (en) | System and method for aligning data in a network environment | |
GB2412984A (en) | Lockstep error signaling | |
JP2002049605A (en) | Time register control system | |
CN101278528A (en) | Subscriber and communication controller of a communication system and method for implementing a gateway functionality in a subscriber of a communication system | |
EA001823B1 (en) | Method for self-synchronization of configurable elements of programmable component | |
JPH04345242A (en) | Non-lock type, non-buffer type and asynchronous type switching device | |
EP3545653B1 (en) | Distributed control synchronized ring network architecture | |
JP3600533B2 (en) | Method and apparatus for synchronizing time of day (TOD) events between nodes | |
US5905869A (en) | Time of century counter synchronization using a SCI interconnect | |
US5925107A (en) | Verifying a time-of-day counter | |
JP5051583B2 (en) | System and method for synchronizing a data processing network | |
US20210004043A1 (en) | Multichip Timing Synchronization Circuits and Methods | |
US7436917B2 (en) | Controller for clock synchronizer | |
US10230625B2 (en) | Information processing apparatus, information processing system, and communication device | |
TWM605565U (en) | Distributed synchronization system | |
JP2510750B2 (en) | A fault tolerant system, a method of synchronizing between redundant systems, and a multiplexed clock oscillator | |
JP2003216595A (en) | Multiprocessor synchronizing system, packet, repeating device, processor device and multiprocessor synchronizing method | |
CN114301566B (en) | Clock synchronization method of redundant system, redundant system and network system | |
US6003091A (en) | Verifying a time-of-day counter | |
EP0971282B1 (en) | Multi-processor system with synchronized system time | |
JP4490337B2 (en) | Resynchronizable interrupt generator | |
Tamir et al. | A Software-Based Hardware Fault Tolerance Scheme for Multicomputers. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040608 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040813 |
|
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: 20040907 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040916 |
|
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: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110924 Year of fee payment: 7 |
|
LAPS | Cancellation because of no payment of annual fees |