JP5307151B2 - リンクに基づくシステムにおけるシステムルーティング情報の変更 - Google Patents

リンクに基づくシステムにおけるシステムルーティング情報の変更 Download PDF

Info

Publication number
JP5307151B2
JP5307151B2 JP2010533409A JP2010533409A JP5307151B2 JP 5307151 B2 JP5307151 B2 JP 5307151B2 JP 2010533409 A JP2010533409 A JP 2010533409A JP 2010533409 A JP2010533409 A JP 2010533409A JP 5307151 B2 JP5307151 B2 JP 5307151B2
Authority
JP
Japan
Prior art keywords
routing
components
hot plug
rta
plug event
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
Application number
JP2010533409A
Other languages
English (en)
Other versions
JP2011503731A (ja
Inventor
ツァイ,シャオホワ
リー,ユイフウ
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2011503731A publication Critical patent/JP2011503731A/ja
Application granted granted Critical
Publication of JP5307151B2 publication Critical patent/JP5307151B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本開示は、概して、エレクトロニクスの分野に関する。より具体的に、本発明の実施形態は、リンクに基づくシステムにおけるシステムルーティング情報の変更のための技術に関する。
RAS(Reliability(信頼性)、Availability(利用可能性)及びServiceability(サービス性))は、特にサーバプラットフォームで、現代のコンピュータシステムにとって重要な特性となっている。例えばCSI(Common System Interface)等のリンクに基づくシステムでは、例えばソケット(又はリンク)ホットプラグ等のRAS特性の成功実現は、ランタイム中のルーティングデータの再構成に依存する。一般に、リンクに基づくシステムのメンバーの隣近所に関するルーティングデータは、リンクに基づくシステムの各メンバー近くの記憶デバイスに記憶されている。ルーティングデータの再構成動作は、さもなければOS(Operation System)によって用いられうるプロセッシング時間を利用することによって、OSにとってトランスペアレントに処理される。OSはそれ自身のレイテンシー(latency)要求を有するので、ルーティングテーブルの再構成の時間を最小限とすることは、RASの実施において重要な判断基準となる。
本願で開示される種々の実施形態を実施するために利用されるコンピュータシステムの実施形態に係るブロック図を表す。 本願で開示される種々の実施形態を実施するために利用されるコンピュータシステムの実施形態に係るブロック図を表す。 幾つかの実施形態に従う方法のフロー図を表す。 幾つかの実施形態に従う方法のフロー図を表す。 本願で開示される種々の実施形態を実施するために利用されるコンピュータシステムの実施形態に係るブロック図を表す。 本願で開示される種々の実施形態を実施するために利用されるコンピュータシステムの実施形態に係るブロック図を表す。 本願で開示される種々の実施形態を実施するために利用されるコンピュータシステムの実施形態に係るブロック図を表す。 本願で開示される種々の実施形態を実施するために利用されるコンピュータシステムの実施形態に係るブロック図を表す。
詳細な記載は、添付の図面を参照して与えられる。図面において、参照符号の左端の数字は、その参照番号が最初に現れる図を示す。異なる図面における同じ参照番号の使用は、類似する又は同じアイテムを示す。
以下の記載で、多数の具体的な詳細は、様々な実施形態の完全な理解を与えるために挙げられている。なお、幾つかの実施形態は、かかる具体的な詳細によらずに実行されてよい。他の面では、周知の方法、手順、構成要素及び回路は、特定の実施形態を不明りょうにしないように、詳細には記載されていない。本発明の実施形態に係る様々な態様は、例えば、集積半導体回路(“ハードウェア”)、1又はそれ以上のプログラムで構成されているコンピュータ読取可能な命令(“ソフトウェア”)、あるいはハードウェア及びソフトウェアの何らかの組合せのような様々な手段を用いて実行されてよい。本開示のために、「ロジック」への言及は、ハードウェア、ソフトウェア、又はそれらの何らかの組合せのいずれかを意味すべきである。
本願で論じられている実施形態のうちの幾つかは、例えばRASを改善するために、リンクに基づくシステム(例えば、CSIシステム)でシステムルーティング構成のより効率的な及び/又はより速い変更を可能にする。より具体的に、幾つかの技術は、比較的大きなコンピュータシステム(例えば、図1を参照して論じられるようなエージェントとも本願で呼ばれる様々なノードの間の多数のルートを有するブレードサーバ)が、例えば、SMI(System Management Interrupt(システム管理割込))、PMI(Platform Management Interrupt(プラットフォーム管理割込))又は他の割込サービスに利用可能な限られた時間窓等のホットプラグ・イベントの間、計算され且つ更新される必要があるRTA(Routing Table Array(ルーティングテーブルアレイ))レジスタの量を減らすことによって、より効率的に及び/又はより速くシステムルーティング構成を変更することを可能にする。また、実施形態において、システムルーティング構成は、システムトポロジを変化させることなく変更され得る。加えて、本願で論じられている技術のうちの幾つかは、例えば図1〜8を参照して論じられているもののように、様々なタイプのコンピュータ環境で利用されてよい。
より具体的に、図1は、本発明の実施例に従うコンピュータシステム100のブロック図を表す。システム100は、1又はそれ以上のエージェント102−1〜102−M(集合的に本願では「エージェント102」と呼ばれる。)を有してよい。実施例で、エージェント102は、例えば図2〜8を参照して論じられるコンピュータシステムのようなコンピュータシステムのコンポーネントであってよい。
図1に表されているように、エージェント102は、ネットワーク構造104を介して通信を行うことができる。1つの実施形態において、ネットワーク構造104は、種々のエージェント(例えば、コンピュータデバイス)がデータをやり取りすることを可能にするコンピュータネットワークを有してよい。実施例で、ネットワーク構造104は、シリアル(例えば、ポイント・ツー・ポイント)リンク及び/又は共有通信ネットワークを介して通信を行う1又はそれ以上のインターコネクト(又は相互接続ネットワーク)を有してよい。例えば、幾つかの実施形態は、例えば、FB−DIMM(fully buffered dual in-line memory modules)リンクがメモリモジュールをホストコントローラデバイス(例えば、プロセッサ又はメモリハブ)に結合するためのシリアルリンクである場合に、FB−DIMMとの通信を可能にするリンク上でのコンポーネントのデバッグ又はバリデーションを容易にする。デバッグ情報はFB−DIMMチャネルホストから送信されてよく、これにより、デバッグ情報は、チャネルトラフィック・トレース・キャプチャツール(例えば、1又はそれ以上のロジックアナライザ)によって、チャネルに沿って監視され得る。
1つの実施形態において、システム100は階層化プロトコルスキームをサポートしてよく、システム100は、物理層、リンク層、ルーティング層、トランスポート層及び/又はプロトコル層を有してよい。ネットワーク構造104は、更に、ポイント・ツー・ポイント又は共有ネットワークのために1つのプロトコル(例えば、キャッシングプロセッサ又はキャッシング・アウェア(caching aware)メモリコントローラ)から他のプロトコルへの(例えば、パケット形態での)データの送信を容易にする。また、幾つかの実施形態で、ネットワーク構造104は、1又はそれ以上のキャッシュ・コヒーレントプロトコルに従う通信を提供してよい。
更に、図1で矢印の方向によって示されるように、エージェント102は、ネットワーク構造104を介してデータを送受信してよい。従って、通信のために、幾つかのエージェントは一方向性リンクを利用し、一方、他のエージェントは双方向性リンクを利用してよい。例えば、1又はそれ以上のエージェント(例えば、エージェント102−M)は(例えば、一方向性リンク106を介して)データを送信し、他のエージェント(例えば、エージェント102−2)は(例えば、一方向性リンク108を介して)データを受信し、一方、あるエージェント(例えば、エージェント102−1)は(例えば、双方向性リンク110を介して)データを送信し且つ受信してよい。
図2は、本発明の1つの実施形態に従うポイント・ツー・ポイント(PtP)コンピュータシステム200のブロック図を表す。図2は、4つのプロセッサ又は中央演算処理ユニット(CPU)(CPU0〜CPU3)と、幾つかの実施形態で入出力ハブ(IOH)として実施され得る2つのインターフェースデバイス202及び204とを備えるCSIリンクに基づくシステムの例を示す。
図2で、表されているCPU及びインターフェースデバイスは、(双方向の矢印として表されている)CSIリンクを介して互いと通信を行うCSIコンポーネントであってよい。更に、リンクに結合されているボックス又は円の夫々の内部の数字は、所与のデバイスのためのサンプルポート番号を表す。図2に示されるように、CPUの夫々は、夫々のCPUによってアクセス可能であるメモリサブシステムに結合されてよい。代替的に、CPUのうちの1つ又はそれ以上は、専用のメモリサブシステムに加えて又はそれに代えて、メモリユニット(図示せず。)を共有してよい。幾つかの実施形態で、インターフェースデバイス202〜204は、例えば(例えば、PCIe(Peripheral Component Interconnect Express)規格、改訂2.0、2006年10月に従う)PCIe等のI/Oデバイス及び/又は例えば図7を参照して更に論じられるもののようなI/Oコントローラハブ(ICH)への接続性を提供してよい。1つの実施形態において、プロセッサ間及び/又はプロセッサとインターフェースデバイスとの間の通信は、CSIパケットを用いて行われてよい。更に、(例えば、CPU及び/又はインターフェースデバイスの1又はそれ以上を含む)CSIコンポーネントの夫々は、RTA及びソースアドレスデコーダ(SAD)を含んでよい。RTAは、CSIパケットルーティング情報を他のソケットに提供してよい。SADは、例えば、メモリ、I/O等のリソースのルーティングを表すメカニズムを提供してよい。
1つの実施形態を説明するために、図2においてCPU3がOS実行中に除去される必要があるとする。幾つかの実施形態で、CSIコンポーネントはQuiesceモードをサポートする。このモードによって、通常のトラフィックは、RTA/SAD変更動作の間は一時停止され得る。一般に、コンピュータシステムのコンポーネントの付加、除去及び/又は変更を伴うこのような事象は、本願では「ホットプラグ・イベント」と呼ばれる。CPU3の除去に関連する事象を扱うために、プラットフォームは、基本入出力システム(BIOS)にコンポーネントが除去される必要がある旨を知らせるようSMIを生成してよい。幾つかの実施形態で、SMI後の除去動作は、以下の事柄を伴う:
1.コードを処理するSMIイベントの大部分の実行に寄与する支配(Monarch)CPUとして1つのCPUを選択すること(以下、例えば、CPU0が支配CPUと考えられる。);
2.CSIリンクを通る全てのトラフィックを一時停止するよう、システム全体が支配CPUによって停止させられること;
3.支配CPUによってシステム構成RTAレジスタについて新しい値が計算され、RTAレジスタが更新されること;
4.支配CPUによって他のシステム構成動作(例えば、SADレジスタについて新しい値を計算してSADレジスタを更新すること、除去対象のソケット(hot-removed socket)へのリンクを無効にすること、等)が行われること;及び
5.支配CPUによるシステムの停止が終わり、非支配プロセッサが開放され、SMIから戻ること。システムは続けて実行される。
上記のステップ3で、システムルーティングを変更するために、再計算ルーティングが、除去されるソケット(又はリンクの)ルーティング構造の新たなトポロジを最初に得ることによって、実行される。第2に、全てのRTAレジスタについての新しい値が計算されてよい。最後に、全てのRTAレジスタは更新される。このアプローチは、全てのRTAレジスタを通って、それらの値を計算し、それらを更新する必要があるために、たとえRTAレジスタがホットプラグ・イベント後に古い値(例えば、図2の例におけるCPU0とCPU1との間のルーティングのためのそれらのRTAレジスタ)を保持するとしても、むしろ効率が悪い。更に悪いことに、実際のシステムに関して、RTAは大量でありうる。例えば、幾つかのCPUは夫々、ポート毎に80個のRTAエントリを有する12のポートを有することがある。故に、システムルーティングを変更する処理は、著しいレイテンシーを導入しうる。言い換えると、これは、ホットプラグ・イベント中のシステム停止時間を増大させ、より大きいシステムではOSの許容デッドラインを超えうる。
図3及び4は夫々、実施例に従うコンピュータシステムでより効率的に及び/又はより速くルーティング情報を更新するために利用される方法300及び400のフロー図を表す。1つの実施形態において、例えば図1〜2及び5〜8を参照して本願で論じられる様々なコンポーネントは、図3又は4を参照して論じられる動作のうちの1つ又はそれ以上を実行するために利用されてよい。
図1〜3を参照すると、動作302で、(例えば、SMI又はPMI等の割込によって示される)ホットプラグ・イベントの開始後、除去、付加及び/又は変更されるソケット(又はリンク)のルーティング構造の新たなトポロジが、例えばシステムレベルのルーティングテーブルを参照することで、得られる。1つの実施形態において、中間データテーブル(ここでは「ルーティングデータテーブル」とも呼ばれる。)は、変更されるRTAレジスタをフィルタに通すとともに、新しいルーティング構造についてのレジスタ値を計算するために使用されてよい。ルーティングデータテーブルのセルは、起点から目標までのトランザクションのルーティングに係る情報を含んでよい。
例えば、以下の表1は、CPU3が除去される前の図2に対応するテーブルの例を表す。ルーティング情報は、システム要求に特有の又はそれに基づくルーティングアルゴリズムを通じて計算される。表1の例は、最小距離アルゴリズムによって計算される。すなわち、表内の各セルは、所与の起点(行)から所与の目標(列)までの最小ルーティング経路を示す。なお、本発明の実施形態は、最小距離アルゴリムズに限定されず、如何なるルーティングアルゴリズムも、ルーティングデータテーブルのフォーマットに準拠するよう適合された出力とともに用いられてよい。
Figure 0005307151
更に、このようなルーティング情報は、最終的なRTAレジスタ値を計算するための中間結果であってよい。リンクに基づくシステムに関して、各コンポーネントに対するルーティング構造は、ポート、エントリ、及び仮想チャネル等とともに実施されてよい。故に、多くの逐次計算が行われてよい。また、実施に依存して、ルーティングテーブル情報の一部又は全ては、システムの起動時に又は予め起動前に計算されてよい。他の実施は、ホットプラグ・イベント中にルーティングテーブル情報の少なくとも一部を計算してよい。更に、幾つかの実施形態で、新しいトポロジは、例えば、第3部分(third-part)システム管理/アシスタントエージェントによって提供され又は動的に見出される情報等に基づいて、動作302で様々な手段によって得られる。
動作304において、あらゆる必要な変更が決定されてよい。例えば、ルーティングデータテーブル内の各セルは起点から目標までのルーティング情報を含むので、セルの値がホットプラグ・イベントの前後で変化しない場合は、対応するRTAレジスタ値も変化する必要がない。そうでない場合は、RTAレジスタ値は、新しいポート又は経路への遷移のルーティングのために変更される。
例えば、以下の表2は、CPU3が図2から除去されている(新しい)ルーティングデータテーブルの例を表す。実施例において、動作304で、ホットプラグ・イベントの前(表1)及び後(表2)のトポロジのルーティングデータテーブルにおけるセル値を比較することによって、更に計算されて最終的に更新される必要があるRTAレジスタは、ホットプラグ・イベントに関連するレイテンシーを減らし及び/又は速度を増すよう除去されうる。
Figure 0005307151
例えば、表2を表1と比較することによって、CPU3の除去により6個のセルが変化し、15個のセルは前の値を保持することが明らかになる。幾つかの実施形態で、現在のテーブルは、新しいテーブルとは異なるメモリデバイスに記憶されてよい(例えば、テーブルは、図2を参照して論じられた異なるメモリサブシステム又はキャッシュに記憶されてよい。)。代替的に、テーブルは、同じメモリデバイス(例えば、共有メモリデバイス又はプライベートメモリデバイス)に記憶されてよい。
例えば、各セルについて時間Tが逐次計算及びハードウェア更新のために必要であるとすると、費やされる時間は(15+6)T=21Tから6Tまで減らされ、3.5倍速くなる。ホットアッド(hot-add)の場合(例えば、CPU3の付加)を考えると、表1はトポロジ変更後のルーティングデータテーブルに対応し、一方、表2は元の構成である。これは、CPU3からのセル及びCPU3へのセルがカウントされるべきであるためであり、故に、費やされる時間は、(21+10)T=31Tから(6+10)T=16Tまで減らされ、約2倍速くなる。従って、動作304でなされた決定に基づき、動作306は、フィルタを通されたRTAレジスタについて新しい値を計算する。動作308で、ルーティング情報は、動作306の計算値に基づいて更新されてよい(例えば、動作304のフィルタを通されたRTAレジスタのみが更新される。)。
図4は、実施例に従って図3の動作304を行うために使用される方法400のフロー図を表す。動作402で、新しいトポロジに係る新しいルーティングデータテーブルが計算されてよい。1つの実施形態において、動作402は、除去、付加及び/又は変更をされるコンポーネントの隣接コンポーネントに対して実行されてよい。動作404で、新しいテーブルは、図3を参照して論じられたように、現在のテーブルと比較されてよい。動作404の比較に基づき、変更される(又はフィルタを通される)べきレジスタ(例えば、RTAレジスタ)が動作406で決定され得る。動作408で、現在のルーティングテーブルは、動作402で計算された新しいルーティングテーブルからのデータにより更新されてよい。
幾つかの実施形態は変更されるRTAレジスタのみにフィルタをかけるので、システムに含まれるコンポーネントの数が増えるにつれて、かかる実施形態はより良い利益をもたらすことは明らかである。例えば、図5において、12個のプロセッサを備える比較的大きいシステム500が示されている。(システムの中央にある)CPU7が付加される。以下の表3はシステム500に対応する。明らかなように、変更されるセル及び変更されないセルの夫々の数は62及び70であり、故に、(62+70)Tから62Tまで性能が改善され、2倍より速くなる。
Figure 0005307151
更に、図6のシステム600で、角にあるCPU(CPU4)が除去される。以下の表4はシステム600に対応する。この例に関して、3つのセルのみが変更され、故に、ルーティング構成に費やされる時間は(3+107)Tから3Tまで減らされ、35倍より速くなる。
Figure 0005307151
従って、幾つかの実施形態で、起点から目標までのルーティング情報を含む中間ルーティングデータテーブルが使用されてよい。ホットプラグ・イベントの前後のデータテーブルを比較することによって、最小セットのRTAレジスタが計算及び更新され、性能が改善される。更に、たとえソケットのホットプラグ・イベントが例として本願において論じられているとしても、ここで論じられている実施形態は、また、リンク・ホットプラグとともに適切に動作する。上記の例は本発明を記載するためにSMIを用いるが、同様の技術がPMIによるシステムで使用されてよい。
図7は、コンピュータシステム700の実施例に係るブロック図を表す。図1及び/又は図2のコンポーネントのうちの1つ又はそれ以上は、コンピュータシステム700を参照して論じられる1又はそれ以上のコンポーネントを有してよい。コンピュータシステム700は、相互接続ネットワーク(又はバス)704と結合される1又はそれ以上の中央演算処理ユニット(CPU)702(集合的に、本願では「プロセッサ702」と呼ばれる。)を有してよい。プロセッサ702は、例えば、汎用プロセッサ、(コンピュータネットワーク104を介してやり取りされるデータを処理する)ネットワークプロセッサ等(RISC(reduced instruction set computer)プロセッサ又はCISC(complex instruction set computer)を含む。)のあらゆるタイプのプロセッサであってよい。更に、プロセッサ702は、単一又は複数コア設計を有してよい。複数コア設計を有するプロセッサ702は、同じ集積回路(IC)ダイ上に異なるタイプのプロセッサコアを一体化してよい。また、複数コア設計を有するプロセッサ702は、対称又は非対称マルチプロセッサとして実施されてよい。
プロセッサ702は1又はそれ以上のキャッシュ(図示せず。)を有してよく、かかるキャッシュは様々な実施形態で専用及び/又は共有であってよい。一般に、キャッシュは、他の場所に格納されている又は先に計算されている元のデータに対応するデータを格納する。メモリアクセス・レイテンシーを減らすために、データがキャッシュに格納されると、元のデータの再フェッチ又は再計算をせずに、キャッシュしたコピーにアクセスすることによる将来的な使用が可能である。キャッシュは、例えば、レベル1(L1)キャッシュ、レベル2(L2)キャッシュ、レベル3(L3)キャッシュ、中間レベルキャッシュ、最終レベルキャッシュ(LLC)等のあらゆるタイプのキャッシュであってよく、システム700の1又はそれ以上のコンポーネントによって利用される電子データ(例えば、命令を含む。)を格納する。
チップセット706は、更に、相互接続ネットワーク704に結合されてよい。更に、チップセット706はメモリ制御ハブ(MCH)708を有してよい。MCH708は、メモリ712に結合されているメモリコントローラ710を有してよい。実施例で、MCHは、グラフィックロジックを更に有してよく、結果として、グラフィックMCH(GMCH)とも呼ばれることがある。メモリ712は、例えば、プロセッサ702又はコンピュータシステム700と通信を行う何らかの他のデバイスによって実行される命令のシーケンスを含むデータを記憶してよい。実施例で、メモリ712は、図2に示されているメモリサブシステムと同じか又は類似するものであってよい。また、本発明の1つの実施形態において、メモリ712は、例えば、ランダムアクセスメモリ(RAM)、動的RAM(DRAM)、同期DRAM(SDRAM)、静的RAM(SRAM)等の1又はそれ以上の揮発性記憶(又はメモリ)デバイスを有してよい。例えばハードディスク等の不揮発性メモリも用いられてよい。例えばマルチプロセッサ及び/又はマルチシステムメモリ等の更なるデバイスが相互接続ネットワーク704に結合されてよい。
MCH708は、(例えば、実施例ではグラフィックアクセラレータを介して)表示デバイス716に結合されているグラフィックインターフェース714を更に有してよい。1つの実施形態において、グラフィックインターフェース714は、AGP(accelerated graphics port)を介して表示デバイス716に結合されてよい。本発明の実施例で、表示デバイス716(例えば、フラットパネルディスプレイ)は、例えば信号変換器を通じて、グラフィックインターフェース714に結合されてよい。信号変換器は、ビデオメモリ又はシステムメモリ(例えば、メモリ712)等の記憶デバイスに記憶されている画像のデジタル表現を、ディスプレイ716によって解釈されて表示される表示信号に変換する。
図7に示されるように、ハブインターフェース718は、MCH708を入出力制御ハブ(ICH)720に結合してよい。ICH720は、コンピュータシステム700に結合されている入出力(I/O)デバイスへのインターフェースを提供することができる。ICH720は、例えば、PCIeに準拠するPCI(peripheral component interconnect)ブリッジや、USB(universal serial bus)等の周辺ブリッジ(又はコントローラ)724を通じてバス722に結合されてよい。ブリッジ724は、プロセッサ702と周辺デバイスとの間のデータ経路を提供することができる。他のタイプのトポロジが利用されてよい。また、多数のバスが、例えば、多数のブリッジ又はコントローラを通じて、ICH720に結合されてよい。例えば、バス722は、アメリカ合衆国オレゴン州ポートランドのPCI SIG(special interest group)から入手可能なPCIローカルバス規格、改訂2.0、2004年3月9日に従ってよい(以降、「PCIバス」と呼ぶ。)。代替的に、バス722は、アメリカ合衆国オレゴン州ポートランドのPCI SIGから入手可能なPCI−X規格、改訂2.0a、2003年4月2日及び/又はPCIe規格に従うバス(以降、「PCI−Xバス」と呼ぶ。)を有してよい。更に、バス722は、他のタイプ及び構成のバスシステムを有してよい。更に、ICH720に結合されている他の周辺デバイスは、本発明の様々な実施形態において、集積ドライブエレクトロニクス(IDE)若しくはスモールコンピュータシステムインターフェース(SCSI)ハードドライブ、USBポート、キーボード、マウス、パラレルポート、シリアルポート、フロッピー(登録商標)ディスクドライブ、デジタル出力サポート(例えば、デジタルビデオインターフェース(DVI))等を有してよい。
バス722は、オーディオデバイス726、1又はそれ以上のディスクドライブ728、及びネットワークアダプタ730(実施例で、NICであってよい。)に結合されてよい。1つの実施形態において、バス722に結合されているネットワークアダプタ730又は他のデバイスは、チップセット706と通信を行ってよい。他のデバイスがバス722に結合されてよい。また、様々なコンポーネント(例えば、ネットワークアダプタ730)は、本発明の幾つかの実施形態で、MCH708に結合されてよい。加えて、プロセッサ702及びMCH708は、単一チップを形成するようまとめられてよい。
更に、コンピュータシステム700は、揮発性及び/又は不揮発性メモリ(又は記憶デバイス)を有してよい。例えば、不揮発性メモリには、読出専用メモリ(ROM)、プログラマブルROM(PROM)、消去可能PROM(EPROM)、電気的消去可能PROM(EEPROM)、ディスクドライブ(例えば、728)、フロッピー(登録商標)ディスク、コンパクトディスクROM(CD−ROM)、デジタル・バーサタイル・ディスク(DVD)、フラッシュメモリ、光磁気ディスク、又は電子データ(例えば、命令を含む。)を記憶可能な他のタイプの不揮発性の機械読取可能な媒体が含まれうる。
図8は、本発明の実施例に従ってポイント・ツー・ポイント(PtP)構成で配置されているコンピュータシステム800を表す。具体的に、図8は、プロセッサ、メモリ及び入出力デバイスが多数のポイント・ツー・ポイントインターフェースによって相互接続されているシステムを示す。図1〜7を参照して論じられている動作は、システム800の1又はそれ以上のコンポーネントによって実行されてよい。
図8に表されているように、システム800は複数のプロセッサを有してよい。そのうちの2つのプロセッサ802及び804のみが明りょうさのために示されている。プロセッサ802及び804は夫々、メモリ810及び812との通信を可能にする局所メモリコントローラハブ(MCH)806及び808を有してよい。メモリ810及び812は、例えば、図7のメモリ712を参照して論じられたもののような様々なデータを記憶してよい。図8に示されるように、プロセッサ802及び804は、図7を参照して論じられた1又はそれ以上のキャッシュを更に有してよい。
実施例で、プロセッサ802及び804は、図7を参照して論じられたプロセッサ702のうちの1つであってよい。プロセッサ802及び804は夫々、PtPインターフェース回路816及び818を用いてPtPインターフェース814を介してお互いにデータを交換することができる。また、プロセッサ802及び804は夫々、PtPインターフェース回路826、828、830及び832を用いて個々のPtPインターフェース822及び824を介してチップセット820とデータを交換することができる。チップセット820は、更に、例えばPtPインターフェース回路837を用いて、高性能グラフィックインターフェース836を介して高性能グラフィック回路834とデータを交換することができる。
少なくとも1つの実施形態において、図1〜7を参照して論じられた1又はそれ以上の動作は、プロセッサ802若しくは804及び/又は例えばバス840を介して通信するもののようなシステム800の他のコンポーネントによって、実行されてよい。なお、本発明の他の実施形態は、図8のシステム800内の他の回路、ロジックユニット、又はデバイスに存在してよい。更に、本発明の他の実施形態は、図8に表されている幾つかの回路、ロジックユニット、又はデバイスにわたって分配されてよい。
チップセット820は、PtPインターフェース回路841を用いてバス840と通信を行ってよい。バス840は、例えばバスブリッジ842及びI/Oデバイス843等の、バス840と通信を行う1又はそれ以上のデバイスを有してよい。バス844を介して、バスブリッジ842は、例えば、キーボード/マウス845、通信デバイス846(例えば、モデム、ネットワークインターフェースデバイス、又はコンピュータネットワーク104と通信を行う他の通信デバイス)、オーディオI/Oデバイス847、及び/又はデータ記憶デバイス848等の他のデバイスと通信を行ってよい。データ記憶デバイス848は、プロセッサ802及び/又は804によって実行されるコード849を記憶してよい。
本発明の様々な実施形態で、例えば図1〜8を参照して本願で論じられている動作は、ハードウェア(例えば、回路)、ソフトウェア、ファームウェア、マイクロコード、又はそれらの結合として実施されてよく、それらは、例えば、本願で論じられている処理を実行するようコンピュータをプログラムするために用いられる命令(又はソフトウェアプロシージャ)が記憶されている機械読取可能な又はコンピュータ読取可能な媒体を含め、コンピュータプログラムプロダクトとして提供されてよい。また、用語「ロジック」には、一例として、ソフトウェア、ハードウェア、又はソフトウェア及びハードウェアの組合せが含まれうる。機械読取可能な媒体には、本願で論じられているような記憶デバイスが含まれうる。更に、かかるコンピュータ読取可能な媒体は、コンピュータプログラムプロダクトとしてダウンロードされてよく、このとき、プログラムは、通信リンク(例えば、バス、モデム、又はネットワーク接続)を介して搬送波又は他の伝播媒体で具現されるデータ信号を用いて、遠隔のコンピュータ(例えば、サーバ)から要求しているコンピュータへ転送されてよい。
「1つの実施形態」又は「実施例」との明細書中の言及は、その実施形態に関連して記載される特定の機能、構成又は特徴が少なくとも実施に含まれうることを意味する。明細書中の様々な場所に現れる「1つの実施形態において」との言い回しは、すべて同じ実施形態を参照していることもあれば、そうでないこともある。
また、明細書及び特許請求の範囲で、語「結合され」及び「接続され」は、それらの活用形とともに、使用されてよい。本発明の幾つかの実施形態で、「接続され」は、2又はそれ以上の要素が物理的に直接に又は電気的にお互いに接していることを示すために使用される。「結合され」は、2又はそれ以上の要素が物理的に直接に又は電気的に接していることを示すために使用される。なお、「結合され」は、また、2又はそれ以上の要素が直接にお互いに接していないが、依然としてお互いと協働又は相互作用することも意味する。
このように、本発明の実施形態が構造上の特徴及び/又は方法論的な動作に文言上依存して記載されてきたが、当然に、請求対象は記載されている具体的な特徴又は動作に限られない。むしろ、具体的な特徴及び動作は、請求対象を実施する単純な形態として開示されている。

Claims (20)

  1. システムルーティング情報を変更する装置であって、
    1又はそれ以上の通信リンクを介して結合されているリンクに基づく計算システムの複数のコンポーネントと、
    ホットプラグ・イベント前の前記複数のコンポーネント間のルーティング経路に対応する第1のテーブルと、前記ホットプラグ・イベント後の前記複数のコンポーネント間のルーティング経路に対応する第2のテーブルとを記憶する記憶ユニットと、
    どの対応するルーティングテーブルアレイ(RTA)レジスタが前記ホットプラグ・イベントに応答して変更されるべきかを決定するよう、前記リンクに基づく計算システムの各コンポーネントのルーティングテーブルのエントリを比較する必要なく、前記第1のテーブル及び前記第2のテーブルにおいてエントリを比較するロジックと
    を有する装置。
  2. 前記ロジックは、前記第2のテーブルのエントリに従って、決定された前記RTAレジスタに格納されているデータの変更を引き起こす、請求項1記載の装置。
  3. 前記決定されたRTAレジスタを変更するよう読み出される前記第2のテーブルのエントリは、前記第1のテーブルの対応するエントリに格納されているデータとは異なるデータを格納する、請求項2記載の装置。
  4. 前記ロジックを有するプロセッサを更に有する請求項1記載の装置。
  5. 前記プロセッサは1又はそれ以上のプロセッサコアを有する、請求項4記載の装置。
  6. 前記複数のコンポーネントの中の1又はそれ以上、前記記憶ユニット、又は前記ロジックは、同じ集積回路ダイ上にある、請求項1記載の装置。
  7. 前記複数のコンポーネントは、1又はそれ以上のプロセッサ、1又はそれ以上のインターフェースデバイス、あるいは1又はそれ以上のメモリデバイスのうちの1つ又はそれ以上を有する、請求項1記載の装置。
  8. 前記1又はそれ以上の通信リンクは、1又はそれ以上のポイント・ツー・ポイントリンクを有する、請求項1記載の装置。
  9. 前記ホットプラグ・イベントは、リンクに基づくコンピュータシステムのコンポーネントの変更、コンポーネントの付加、又はコンポーネントの除去のうちの1つ又はそれ以上に対応する、請求項1記載の装置。
  10. 前記記憶ユニットは、前記第1のテーブルを記憶する第1の記憶デバイスと、前記第2のテーブルを記憶する第2の記憶デバイスとを有する、請求項1記載の装置。
  11. システムルーティング情報を変更する方法であって、
    ホットプラグ・イベントの発生に応答して、リンクに基づくコンピュータシステムにおいて複数のコンポーネント間のルーティング経路を決定するステップと、
    前記ホットプラグ・イベントの発生後の前記複数のコンポーネント間のルーティング経路に対応するデータを第1のテーブルに記憶するステップと、
    前記リンクに基づく計算システムの各コンポーネントのルーティングテーブルのエントリを比較する必要なく、前記第1のテーブルを、前記ホットプラグ・イベントの発生前の前記複数のコンポーネント間のルーティング経路に対応するデータを記憶する第2のテーブルと比較するステップと、
    前記比較の結果に基づいて1又はそれ以上のルーティングテーブルアレイ(RTA)レジスタを更新するステップと
    を有する方法。
  12. 前記ホットプラグ・イベントの発生を検出するステップを更に有する請求項11記載の方法。
  13. 前記1又はそれ以上のRTAレジスタを更新するステップは、前記第1のテーブルのエントリに基づく、請求項11記載の方法。
  14. 前記第2のテーブルに記憶されているデータを、前記第1のテーブルに記憶されているデータにより置換するステップを更に有する請求項11記載の方法。
  15. 前記ホットプラグ・イベントは、リンクに基づくコンピュータシステムのコンポーネントの変更、コンポーネントの付加、又はコンポーネントの除去のうちの1つ又はそれ以上に対応する、請求項11記載の方法。
  16. システムルーティング情報を変更するシステムであって、
    複数のコンポーネントを結合する複数のポイント・ツー・ポイントリンクと、
    夫々が、前記複数のコンポーネントにパケットルーティング情報を示すよう前記複数のコンポーネントの中の夫々1つに関連するルーティングデータを記憶する複数のルーティングテーブルアレイ(RTA)レジスタと、
    ホットプラグ・イベント前の前記複数のコンポーネント間のルーティング経路に対応する第1のテーブルと、前記ホットプラグ・イベント後の前記複数のコンポーネント間のルーティング経路に対応する第2のテーブルとを記憶する記憶ユニットと、
    前記ホットプラグ・イベントの発生に応答して前記第2のテーブルに記憶されるべきデータを計算し、どの対応するRTAレジスタが前記ホットプラグ・イベントに応答して変更されるべきかを決定するよう、各コンポーネントのルーティングテーブルのエントリを比較する必要なく、前記第1のテーブル及び前記第2のテーブルにおいてエントリを比較するプロセッサと
    を有するシステム。
  17. 前記プロセッサは、前記第2のテーブルのエントリに従って、決定された前記RTAレジスタに記憶されているデータの変更を引き起こす、請求項16記載のシステム。
  18. 前記プロセッサは、1又はそれ以上のプロセッサコアを有する、請求項16記載のシステム。
  19. 前記複数のコンポーネントの中の1又はそれ以上、前記記憶ユニット、又は前記プロセッサは、同じ集積回路ダイ上にある、請求項16記載のシステム。
  20. 前記複数のコンポーネントは、1又はそれ以上のプロセッサ、1又はそれ以上のインターフェースデバイス、あるいは1又はそれ以上のメモリデバイスのうちの1つ又はそれ以上を有する、請求項16記載のシステム。
JP2010533409A 2007-11-29 2007-11-29 リンクに基づくシステムにおけるシステムルーティング情報の変更 Expired - Fee Related JP5307151B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2007/003367 WO2009070912A1 (en) 2007-11-29 2007-11-29 Modifying system routing information in link based systems

Publications (2)

Publication Number Publication Date
JP2011503731A JP2011503731A (ja) 2011-01-27
JP5307151B2 true JP5307151B2 (ja) 2013-10-02

Family

ID=40717245

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010533409A Expired - Fee Related JP5307151B2 (ja) 2007-11-29 2007-11-29 リンクに基づくシステムにおけるシステムルーティング情報の変更

Country Status (6)

Country Link
US (1) US9210068B2 (ja)
JP (1) JP5307151B2 (ja)
CN (1) CN101878620A (ja)
DE (1) DE112007003722B4 (ja)
GB (1) GB2467705B (ja)
WO (1) WO2009070912A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009070912A1 (en) 2007-11-29 2009-06-11 Intel Corporation Modifying system routing information in link based systems
JP5326689B2 (ja) * 2009-03-11 2013-10-30 日本電気株式会社 バス接続用アダプタ
CN104811473B (zh) * 2015-03-18 2018-03-02 华为技术有限公司 一种创建虚拟非易失性存储介质的方法、系统及管理系统
US10749808B1 (en) 2015-06-10 2020-08-18 Amazon Technologies, Inc. Network flow management for isolated virtual networks
CN105700975B (zh) * 2016-01-08 2019-05-24 华为技术有限公司 一种中央处理器cpu热移除、热添加方法及装置
US10834044B2 (en) 2018-09-19 2020-11-10 Amazon Technologies, Inc. Domain name system operations implemented using scalable virtual traffic hub
US10897417B2 (en) 2018-09-19 2021-01-19 Amazon Technologies, Inc. Automated route propagation among networks attached to scalable virtual traffic hubs

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2856050B2 (ja) * 1993-11-30 1999-02-10 日本電気株式会社 ルーティング制御方法
US5784576A (en) * 1996-10-31 1998-07-21 International Business Machines Corp. Method and apparatus for adding and removing components of a data processing system without powering down
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
JP2000209271A (ja) * 1999-01-18 2000-07-28 Nec Corp ル―タ装置
US6487623B1 (en) * 1999-04-30 2002-11-26 Compaq Information Technologies Group, L.P. Replacement, upgrade and/or addition of hot-pluggable components in a computer system
JP3895888B2 (ja) * 1999-06-29 2007-03-22 株式会社日立製作所 パケット通信方法およびノード装置
US6665297B1 (en) * 1999-12-09 2003-12-16 Mayan Networks Corporation Network routing table
US6647446B1 (en) * 2000-03-18 2003-11-11 Sony Corporation Method and system for using a new bus identifier resulting from a bus topology change
US7123620B1 (en) * 2000-04-25 2006-10-17 Cisco Technology, Inc. Apparatus and method for scalable and dynamic traffic engineering in a data communication network
US6956858B2 (en) * 2000-06-30 2005-10-18 Mayan Networks Corporation Network routing table and packet routing method
US7493438B2 (en) 2001-10-03 2009-02-17 Intel Corporation Apparatus and method for enumeration of processors during hot-plug of a compute node
US7673090B2 (en) * 2001-12-19 2010-03-02 Intel Corporation Hot plug interface control method and apparatus
JP3997844B2 (ja) * 2002-06-12 2007-10-24 日本電気株式会社 経路計算方法、経路計算プログラム及び経路計算装置
US7415627B1 (en) * 2003-03-17 2008-08-19 Network Equipment Technologies, Inc. Partitioning and categorizing data in a split-plane architecture for fast recovery from data plane failures and fast restarts
US7200694B2 (en) * 2003-05-30 2007-04-03 American Megatrends, Inc. Servicing multiple hot-plug events utilizing a common event signal in providing hot-plug attention button support
JP4319486B2 (ja) * 2003-07-23 2009-08-26 サンネット株式会社 通信ネットワークシステム
US20050157479A1 (en) * 2004-01-16 2005-07-21 Hayden Douglas T. Bus device insertion and removal system
US20050289101A1 (en) * 2004-06-25 2005-12-29 Doddaballapur Jayasimha Methods and systems for dynamic partition management of shared-interconnect partitions
GB0416272D0 (en) * 2004-07-20 2004-08-25 British Telecomm Method of operating a network
US7321947B2 (en) * 2005-03-10 2008-01-22 Dell Products L.P. Systems and methods for managing multiple hot plug operations
US8130759B2 (en) * 2005-07-29 2012-03-06 Opnet Technologies, Inc. Routing validation
US8145732B2 (en) 2005-11-21 2012-03-27 Intel Corporation Live network configuration within a link based computing system
US7447822B2 (en) * 2005-12-12 2008-11-04 Inventec Corporation Hot-plug control system and method
US7613120B2 (en) * 2005-12-30 2009-11-03 Intel Corporation Dynamic wide area network packet routing
US7860106B2 (en) * 2006-02-13 2010-12-28 Wind River Systems, Inc. System and method for routing table computation and analysis
JP4930762B2 (ja) * 2006-05-24 2012-05-16 日本電気株式会社 情報処理装置、および、装置間接続方法
CN100466623C (zh) 2006-07-25 2009-03-04 华为技术有限公司 一种基于ospf的路由信息更新方法和网络设备
CN100394742C (zh) 2006-08-17 2008-06-11 北京邮电大学 开放最短路径优先路由协议的监测与分析系统及工作方法
US7756017B2 (en) * 2006-09-08 2010-07-13 The Uwm Research Foundation, Inc. System and method for scheduling routing table calculation in link state routing protocols
KR100778340B1 (ko) * 2006-12-07 2007-11-22 한국전자통신연구원 라우터 시스템에서의 소프트웨어 업그레이드에 따른 포워딩정보 테이블 관리 장치 및 그 방법
US7836238B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Hot-plug/remove of a new component in a running PCIe fabric
US20080259951A1 (en) * 2007-04-23 2008-10-23 Omar Cardona Method and apparatus for unplanned and uninterrupted network adapter replacement
WO2009049668A1 (en) 2007-10-16 2009-04-23 Telefonaktiebolaget Lm Ericsson (Publ) Radio telecommunications network node and method of adjusting routing table update interval
WO2009070912A1 (en) 2007-11-29 2009-06-11 Intel Corporation Modifying system routing information in link based systems
US20090144476A1 (en) * 2007-12-04 2009-06-04 Xiaohua Cai Hot plug in a link based system
US8069228B2 (en) * 2009-05-08 2011-11-29 Hewlett-Packard Development Company, L.P. Preventing access of a network facility in response to an operation

Also Published As

Publication number Publication date
DE112007003722T5 (de) 2011-01-13
US9210068B2 (en) 2015-12-08
US20120151107A1 (en) 2012-06-14
GB2467705A (en) 2010-08-11
GB2467705B (en) 2012-02-15
DE112007003722B4 (de) 2017-05-24
WO2009070912A1 (en) 2009-06-11
JP2011503731A (ja) 2011-01-27
CN101878620A (zh) 2010-11-03
GB201009707D0 (en) 2010-07-21

Similar Documents

Publication Publication Date Title
US10210120B2 (en) Method, apparatus and system to implement secondary bus functionality via a reconfigurable virtual switch
JP5307151B2 (ja) リンクに基づくシステムにおけるシステムルーティング情報の変更
EP3140748B1 (en) Interconnect systems and methods using hybrid memory cube links
KR101686360B1 (ko) 다중슬롯 링크 계층 플릿에서의 제어 메시징
CN101221551B (zh) 用于对称多处理器互连的方法和设备以及多处理器
US7761696B1 (en) Quiescing and de-quiescing point-to-point links
KR20180087255A (ko) 비 휘발성 메모리 익스프레스(NVMe) 제어기의 상이한 네트워크 어드레스들 상의 개별 NVMe IO(INPUT/OUTPUT) 큐들을 가능하게 하는 방법 및 장치
US20170308497A1 (en) Control messaging in multislot link layer flit
US20070143546A1 (en) Partitioned shared cache
KR101661259B1 (ko) 저전력 부분 폭 고속 링크 상태에서 나갈 때의 고속 디스큐
US10404800B2 (en) Caching network fabric for high performance computing
US9632557B2 (en) Active state power management (ASPM) to reduce power consumption by PCI express components
JP2001051959A (ja) 少なくとも1つのnuma(non−uniformmemoryaccess)データ処理システムとして構成可能な相互接続された処理ノード
KR101498452B1 (ko) 복합 멀티-코어 및 멀티-소켓 시스템의 디버깅
CN107315697A (zh) 用于减少管理端口的计算机可读取存储装置、系统及方法
EP4235441A1 (en) System, method and apparatus for peer-to-peer communication
US8117392B2 (en) Method and apparatus for efficient ordered stores over an interconnection network
WO2023121775A1 (en) System, method, apparatus and architecture for dynamically configuring device fabrics
JP6092351B2 (ja) クロスダイ・インタフェース・スヌープ又はグローバル観測メッセージの順序付け
US20130007768A1 (en) Atomic operations on multi-socket platforms
CN110737618A (zh) 内嵌处理器进行快速数据通信的方法、装置及存储介质
US9176554B2 (en) Power management in a bridge based on a second derivative value derived from a mathematical derivative of plurality of values corresponding to the received packets
CN106557429A (zh) 一种内存数据的迁移方法和节点控制器
US7814301B2 (en) Clock architecture for multi-processor systems
US20240004750A1 (en) Remote scalable machine check architecture

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130626

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees