JP5550089B2 - マルチプロセッサシステム、ノードコントローラ、障害回復方式 - Google Patents
マルチプロセッサシステム、ノードコントローラ、障害回復方式 Download PDFInfo
- Publication number
- JP5550089B2 JP5550089B2 JP2009081353A JP2009081353A JP5550089B2 JP 5550089 B2 JP5550089 B2 JP 5550089B2 JP 2009081353 A JP2009081353 A JP 2009081353A JP 2009081353 A JP2009081353 A JP 2009081353A JP 5550089 B2 JP5550089 B2 JP 5550089B2
- Authority
- JP
- Japan
- Prior art keywords
- request
- node
- identifier
- control unit
- node controller
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2005—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication controllers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/28—Routing or path finding of packets in data switching networks using route fault recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/006—Identification
Description
次に、本実施形態のマルチプロセッサシステムにおける動作方法の説明を行う。まず、図6を用いて、本実施形態のマルチプロセッサシステムにおけるノードコントローラ故障時の動作方法を説明する。図6は、本実施形態のマルチプロセッサシステムにおけるノードコントローラ故障時の動作フローである。本説明において、ノード100のノードコントローラ122に故障が発生した場合を用いて説明する。
ノードコントローラ122に障害が発生する。ノードコントローラ122は、システムファームウェアへ障害を通知する。ここで、システムファームウェハは、マルチプロセッサ上で動作を行うソフトウェアであり、マルチプロセッサシステムを制御している。
システムファームウェアは、ノードコントローラ122の障害を検知すると、ノード100、200、300の各プロセッサからのリクエスト出力を抑止する。
システムファームウェアは、ノード100外のプロセッサに、キャッシュラインのアクセス権を返却させる。システムファームウェアは、ノードコントローラ121のディレクトリ523、543と、ノードコントローラ122のディレクトリ523、543(以下、区別のために、ディレクトリ523B、ディレクトリ543Bと表記する。)とに記録された、ノード100外のプロセッサによるノード100内のメモリ111〜114のキャッシュ状況に基づいて、ノード100外のプロセッサにキャッシュしているデータをメモリ111〜114へ書き戻させて、ノード100外のプロセッサにメモリ111〜114のキャッシュラインのアクセス権を返却させる。これによって、ノード100内のメモリ111〜114のデータを最新の状態に更新することができ、コヒーレンシを保証することができる。なお、ノードコントローラ121のディレクトリ523、543と、ノードコントローラ122のディレクトリ523B、543Bとは、各ノード間のコヒーレンシを保証するために、ノード100外のプロセッサによるキャッシュ状況を記録している。そのため、ノード100内のプロセッサがメモリ111〜114のデータをキャッシュしていたとしても問題とはならない。
ノードコントローラ121は、振り分け制御レジスタ部500のレジスタ502に設定されたIDを、ノードコントローラ122のIDへ変更する。これによって、ノードコントローラ122宛てのリクエストは、リクエスト制御部509へ転送されることになる。つまり、ノードコントローラ121宛てのリクエストは、リクエスト制御部508へ、ノードコントローラ122宛てのリクエストは、リクエスト制御部509へ出力されることになる。なお、本実施形態では、レジスタ502に設定されたIDを変更しているが、レジスタ501に設定されたIDをノードコントローラ122のIDへ変更することも可能である。この場合は、ノードコントローラ122宛てのリクエストは、リクエスト制御部508へ転送されることになる。
ノードコントローラ121は、ノードコントローラ121のリクエスト制御部509の備えるノード内アクセスアドレスデコーダ542がデコードを行うアドレス範囲を、ノードコントローラ122が対応していたアドレス範囲まで含むように変更する。リクエスト制御部509は、ノードコントローラ122宛てのリクエストを振り分けられるため、ノード内アクセスアドレスデコーダ542をノードコントローラ122のアドレス対応範囲まで適応させるためである。これによって、リクエスト制御部509にノードコントローラ122宛てのリクエストが転送されたとしても、ノード内アクセスアドレスデコーダ542は、ノードコントローラ122対応していたアドレス範囲に基づいて送信先のIDを決定することができる。なお、ノード外アクセス用アドレスデコーダ532は、ノードコントローラ121とノードコントローラ122で同様であるので、特に対応するための処理を行う必要はない。
システムファームウェアは、ノードコントローラ121、122以外のノードコントローラ221、222、321、322の備えるルーティングテーブルを、縮退したノードコントローラ122を経由しないルーティング経路となるように設定を変更する。例えば、ノードコントローラ222からノードコントローラ121へアクセスする場合に、ノードコントローラ222から、ノードコントローラ122を経由して、ノードコントローラ121へ、という経路設定であるならば、ノードコントローラ222から、ノードコントローラ221を経由して、ノードコントローラ121へという経路設定へ変更する。
ノード100内のプロセッサ101〜104は、ノードコントローラ122へのアクセスがノードコントローラ121へのアクセスとなるように、ルーティングテーブルの設定を変更する。すなわち、ノードコントローラ122のIDに対応する信号線を、ノードコントローラ121と接続された信号線へ変更する。このようにすることで、ノードコントローラ122宛てのリクエストは、ノードコントローラ121接続された信号線へ出力されて、ノードコントローラ121のリクエスト制御部509で処理されることになる。
システムファームウェアは、ノード100、200、300に対するリクエストの出力抑止を解除する。その後、マルチプロセッサシステムが再開する。
キャッシュ制御部402は、ノード200のメモリ214へのリードリクエスト(以下、本説明においてリクエストと呼ぶ。)を生成する。プロセッサ101は、プロセッサ101上で動作するプロセスから要求を入力する。プロセッサ101のリクエスト処理部401は、ノード200のメモリ214に記録されたデータをキャッシュするための命令を生成する。キャッシュ制御部402は、リクエスト処理部401の生成した命令に基づいて、ノード200のメモリ214に記録されたデータをキャッシュするためのリードリクエストを生成する。
プロセッサ101は、リクエストの送信先IDを決定する。プロセッサ101は、アドレスデコーダ403を参照して、キャッシュ制御部402の生成したリードリクエストに含まれるアクセス先のアドレスに基づいて、当該リードリクエストを送信する送信先IDを決定する。なお、本説明では、アクセス先のアドレスがノード200内のメモリ241上であるため、プロセッサ101は、送信先IDをノードコントローラ121のIDに決定する。
プロセッサ101は、リクエストを出力する信号線を決定する。プロセッサ101は、ルーティングテーブル404を参照して、アドレスデコーダ403の決定した送信先IDに基づいて、出力する信号線を決定する。クロスバ406は、ルーティングテーブル404の決定した信号線へ、リクエストを出力する。本説明では、送信先IDがノードコントローラ121のIDであるため、プロセッサ101は、出力する信号線を信号線151と決定する。
ノードコントローラ121は、リクエスト制御部508、509のいずれにリクエストを出力するかを決定する。ノードコントローラ121は、プロセッサ101からリクエストを、クロスバ505に受信する。ノードコントローラ121は、ルーティングテーブル504に設定されたルーティング情報と、リクエスト振り分け情報レジスタ部500のレジスタ501〜503に設定された情報とを参照して、リクエスト制御部508、509のいずれにリクエストを出力するかを決定する。
ノードコントローラ121は、リクエストの送信先IDを決定する。リクエスト制御部508のノード外メモリアクセス制御部510は、クロスバ504からリクエストを入力する。ノード外メモリアクセス制御部510は、当該リクエストを、ノード外メモリアクセスリクエスト格納バッファ511へ格納する。ノード外メモリアクセス制御部510は、リクエストをクロスバ507へ出力する。また、同時に、ノード外メモリアクセス制御部510は、ノード外アクセス用アドレスデコーダ512を参照して、リクエストに含まれるアクセス先のアドレスに基づいて、リクエストの転送先をノードコントローラ222と決定して、ノードコントローラ222の送信先IDをクロスバ507へ出力する。なお、本説明では、ノードコントローラ222は、アクセス先のアドレスがノード200のメモリ214であるため、ノード200のノードコントローラ221のIDを送信先IDと決定する。
ノードコントローラ121は、送信先IDに基づいて、リクエストを出力する信号線を決定する。クロスバ507は、ノード外アクセス用アドレスデコーダ512から送信先IDを入力する。また、クロスバ507は、ノード外メモリアクセスリクエスト格納バッファ511からリクエストを入力する。ノードコントローラ121は、ルーティングテーブル506に設定されたルーティング情報を参照して、送信先IDに基づいて、リクエストを出力する信号線を決定する。クロスバ507は、決定した信号線22へリクエストを出力する。なお、本説明において、送信先IDがノードコントローラ221のIDであるため、ルーティングテーブル506は、リクエストの出力先を出力線22と決定する。クロスバ507は、リクエスト22を出力線22へ出力する。
ノード200において処理が行われて、メモリ214からリプライデータを受信する。ノード200のノードコントローラ221は、ノード100のノードコントローラ121からリクエストを受信する。この後の動作は、別ノードでの動作のため説明を省略する。すなわち、この後、リクエストは、ノード200内のノードコントローラ222へ転送される。ノードコントローラ222は、メモリ214のデータのキャッシュ状況の確認をおこなう。リクエストはプロセッサ204へ送信されて、プロセッサ204からメモリ214へアクセスが行われる。メモリ214のアクセス先のアドレスのデータが、リプライデータとして送信時の経路を経由して、ノードコントローラ121へ送信される。
ノードコントローラ121は、リクエスト制御部508、509のいずれにリプライデータを出力するかを決定する。ノードコントローラ121は、メモリ214からのリプライデータをクロスバ505に入力する。ノードコントローラ121は、ルーティングテーブル504に設定されたルーティング情報と、リクエスト振り分け情報レジスタ部500の各レジスタに設定された情報とを参照して、リクエスト制御部508、509のいずれにリプライデータを出力するかを決定する。この処理は、ステップS704で説明を行った処理と同様であるので、重ねての説明を省略する。なお、本説明において、ノードコントローラ121は、リプライデータの出力先をリクエスト制御部508のノード外メモリアクセス制御部510と決定する。クロスバ505は、ルーティングテーブル504により決定した出力先へリプライデータを出力する。
ノード外メモリアクセス制御部510は、格納していたリクエストからリクエスト元のIDを取得する。ノード外メモリアクセス制御部510は、クロスバ505からリプライデータを入力すると、ノード外メモリアクセスリクエスト格納バッファ511へ格納していたリクエストに基づいて、当該リプライデータのリクエスト元のプロセッサ101のIDを決定する。ノード外メモリアクセス制御部510は、クロスバ507へ、プロセッサ11のIDと共にリプライデータを出力する。
ノードコントローラ121は、リプライデータを出力する信号線を決定する。クロスバ507は、ノード外メモリアクセス制御部510からリプライデータを入力する。ノードコントローラ121は、ルーティングテーブル506に設定されたルーティング情報を参照して、リクエスト元のIDに基づいてリプライデータを出力する信号線を決定する。クロスバ505は、ルーティングテーブル506により決定された信号線へリプライデータを出力する。なお、本説明において、ノードコントローラ121は、リプライデータの信号線を、リクエスト元のプロセッサ101のIDに対応する信号線151と決定する。クロスバ505は、リプライデータを信号線151へ出力する
プロセッサ101は、リプライデータをキャッシュ405へ保存すると共に、リクエスト処理部401へリプライデータを出力する。プロセッサ101のクロスバ406は、信号線151からリプライデータを受信する。クロスバ406は、リプライデータをキャッシュ制御部402へ出力する。キャッシュ制御部402は、リプライデータをキャッシュ405へ保存すると共に、リプライデータをリクエスト処理部401へ出力する。これにより、リードリクエスト処理は完了する。
ノードコントローラ121は、ノード200のプロセッサ204からリクエストを受信する。ノード200のプロセッサ204は、ノード100のメモリ111へのリードリクエスト(以下、本説明でリクエストと呼ぶ。)を発行する。この動作は、ステップS701からステップS703においてプロセッサ101が行った処理と同様であるので説明を省略する。プロセッサ204の出力したリクエストは、ノードコントローラ221を介して、ノード100へ転送される。ノードコントローラ121は、ノードコントローラ221からプロセッサ204の発行したリクエストを、クロスバ505に受信する。
ノードコントローラ121は、リクエスト制御部508、509のいずれにリクエストを出力するかを決定する。ノードコントローラ121は、ルーティングテーブル504に設定されたルーティング情報とリクエスト振り分け情報レジスタ部500のレジスタ501〜503に設定された情報とに基づいて、リクエスト制御部508、509のいずれにリクエストを出力するかを決定する。なお、本ステップにおける動作は、ステップS704と同様であるので重ねての説明を省略する。本説明において、ノードコントローラ121は、リクエストの出力先として、リクエスト制御部508のノード内メモリアクセス制御部520と決定する。クロスバ505は、リクエストをリクエスト制御部のノード内メモリアクセス制御部520へ出力する。
ノード内メモリアクセス制御部520は、メモリ111のデータキャッシュ状況を確認する。ノード内メモリアクセス制御部520は、クロスバ505からリクエストを入力すると、リクエストをノード内メモリアクセスリクエスト格納バッファ521へ格納する。ノード内メモリアクセス制御部520は、ディレクトリ523を参照して、リクエストに含まれるアクセス先アドレスのデータキャッシュ状況を確認する。なお、本説明において、ノード内メモリアクセス制御部520は、ディレクトリ523を参照して、メモリ111のデータキャッシュ状況を確認する。
ノード内メモリアクセス制御部520は、リクエストに含まれるメモリ111のアクセス先アドレスのデータが、他のプロセッサにキャッシュされているか否かを判定する。他のプロセッサにキャッシュされていない場合、ステップS805へ進む。一方、他のプロセッサにキャッシュされている場合、ステップS807へ進む。
ノード内メモリアクセス制御部520は、リクエストの送信先IDを決定する。ノード内メモリアクセス制御部520は、リクエストに含まれるメモリ111のアクセス先アドレスのデータが他のプロセッサにキャッシュされていない場合、リクエストをクロスバ507へ出力する。同時に、ノード内メモリアクセス制御部520は、ノード内アクセス用アドレスデコーダ522を参照して、リクエストに含まれるアクセス先のアドレスに基づいて、送信先IDを決定する。ノード内メモリアクセス制御部520は、送信先IDをクロスバ507へ出力する。なお、本説明において、当該リクエストはメモリ111へのリードアクセスであるため、ノード内メモリアクセス制御部520は、送信先IDをプロセッサ101のIDと決定する。
ノードコントローラ121は、リクエストを出力する信号線を決定する。クロスバ507は、ノード内メモリアクセス制御部520からリクエストと送信式IDを入力する。ノードコントローラ121は、ルーティングテーブル506を参照して、リクエストを出力する信号線を決定する。クロスバ507は、ルーティングテーブル506により決定された出力先の信号線へリクエストを出力する。なお、本説明において、ノードコントローラ121は、プロセッサ101と接続された信号線151を、リクエストを出力する信号線と決定する。クロスバ507は、信号線151へリクエストを出力する。
ノード内メモリアクセス制御部520は、メモリ111のアクセス権の返却を要求するスヌープを生成する。ノード内メモリアクセス制御部520は、リクエストに含まれるメモリ111のアクセス先アドレスのデータが他のプロセッサにキャッシュされている場合、メモリ111のアクセス権の返却を要求するスヌープを生成する。
ノード内メモリアクセス制御部520は、スヌープを行うプロセッサの送信先IDを決定する。ノード内メモリアクセス制御部520は、ディレクトリ523を参照して、アクセス先アドレスのデータをキャッシュしているプロセッサのIDを決定する。ノード内メモリアクセス制御部520は、スヌープと送信先IDとをクロスバ507へ出力する。
ノードコントローラ121は、スヌープを出力する信号線を決定する。クロスバ507は、ノード内メモリアクセス制御部520からスヌープと送信先IDとを入力する。ノードコントローラ121は、ルーティングテーブル506を参照して、送信先IDに基づいて、スヌープを出力する信号線を決定する。クロスバ507は、ルーティングテーブル506により決定された信号線へ、スヌープを出力する。
ノード内メモリアクセス制御部520は、スヌープの結果に基づいて、所定の処理を行う。ノード内メモリアクセス制御部520は、スヌープのリプライを受信すると、必要に応じて、所定の処理を行う。ここで、所定の処理とは、メモリ111に対するライトリクエストの生成や、データの送受信や、ディレクトリ523の更新等である。このように、ノード内メモリアクセス制御部520は、スヌープのリプライに応じて、様々な処理を行うことになるが、これらは従来技術によるため、詳細な説明を省略する。なお、ノードコントローラ121は、この後、ステップS805、及びステップS806と同様の処理を実行する。すなわち、ノード内メモリアクセス制御部520は、リクエストの送信先IDを決定する(ステップS805)。ノードコントローラ121は、リクエストを出力する信号線を決定して、クロスバ507は、信号線151へリクエストを出力する(ステップS806)。その後、ステップS811へ進む。
ノードコントローラ121は、メモリ111からリプライデータを受信する。プロセッサ101は、クロスバ507から出力されたリクエストを受信する。プロセッサ101は、メモリ111へリクエストを転送する。プロセッサ101は、メモリ111からアクセス先アドレスのデータを取得して、当該データを含めたリプライデータをノードコントローラ121へ出力する。
ノードコントローラ121は、リクエスト制御部508、509のいずれにリクエストを出力するかを決定する。ノードコントローラ121は、プロセッサ101から、リプライデータをクロスバ505へ入力する。ノードコントローラ121は、ルーティングテーブル504に設定されたルーティング情報と、リクエスト振り分け情報レジスタ部500の各レジスタの情報とを参照して、リクエスト制御部508、509のいずれにリクエストを出力するかを決定する。クロスバ505は、ルーティングテーブル504により決定した出力先へリプライデータを出力する。なお、本ステップにおける動作は、ステップS704と同様であるので重ねての説明を省略する。なお、本説明において、ノードコントローラ121は、リプライデータの出力先を、リクエスト制御部508のノード内メモリアクセス制御部520と決定する。クロスバ505は、ノード内メモリアクセス制御部520へリプライデータを出力する。
ノード内メモリアクセス制御部520は、格納していたリクエストからリクエスト元のIDを取得する。ノード内メモリアクセス制御部510は、クロスバ505からリプライデータを入力すると、ノード内メモリアクセスリクエスト格納バッファ521へ格納していたリクエストに基づいて、リクエスト元のプロセッサのIDに基づいて、当該リプライデータの送信先IDを決定する。ノード外メモリアクセス制御部510は、クロスバ507へ、送信先IDと共にリプライデータを出力する。なお、本説明において、ノード内メモリアクセス制御部510は、リクエスト元のプロセッサIDに基づいて、当該リプライデータの送信先IDを、ノードコントローラ221と決定する。
ノードコントローラ121は、リプライデータを出力する信号線を決定する。クロスバ507は、ノード内メモリアクセス制御部520からリプライデータと送信先IDを入力する。ノードコントローラ121は、ルーティングテーブル506を参照して、送信先IDに基づいて、リプライデータを出力する信号線を決定する。本説明において、ノードコントローラ121は、リプライデータの信号線を、ノードコントローラ221のIDに対応する信号線22と決定する。クロスバ505は、リプライデータを信号線22へ出力する
ノード内メモリアクセス制御部520は、リクエスト元のプロセッサ204の情報をディレクトリ523へ記録する。ノード内メモリアクセス制御部520は、キャッシュラインのアクセス権を渡したプロセッサ204の情報をディレクトリへ記録する。これにより、プロセッサ204からのリクエストに対するノードコントローラ121の処理は完了する。なお、プロセッサ204は、ノードコントローラ221を介してリプライデータを受信して、プロセッサ204のキャッシュにデータを記録すると共に、リクエスト処理部へデータを出力して、リードリクエストを完了する。
20〜22 信号線
100 ノード
101〜104 プロセッサ
111〜114 メモリ
121、122 ノードコントローラ
151〜169 信号線
200 ノード
201〜204 プロセッサ
211〜214 メモリ
221、222 ノードコントローラ
269 信号線
300 ノード
301〜304 プロセッサ
311〜314 メモリ
321、322 ノードコントローラ
369 信号線
401 リクエスト処理部
402 キャッシュ制御部
403 アドレスデコーダ
404 ルーティングテーブル
405 キャッシュ
406 クロスバ
500 リクエスト振り分け情報レジスタ部
501 レジスタ
502 レジスタ
503 レジスタ
504 ルーティングテーブル
505 クロスバ
506 ルーティングテーブル
507 クロスバ
508 リクエスト制御部
509 リクエスト制御部
510 ノード外メモリアクセス制御部
511 ノード外メモリアクセスリクエスト格納バッファ
512 ノード外アクセス用アドレスデコーダ
520 ノード内メモリアクセス制御部
521 ノード内メモリアクセスリクエスト格納バッファ
522 ノード内アクセス用アドレスデコーダ
523 ディレクトリ
530 ノード外メモリアクセス制御部
531 ノード外メモリアクセスリクエスト格納バッファ
532 ノード外アクセス用アドレスデコーダ
540 ノード内メモリアクセス制御部
541 ノード内メモリアクセスリクエスト格納バッファ
542 ノード内アクセス用アドレスデコーダ
543 ディレクトリ
601〜609 信号線
700 バス
Claims (15)
- 複数のノードを備え、
前記複数のノードの各々は、複数のプロセッサと、前記複数のプロセッサに対応して接続された複数のメモリと、前記複数のプロセッサと接続され互いに冗長関係にある第一ノードコントローラと第二ノードコントローラとを具備し、
前記各ノードの複数のプロセッサと、前記第一ノードコントローラと、前記第二ノードコントローラとは、それぞれ一意に定められた識別子が付与されており、
前記第一ノードコントローラと第二ノードコントローラのそれぞれは、
リクエストに含まれるアクセス先のメモリアドレスに基づいて、前記リクエストの送信先の第一識別子を割り出す第一リクエスト制御部、及び第二リクエスト制御部と、
前記第一リクエスト制御部に出力すべきリクエストを特定する第二識別子が設定される第一レジスタと、
前記第二リクエスト制御部に出力すべきリクエストを特定する第三識別子が設定される第二レジスタと、
リクエストに含まれる第四識別子と、前記第二識別子及び第三識別子との比較結果に応じて前記リクエストの出力先を決定する第一ルーティングテーブルと、
前記第一リクエスト制御部、あるいは前記第二リクエスト制御部が割り出した前記第一識別子に基づいて、前記リクエストを転送する信号線を選択する第二ルーティングテーブルと
を備えるマルチプロセッサシステム。 - 請求項1に記載のマルチプロセッサシステムであって、
前記第一ルーティングテーブルは、前記リクエストに含まれる当該リクエストの送信先を示す第四識別子と、前記第一レジスタに設定された第二識別子、及び前記第二レジスタに設定された第三識別子とが一致するかを判定して、前記リクエストの送信先を示す第四識別子と前記第一レジスタに設定された第二識別子とが一致する場合、前記第一レジスタに対応する前記第一リクエスト制御部を、前記リクエストの出力先と決定し、前記リクエストの送信先を示す第四識別子と前記第二レジスタに設定された第三識別子とが一致する場合、前記第二レジスタに対応する前記第二リクエスト制御部を、前記リクエストの出力先と決定する
マルチプロセッサシステム。 - 請求項2に記載のマルチプロセッサシステムであって、
前記各ノードの前記第一ノードコントローラは、前記第二ノードコントローラに障害が発生すると、前記第二レジスタへ、前記第二ノードコントローラの識別子を前記第三識別子として設定する
マルチプロセッサシステム。 - 請求項3に記載のマルチプロセッサシステムであって、
前記各ノードの備える前記複数のプロセッサの各々は、前記リクエストの送信先を決定するプロセッサルーティングテーブルを備え、
前記複数のノードのうち前記障害の発生した障害ノードの前記各プロセッサは、前記障害ノードの前記第二ノードコントローラ宛の前記リクエストを前記障害ノードの前記第一ノードコントローラ宛へ出力するように前記プロセッサルーティングテーブルの設定を変更し、
前記障害ノードの前記第二ノードコントローラ宛の前記リクエストを、前記障害ノードの前記第一ノードコントローラ宛へ出力するように、前記複数のノードのうち前記障害ノード以外のノードにおける前記第二ルーティングテーブルの設定が変更される
マルチプロセッサシステム。 - 請求項4に記載のマルチプロセッサシステムであって、
第一リクエスト制御部と第二リクエスト制御部とは、それぞれ、前記リクエストに含まれるアクセス先のメモリアドレスに基づいて前記リクエストの送信先の識別子を割り出すアドレスデコーダを備え、
前記障害ノードの前記第二ノードコントローラにおいて、前記第一リクエスト制御部の備えるアドレスデコーダのデコード対象となるメモリアドレスの範囲を、前記第二リクエスト制御部の備えるアドレスデコーダの前記メモリアドレスの範囲を含むように設定が変更される
マルチプロセッサシステム。 - 請求項2から請求項5までのいずれか1項に記載のマルチプロセッサシステムであって、
前記リクエストの送信先の識別子において参照するべきビットのビット位置を記録した第三レジスタをさらに備え、
前記第一ルーティングテーブルは、前記リクエストの含む送信先の第四識別子が、前記第一レジスタに設定された第二識別子と前記第二レジスタに設定された第三識別子とのいずれにも一致する場合、前記第三レジスタに設定された前記ビット位置基づいて前記リクエストの出力先を前記第一リクエスト制御部か前記第二リクエスト制御部かのいずれかに決定する
マルチプロセッサシステム。 - 請求項6に記載のマルチプロセッサシステムであって、
前記第一ルーティングテーブルは、前記リクエストの含む送信先の第四識別子が、前記第一レジスタに設定された第二識別子と前記第二レジスタに設定された第三識別子とのいずれにも一致しない場合、前記第一ルーティングテーブルに記録されたデータを参照して前記リクエストの転送先を決定する
マルチプロセッサシステム。 - 請求項1から請求項7までのいずれか1項に記載のマルチプロセッサシステムで使用されるノードコントローラ。
- 複数のノードを備え、
前記複数のノードの各々は、複数のプロセッサと、前記複数のプロセッサに対応して接続された複数のメモリと、前記複数のプロセッサと接続され互いに冗長関係にある第一ノードコントローラと第二ノードコントローラとを具備するマルチプロセッサシステムにおいて、
前記各ノードの複数のプロセッサと、前記第一ノードコントローラと、前記第二ノードコントローラとは、それぞれ一意に定められた識別子が付与されており、
前記第一ノードコントローラと第二ノードコントローラのそれぞれは、
第一リクエスト制御部、及び第二リクエスト制御部が、リクエストに含まれるアクセス先のメモリアドレスに基づいて、前記リクエストの送信先の第一識別子を割り出すステップと、
前記第一リクエスト制御部に出力すべきリクエストを特定する第二識別子を第一レジスタに設定するステップと、
前記第二リクエスト制御部に出力すべきリクエストを特定する第三識別子を第二レジスタに設定するステップと、
第一ルーティングテーブルが、リクエストに含まれる第四識別子と、前記第二識別子及び第三識別子との比較結果に応じて前記リクエストの出力先を決定するステップと、
第二ルーティングテーブルが、前記第一リクエスト制御部、あるいは前記第二リクエスト制御部が割り出した前記第一識別子に基づいて、前記リクエストを転送する信号線を選択するステップと
を備えるマルチプロセッサシステムの障害回復方式。 - 請求項9に記載のマルチプロセッサシステムの障害回復方式であって、前記リクエストの出力先を決定するステップは、
前記リクエストに含まれる当該リクエストの送信先を示す第四識別子と、前記第一レジスタに設定された第二識別子、及び前記第二レジスタに設定された第三識別子とが一致するかを判定するステップと、
前記リクエストの送信先を示す第四識別子と前記第一レジスタに設定された第二識別子とが一致する場合、前記第一レジスタに対応する前記第一リクエスト制御部を、前記リクエストの出力先として決定するステップと、
前記リクエストの送信先を示す第四識別子と前記第二レジスタに設定された第三識別子とが一致する場合、前記第二レジスタに対応する前記第二リクエスト制御部を、前記リクエストの出力先として決定するステップと
を含むマルチプロセッサシステムの障害回復方式。 - 請求項10に記載のマルチプロセッサシステムの障害回復方式であって、
前記第二ノードコントローラに障害が発生すると、前記第一ノードコントローラの前記第二レジスタへ、前記第二ノードコントローラの識別子を前記第三識別子として設定するステップ
をさらに備えるマルチプロセッサシステムの障害回復方式。 - 請求項11に記載のマルチプロセッサシステムの障害回復方式であって、
前記各ノードの備える前記複数のプロセッサの各々は、前記リクエストの送信先を決定するプロセッサルーティングテーブルを備え、
前記複数のノードのうち前記障害の発生した障害ノードの前記第二ノードコントローラ宛ての前記リクエストを前記障害ノードの前記第一ノードコントローラ宛へ出力するように前記プロセッサルーティングテーブルの設定を変更するステップと、
前記障害ノードの前記第二ノードコントローラ宛の前記リクエストを、前記障害ノードの前記第一ノードコントローラ宛へ出力するように、前記複数のノードのうち前記障害ノード以外のノードにおける前記第二ルーティングテーブルの設定を変更するステップと
をさらに備えるマルチプロセッサシステムの障害回復方式。 - 請求項12に記載のマルチプロセッサシステムの障害回復方式であって、
第一リクエスト制御部と第二リクエスト制御部とは、それぞれ、前記リクエストに含まれるアクセス先のメモリアドレスに基づいて前記リクエストの送信先の識別子を割り出すアドレスデコーダを備え、
前記障害ノードの前記第二ノードコントローラにおいて、前記第一リクエスト制御部の備えるアドレスデコーダのデコード対象となるメモリアドレスの範囲を、前記第二リクエスト制御部の備えるアドレスデコーダの前記メモリアドレスの範囲を含むように設定を変更するステップ
をさらに備えるマルチプロセッサシステムの障害回復方式。 - 請求項10から請求項13までのいずれか1項に記載のマルチプロセッサシステムの障害回復方式であって、
前記リクエストの送信先の識別子において参照するべきビットのビット位置を記録した第三レジスタをさらに備え、
前記リクエストの出力先を決定するステップは、
前記リクエストの含む送信先の第四識別子が、前記第一レジスタに設定された第二識別子と前記第二レジスタに設定された第三識別子とのいずれにも一致する場合、前記第三レジスタに設定された前記ビット位置基づいて前記リクエストの出力先を前記第一リクエスト制御部か前記第二リクエスト制御部かのいずれかに決定するステップ
を含むマルチプロセッサシステムの障害回復方式。 - 請求項14に記載のマルチプロセッサシステムの障害回復方式であって、前記リクエストの出力先を決定するステップは、
前記リクエストの含む送信先の第四識別子が前記第一レジスタに設定された第二識別子と前記第二レジスタに設定された第三識別子とのいずれにも一致しない場合、前記第一ルーティングテーブルに記録されたデータを参照して転送先を決定するステップ
を含むマルチプロセッサシステム障害回復方式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009081353A JP5550089B2 (ja) | 2009-03-30 | 2009-03-30 | マルチプロセッサシステム、ノードコントローラ、障害回復方式 |
US12/749,062 US8051325B2 (en) | 2009-03-30 | 2010-03-29 | Multiprocessor system and failure recovering system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009081353A JP5550089B2 (ja) | 2009-03-30 | 2009-03-30 | マルチプロセッサシステム、ノードコントローラ、障害回復方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010231723A JP2010231723A (ja) | 2010-10-14 |
JP5550089B2 true JP5550089B2 (ja) | 2014-07-16 |
Family
ID=42785790
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009081353A Active JP5550089B2 (ja) | 2009-03-30 | 2009-03-30 | マルチプロセッサシステム、ノードコントローラ、障害回復方式 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8051325B2 (ja) |
JP (1) | JP5550089B2 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011036726A1 (ja) * | 2009-09-25 | 2011-03-31 | 富士通株式会社 | 情報処理装置、及びその設定切り替え方法 |
JP5545108B2 (ja) * | 2010-08-04 | 2014-07-09 | 富士通株式会社 | ストレージシステム、制御装置および制御方法 |
CN102141975B (zh) * | 2011-04-01 | 2013-10-09 | 华为技术有限公司 | 计算机系统 |
CN102301363A (zh) * | 2011-06-30 | 2011-12-28 | 华为技术有限公司 | 数据处理节点、系统及方法 |
EP2605451B1 (en) | 2011-08-25 | 2015-07-01 | Huawei Technologies Co., Ltd. | Node controller link switching method, processor system and node |
CN106030553B (zh) | 2013-04-30 | 2020-06-30 | 慧与发展有限责任合伙企业 | 存储器网络 |
CN103491079B (zh) * | 2013-09-12 | 2017-01-18 | 杭州华为数字技术有限公司 | 一种报文生成装置、服务器以及方法 |
US9804979B2 (en) * | 2014-12-29 | 2017-10-31 | Sandisk Technologies Llc | Ring bus architecture for use in a memory module |
WO2017113128A1 (zh) * | 2015-12-29 | 2017-07-06 | 华为技术有限公司 | 一种cpu及多cpu系统管理方法 |
NO342930B1 (en) | 2016-10-18 | 2018-09-03 | Numascale As | Cache Coherent node controller |
CN109542834B (zh) * | 2017-09-22 | 2021-07-16 | 华为技术有限公司 | 一种确定nc芯片连接错误的方法及nc芯片 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04321138A (ja) * | 1991-04-22 | 1992-11-11 | Fuji Xerox Co Ltd | マルチプロセッサシステム |
JPH05158840A (ja) * | 1991-12-03 | 1993-06-25 | Fujitsu Ltd | フレーム中継通信処理方式 |
JPH05175980A (ja) * | 1991-12-24 | 1993-07-13 | Fujitsu Ltd | 系間交絡通信制御方式 |
JPH07152697A (ja) * | 1993-11-30 | 1995-06-16 | Hitachi Ltd | 疎結合計算機システム |
JPH1153331A (ja) * | 1997-08-07 | 1999-02-26 | Nec Corp | 分散メモリ型マルチプロセッサシステム |
JP3721283B2 (ja) * | 1999-06-03 | 2005-11-30 | 株式会社日立製作所 | 主記憶共有型マルチプロセッサシステム |
CA2403044A1 (en) * | 2000-03-22 | 2001-09-27 | Interwoven Inc. | Method and apparatus for storing changes to file attributes without having to store an additional copy of the file contents |
JP4404493B2 (ja) * | 2001-02-01 | 2010-01-27 | 日本電気株式会社 | 計算機システム |
US7236453B2 (en) * | 2002-06-27 | 2007-06-26 | Jeremy Benjamin, Trustee | High available method for border gateway protocol version 4 |
US6879270B1 (en) * | 2003-08-20 | 2005-04-12 | Hewlett-Packard Development Company, L.P. | Data compression in multiprocessor computers |
JP2008097527A (ja) * | 2006-10-16 | 2008-04-24 | Hitachi Ltd | ストレージシステム及びその制御方法 |
JP2009266119A (ja) * | 2008-04-28 | 2009-11-12 | Hitachi Ltd | ストレージ装置及びデータ転送方法 |
JP5074290B2 (ja) * | 2008-05-13 | 2012-11-14 | 株式会社日立国際電気 | 冗長切替システム、冗長管理装置およびアプリケーション処理装置 |
-
2009
- 2009-03-30 JP JP2009081353A patent/JP5550089B2/ja active Active
-
2010
- 2010-03-29 US US12/749,062 patent/US8051325B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8051325B2 (en) | 2011-11-01 |
JP2010231723A (ja) | 2010-10-14 |
US20100251005A1 (en) | 2010-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5550089B2 (ja) | マルチプロセッサシステム、ノードコントローラ、障害回復方式 | |
US6912669B2 (en) | Method and apparatus for maintaining cache coherency in a storage system | |
US8340087B2 (en) | Storage subsystem | |
CN102033715B (zh) | 在本地代理的存储器镜像和迁移 | |
US7386680B2 (en) | Apparatus and method of controlling data sharing on a shared memory computer system | |
KR102092660B1 (ko) | Cpu 및 다중 cpu 시스템 관리 방법 | |
US7747897B2 (en) | Method and apparatus for lockstep processing on a fixed-latency interconnect | |
EP2634696B1 (en) | Information processing apparatus, control method, and control program | |
JP2002304328A (ja) | マルチプロセッサシステム用コヒーレンスコントローラ、およびそのようなコントローラを内蔵するモジュールおよびマルチモジュールアーキテクチャマルチプロセッサシステム | |
US20140297963A1 (en) | Processing device | |
US7159079B2 (en) | Multiprocessor system | |
US20100229029A1 (en) | Independent and dynamic checkpointing system and method | |
US7725660B2 (en) | Directory for multi-node coherent bus | |
US7669013B2 (en) | Directory for multi-node coherent bus | |
US11886345B2 (en) | Server recovery from a change in storage control chip | |
JP2018129041A (ja) | スヌープリクエストに対する応答の転送 | |
WO2019149031A1 (zh) | 应用于节点系统的数据处理方法及装置 | |
WO2016122602A1 (en) | Systems and methods for sharing non-volatile memory between multiple access models | |
JP2008047029A (ja) | ストレージシステム及びキャッシュの冗長化方法とコンピュータプログラム | |
JP4030951B2 (ja) | データ二重化装置及び方法 | |
JP2001243209A (ja) | 分散共有メモリシステム及び分散共有メモリシステム制御方法 | |
JP4868246B2 (ja) | マルチプロセッサ及びメモリリプレース方法 | |
JP5076348B2 (ja) | 共有メモリのアクセス方式 | |
JP5321782B2 (ja) | 二重化システム及びメモリコピー方法 | |
JP2021099555A (ja) | ストレージシステム及びコントローラ配置方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120210 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131127 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140212 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140409 |
|
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: 20140425 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140515 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5550089 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |