JP5833282B2 - 多階層キャッシュコヒーレンシドメインシステムおよび多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法 - Google Patents

多階層キャッシュコヒーレンシドメインシステムおよび多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法 Download PDF

Info

Publication number
JP5833282B2
JP5833282B2 JP2015527785A JP2015527785A JP5833282B2 JP 5833282 B2 JP5833282 B2 JP 5833282B2 JP 2015527785 A JP2015527785 A JP 2015527785A JP 2015527785 A JP2015527785 A JP 2015527785A JP 5833282 B2 JP5833282 B2 JP 5833282B2
Authority
JP
Japan
Prior art keywords
state
node
data
remote
copy
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
Application number
JP2015527785A
Other languages
English (en)
Other versions
JP2015525939A (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 JP2015525939A publication Critical patent/JP2015525939A/ja
Application granted granted Critical
Publication of JP5833282B2 publication Critical patent/JP5833282B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0828Cache consistency protocols using directory methods with concurrent directory accessing, i.e. handling multiple concurrent coherency transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • G06F12/0897Caches characterised by their organisation or structure with two or more cache hierarchy levels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/604Details relating to cache allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、コンピュータシステムアーキテクチャ分野に関し、特に、多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法に関する。
マルチキャッシュコピーシステムの全体のキャッシュコヒーレンスを維持するために、分散型共有メモリコンピュータシステムでMESIFプロトコルが広く適用される。ここで、1)M(Modified)状態は変更された状態であり、あるCPUにおいてキャッシュデータが変更された状態であることを示す。そのデータはルートメモリの対応するデータと異なる。そのデータは全体のシステムにおけるユニークな最新のコピーである。CPUがキャッシュのデータを置き換えるか、または他のCPUがそのデータにアクセスするとき、ルートメモリにデータを書き戻し、ルートメモリ内の対応するデータを最新の状態にするように、全体のコヒーレンス操作が生じなければならない。2)E(Exclusive)状態はデータがただ一つだけ存在する状態であり、キャッシュデータがあるCPUにおいて共有されない状態であり、他のCPUのキャッシュがそのデータコピーを持たないことを示す。そのデータは変更されておらず、ルートメモリにおける対応するデータと一致している。動作している間、そのデータコピーを所有しているCPUは、自動的にそのデータをE状態からS状態に下げるか、またはルートメモリに通知することなしに直接そのデータのキャッシュラインをカバーして置き換えることができる(すなわち、I状態に変更することができる。)。その操作は全体のキャッシュコヒーレンスに影響を及ぼさない。3)S(Shared)状態は共有された状態であり、そのデータは1つ以上のCPUにコピーを持ち、コピーデータは変更されておらず、ルートメモリ内の対応するデータと一致していることを示す。動作している間、そのデータコピーを所有しているCPUは、ルートメモリに通知することなしに、自動的にそのデータをS状態からI状態に下げることができる。その操作は全体のキャッシュコヒーレンスに影響を及ぼさない。4)I(Invalid)状態は無効状態であり、CPUにおけるキャッシュのデータが無効であることを示す。キャッシュコヒーレンス操作を実行する必要なしに、そのキャッシュラインは直接カバーされ、置き換えられる。5)F(Forwarding)状態は転送状態であり、キャッシュのデータはあるCPUにおいて転送機能を持って共有された状態にあり、そのシステムにおいてデータの状態はユニークであり、そのコピーは変更されておらず、ルートメモリの対応するデータと一致していることを示す。更に、他のCPUは1つ以上の状態の機能を有しない同一のS状態のデータコピーを持つことができる。
F状態とS状態の間の唯一の違いは、F状態が転送能力を持つS状態であり、S状態が転送能力を持たないということである。CPUがS状態タイプのデータリード要求を送信するとき、F状態の唯一のキャッシュデータがデータの要求元にデータコピーを転送することができ、S状態である状態ビットを持つキャッシュデータはデータコピーを転送することができない。F状態のデータコピーがあるCPUから他のCPUに転送されるならば、F状態のビットはデータコピーとともに移動する。そして、このとき要求元CPUの新しく生成されたキャッシュのデータコピーの状態がF状態に変更され、オリジナルCPUのデータコピーの状態がS状態に変更される。
バススヌープ方式に基づいて全体のキャッシュコヒーレンスを維持するSMPシステムに対して、システムの規模が小さく、コヒーレンスを維持するためのオーバヘッドが明白ではないので、MESI状態プロトコルは条件を満たし、F状態はサポートされない。けれども、ディレクトリ方式に基づいて全体のキャッシュコヒーレンスを維持する分散共有メモリシステムに対して、F状態をサポートするMESIFプロトコルはルートメモリからデータを読む必要なしにShared状態のデータをCPUのキャッシュの間で転送することを可能とし、各要求に対して要求元のCPUにデータを送信し、従って、システムのコヒーレンスプロセスのオーバヘッドを削減する。従って、F状態をサポートすることが特に必要である。
CC−NUMAシステムはディレクトリ方式に基づく代表的な分散共有メモリ・マルチプロセサシステムである。CC−NUMAコンピュータシステムでは、ノードコントローラが極めて重要な役割を果たす。ノードコントローラはまず各サーバのプロセサと接続され、ノードとノード内キャッシュコヒーレンシドメインを形成する。次に、ノードコントローラは直接接続されるか、またはノードルータを介して接続され、ノード間相互接続システムとノード間キャッシュコヒーレンシドメインを形成する。2階層のドメインを使うことによって、プロセサの相互接続ポートの数とキャッシュコヒーレンスの維持される規模のような物理的な制限を克服することができる。従って、大規模CC−NUMAコンピュータシステムを形成することができる。
ポイントツーポイント相互接続方式に基づくCC−NUMAシステムに対して、各プロセサのCPUはメモリコントローラと統合され、外部にメモリが接続され、全システム空間におけるキャッシュコヒーレンスメモリ空間の部分を管理してメモリ空間のこの部分のホームプロクシになる。このとき、全体のキャッシュコヒーレンスがバススヌープ方式で維持されるならば、処理されるべきコヒーレンスパケットの数がノードとCPUの数の増加に伴って指数関数的に増加するであろう。それで、システムのコヒーレンスの維持と処理は全く非効率的となる。従って、CC−NUMAシステムは一般に多階層コヒーレンスディレクトリ方式を採用して全体のキャッシュコヒーレンスを維持する。メモリ空間のある部分に対するデータアクセスまたはコヒーレンス許可要求は、(その部分がキャッシュコヒーレンス空間のこの部分を管理するルートプロセサと同じノードおよび同じキャッシュコヒーレンシドメインに位置する場合には、)直接接続方式で要求元のプロセサによってアクセスされることが必要であり、またはノードコントローラを使うことによってノード間相互接続ネットワークを介してルートノードのルートプロセサのホームプロキシに転送され(このとき、ノード間およびキャシュコヒーレンシドメインのアクセスが必要とされる。)、ホームプロクシのディレクトリ情報を最新の状態にする。ノード間のキャッシュコヒーレンスの維持のために、ノードコントローラは主に2つの機能を有する。一つの機能はリモートノードへのローカルノードプロセサのアクセスのためにリモートプロクシとしての役目を果たすことである(2階層のキャッシュコヒーレンスドメインの変換ロジックが実装されることが必要である。)。このとき、ローカルプロセサによるリモートキャッシュラインのデータへのアクセス情報とコヒーレンス状態を記録するために、ノードコントローラがリモートディレクトリを管理することが必要である。他の機能はローカルノード内のプロセサへのリモートノードのデータアクセスに対してローカルプロクシとしての役割を果たすことである(2階層のキャッシュコヒーレンスドメインの変換ロジックが実装されることが必要である。)。このとき、リモートノードによるローカルキャッシュラインのデータへのアクセス情報とコヒーレンス状態を記録するために、ノードコントローラがローカルディレクトリを管理することが必要である。明らかにこの方法は多段階のホップアクセスを生じ、2階層のキャッシュコヒーレンシドメインのロジック変換が必要になる。それはアクセスの遅延を大きく増加させる。特に、リモートキャッシュラインのデータへのアクセスは実装のために多数のコヒーレンス操作を必要とし、ノード間アクセスの効率を低下させる。従って、2階層または多階層のキャッシュコヒーレンスドメインによって形成されるCC−NUMAアーキテクチャのコンピュータシステムのために、ノード内ドメインの相互接続バンド幅と効率はノード間の相互接続バンド幅と効率よりもずっと高く、メモリアクセスのバランスの悪さはより明らかである。
F状態をサポートするMESIFプロトコルは、CC−NUMAシステムのノード間キャッシュコヒーレンシドメインにおける共有データのノード間相互接続の転送問題を効果的に軽減することができ、ルートノードのルートプロセサのメモリからデータコピーを読むオーバヘッドを毎回除去し、システムのコヒーレンス処理の効率を改善する。
けれども、MESIFプロトコルはノード内のプロセサ間でS状態のデータ(ノード内のあるキャッシュデータがS状態にあるとみなされる。)を相互に転送する問題を解決することができないことに注意すべきである。すなわち、ノード内の他のプロセサはそのノードのS状態のプロセサからS状態のキャッシュのデータコピーを直接得ることができず、ノード間の方法でそのデータのルートノードに要求を送ってF状態のデータを持つ他のノードからそのデータを得なければならない。そして、それはプロセサのノード間アクセスの頻度と処理オーバヘッドを増加させる。
従って、ローカルのShare−F状態をノードコントローラとプロセサによって形成されるノード内キャッシュコヒーレンシドメインで構成することができ、ルートノードにアクセスせずに同じアドレスを持つS状態のキャッシュのデータをドメイン内で直接転送することが許されるならば、プロセサのノード間アクセスの頻度とオーバヘッドを大きく低下させることができる。システム全体の観点からすれば、2階層ドメインまたは多階層ドメインのキャッシュコヒーレンスシステム内に多数のF状態が存在するけれども、各キャッシュコヒーレンスドメインは1つのF状態を持つだけであり、それで全体のキャッシュコヒーレンスプロトコルのルールに反することなしにプロセサのノード間アクセスの頻度とオーバヘッドが低下する。
上述した問題を解決するために、本発明の目的は多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法を提供することであって、その構成方法は主に先行技術におけるノード間アクセスの高い頻度と高いオーバヘッドの問題に狙いを定めた新しい解決策を提供し、従って2階層または多階層のキャシュコヒーレンシドメインCC−NUMAシステムの性能を改善する。
上述した目的を達成するために、本発明の多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法は、
1)リモートノード内のルートメモリのアドレスのデータにアクセスすることが要求されたとき、リモートデータディレクトリRDIRを調べることによって、ノード内のプロセサが当該アドレスのデータのコピーであるデータコピーを所有しており、当該データコピーのコヒーレンス状態がノード間S状態であって、かつノード内F状態であるか否かを判別するステップと、
2)ステップ1)でノード内のプロセサが前記アドレスのデータのコピーであるデータコピーを所有しており、前記データコピーのコヒーレンス状態がノード間S状態であって、かつノード内F状態であると判別された場合に、前記データコピーを要求元に直接転送し、当該要求元のデータコピーのコヒーレンス状態をノード内I状態からノード内F状態に変更することによってShare−F状態とし、一方要求された当該データコピーのコヒーレンス状態をノード内F状態からノード内S状態に変更するステップと、
3)リモートノード内のルートメモリのアドレスのデータにアクセスすることが要求されたとき、リモートデータディレクトリRDIRを調べることによって、ノード内のプロセサが当該アドレスのデータのコピーであるデータコピーを未所有であるか否か、および当該データコピーを所有するが当該データコピーのコヒーレンス状態がノード内S状態であるか否かを判別するステップと、
4)ステップ3)でノード内のプロセサが前記アドレスのデータのコピーであるデータコピーを未所有であるか、または当該データコピーを所有するが当該データコピーのコヒーレンス状態がノード内S状態であると判別された場合に、前記アクセスすることが要求されたデータをCPUのルートメモリに所有するリモートノードのローカルメモリディレクトリLDIRを調べることによって、コヒーレンス状態がノード間F状態である当該データコピーを所有するリモートノードを発見するステップと、
5)ステップ4)で発見されたリモートノードにおいて、リモートデータディレクトリRDIRを調べることによって、コヒーレンス状態がノード内F状態である前記データコピーを所有する当該リモートノード内のプロセサを発見するステップと、
6)ステップ5)で発見された前記リモートノード内のプロセサから前記データコピーを要求元に直接転送当該要求元のデータコピーのコヒーレンス状態をノード内I状態およびノード間I状態からノード内F状態およびノード間F状態に変更し、要求された前記リモートノード内のプロセサのデータコピーのコヒーレンス状態をノード間F状態からノード間S状態に変更することによってShare−F状態とするステップと、
を備えることを特徴とする。
好ましくは、
コヒーレンス情報が3段階のディレクトリによって記録され、第1段階のデイレクトリはノードコントローラのリモートデータプロクシユニットRPに位置するリモートデータディレクトリRDIRであり、第2段階のデイレクトリはノードコントローラのローカルデータプロクシユニットLPに位置するローカルデータプロクシディレクトリLDIRであり、第3段階はルートプロセサのメモリデータプロクシユニットに位置するルートディレクトリであることを特徴とする。
好ましくは、
リモートデータディレクトリRDIRにおけるS状態が、それぞれノード内フラグシグナルとノード間フラグシグナルを使うことによって、2重ベクトル表現法で表され、当該2つのフラグシグナルは食い違った情報を持つことができ、ノード内キャッシュコヒーレンシドメインにおける状態がF状態として設定され、かつノード間キャッシュコヒーレンシドメインにおける状態がS状態として設定されるShare−F状態に設定されることができることを特徴とする。
好ましくは、
同一のアドレスを持つS状態のデータコピーが各キャッシュコヒーレンシドメイン内でShare−F状態を構成することが許され、従って、システム全体では多数のF状態が存在するが、各キャッシュコヒーレンシドメインは1つのF状態のみを持つことを特徴とする。
好ましくは、
ノードコントローラはリモートデータキャッシュRDCを接続することができ、キャッシュされたS状態のリモートデータコピーはノード間キャッシュコヒーレンシドメインS状態かつノード内キャッシュコヒーレンシドメインF状態として記録されることを特徴とする。
本発明の多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法は、ノード内の複数のプロセサによって使用されるノードのリモートキャッシュデータを効果的にサポートすることができ、ノード間アクセスの頻度とオーバヘッドを低下させ、従って2階層または多階層のキャッシュコヒーレンシドメインCC−NUMAシステムのシステム性能を大きく改善する。
マルチノード・マルチプロセサシステムの構成の概略図である。 ここに開示されている第1の実施形態に係るローカルノードにおけるメモリアクセスの概略図である。第1の実施形態では、ローカルのShare−F状態は存在しない。 ここに開示されている第2の実施形態に係るリモートノードにおけるメモリアクセスの概略図である。第2の実施形態では、ローカルのShare−F状態は存在しない。 ここに開示されている第3の実施形態に係るローカルノードにおけるメモリアクセスの概略図である。第3の実施形態では、ローカルのShare−F状態が存在する。 ここに開示されている第4の実施形態に係るリモートノードにおけるメモリアクセスの概略図である。第4の実施形態では、ローカルのShare−F状態が存在する。
ここに本発明の目的、技術的解決策および長所をもっと分かりやすくするために、添付図面と実施形態を組み合わせて本発明について更に詳細に説明する。ここに記載される特定の実施形態は本発明を説明するために使われるのみであり、本発明を制限することを意図しないことが理解されるべきである。
図1に示すように、各ノードは2個のプロセサCPUと1個のノードNCのコントローラで形成される。ローカルノード内の数個のプロセサと1個のノードコントローラがノード内キャッシュコヒーレンシドメイン内に位置し、数個のノードコントローラがシステムの相互配線ネットワークによって接続され、ノード間キャッシュコヒーレンシドメインを形成する。そこで、プロセサはノード内のプロセサ間データ転送を実現し、ノードコントローラのプロクシを使うことによってノード間メモリアクセスとデータ転送のような操作を実現する。
図2に示すように、システムは4つのノードNCとノード間相互接続ネットワーク(176)によって形成される。各ノードは2個のCPUを含む。ノード内のノードNCとCPUはそれぞれノード内キャッシュコヒーレンシドメインを形成する。ノード内キャッシュコヒーレンシドメインは、ノードNC1内のキャッシュコヒーレンシドメイン(109)、ノードNC2内のキャッシュコヒーレンシドメイン(129)、ノードNC3内のキャッシュコヒーレンシドメイン(149)、およびノードNC4内のキャッシュコヒーレンシドメイン(169)を含む。同時に、ドメイン間相互接続ネットワークを使うことによって4つのノードNCはノード間キャッシュコヒーレンシドメイン(189)を構成する。
本実施形態では、ノードNC1(104)内のCPU1(103)が、リモートノードNC2(124)内のCPU2(134)で、あるルートメモリへのアクセスを実行する。そのメモリアドレスはaddr1である。そして、アクセスの前にノードNC1(104)でCPU2(114)はaddr1のデータコピーを所有し、コヒーレンス状態はSである。アクセスの過程は次の通り記述される。
1)プロセサCPU1(103)はアクセス要求を送信する。そして、その操作はローカルキャッシュでヒットしない。それで、プロセサは、ノードNC1(104)のコントローラのリモートデータプロクシRP(105)ユニットのホームプロクシHP(106)にリモートルートノードNC2でメモリのデータにアクセスするための要求を送信する。ノードNC1(104)のコントローラのリモートデータホームプロクシHP(106)はそのリモートデータディレクトリRDIRに問い合わせ、ローカルプロセサCPU2(114)がアドレスaddr1に対応するデータコピーを持ち、そのコヒーレンス状態がSであることを発見する。従って、リモートデータホームプロクシHP(106)は要求タイプ、アクセスアドレスなどを含むアクセス要求情報を記憶し、それからノードNC1(104)のリモートデータキャッシュプロクシCP(108)にその要求を転送する。
2)ノードNC1(104)のリモートデータキャッシュプロクシCP(108)は、ドメイン間相互接続ネットワーク(176)を使うことによってリモートノードNC2(124)のローカルデータプロクシユニット(130)のローカルデータホームプロクシHP(131)にアクセス要求メッセージを送信する。
3)ノードNC2のローカルデータプロクシユニットLP(130)のホームプロクシHP(131)は、(要求タイプ、アクセスアドレスなどを含む)アクセス要求情報を記憶し、ローカルデータディレクトリLDIRを調べた後で、ノード間キャッシュコヒーレンシドメイン(189)内の他のノードがデータコピーを所有しないか、またはS状態のコヒーレンス状態を持つデータコピーを所有するのみであることを発見する。そしてそれから、ローカルキャッシュプロクシCP(133)にその情報を転送する。ローカルキャッシュプロクシCP(133)はプロセサCPU2(134)にそのアクセス要求情報を送信する。
4)アクセス要求情報を受信した後で、プロセサCPU2(134)は、アドレスaddr1でメモリMem2(135)からデータを抜き出し、ノードNC2(124)のコントローラのローカルデータプロクシユニットLP(130)のローカルキャッシュプロクシCP(133)にデータの情報を返す。そして、ローカルキャッシュプロクシCPはローカルデータホームプロクシHP(131)にその情報を転送する。ローカルデータホームプロクシHP(131)はローカルデータディレクトリLDIRを最新の状態にし、ノード間キャッシュコヒーレンシドメイン(189)内のアドレスaddr1に対応するノードNC1(104)のデータコピーのコヒーレンス状態情報をI状態からS状態に変更する。そして、ホームプロクシHP(131)はドメイン間相互接続ネットワーク(176)を介してノードNC1(104)のコントローラのリモートデータプロクシユニットRP(105)のリモートキャッシュプロクシCP(108)に返信情報を送信する。
5)ノードNC1(104)のリモートデータプロクシユニットRP(105)のリモートキャッシュプロクシCP(108)は、返信情報を受信し、それからリモートデータホームプロクシHP(106)にその返信情報を転送する。リモートデータホームプロクシHP(106)は、リモートデータディレクトリRDIRを最新の状態にし、ノードNC1内のキャッシュコヒーレンシドメイン(109)におけるアドレスaddr1に対応するCPU1(103)プロセサのデータコピーのコヒーレンス状態情報をI状態からS状態に変更し、CPU1(103)に返信データ情報を送信する。
図3に示すように、システムは4つのノードNCとノード間相互接続ネットワーク(276)によって形成される。各ノードNCは2個のCPUを含む。ノード内のノードNCとCPUはそれぞれノード内キャッシュコヒーレンシドメインを形成する。キャッシュコヒーレンシドメインは、ノードNC1内のキャッシュコヒーレンシドメイン(209)、ノードNC2内のキャッシュコヒーレンシドメイン(229)、ノードNC3内のキャッシュコヒーレンシドメイン(249)、およびノードNC4内のキャッシュコヒーレンシドメイン(269)を含む。同時に、ドメイン間相互接続ネットワークを使うことによって4つのノードNCはノード間キャッシュコヒーレンシドメイン(289)を構成する。
本実施形態では、ノードNC3(244)内のCPU1(243)が、リモートノードNC2(224)内のCPU2(234)で、あるルートメモリへのアクセスを実行する。そのメモリアドレスはaddr2である。アクセスの前に、ノードNC1(204)でCPU1(203)プロセサはメモリアドレスaddr2に対応するデータコピーを所有し、コヒーレンス状態はF状態である。アクセスの過程は次の通り記述される。
1)プロセサCPU1(243)はアクセス要求を送信する。そして、その操作はローカルキャッシュでヒットしない。それで、プロセサは、ノードNC3(244)のコントローラのリモートデータプロクシユニットRP(245)のリモートデータホームプロクシHP(246)にリモートルートノードNC2(224)でメモリのデータにアクセスするための要求を送信する。ノードNC3(244)のコントローラのリモートデータホームプロクシHP(246)は、アクセス要求情報(要求タイプ、アクセスアドレスなど)を記憶した後で、リモートデータディレクトリRDIR(247)に問い合わせ、他のローカルCPUがそのデータコピーを所有しないか、またはそのデータコピーを所有するがそのコヒーレンス状態がS状態であることを発見する。それで、リモートデータホームプロクシHPはリモートデータキャッシュプロクシCP(248)にその要求を転送する。そして、リモートデータキャッシュプロクシCP(248)はドメイン間相互接続ネットワークを介してリモートノードNC2(224)のローカルデータプロクシユニットLP(230)にアクセス要求情報を送信する。
2)ノードNC2(224)のコントローラのローカルデータプロクシユニットLP(230)のホームプロクシHP(231)は、アクセス要求情報(アクセスタイプ、アクセスアドレスなど)を記憶し、ローカルデータディレクトリLDIR(232)を調べ、アドレスaddr2に対応するデータコピーがノードNC1に位置し、F状態にあることを発見した後で、ノードNC1(204)のリモートデータプロクシユニットRP(205)にスヌープaddr2パケットを送信する。
3)ノードNC1(204)のコントローラのリモートデータプロクシユニットRP(205)のリモートデータキャッシュプロクシCP(208)は、ルートノードNC2(224)によって送信されたスヌープ要求を受信し、それからリモートデータホームプロクシHP(206)にその要求を転送する。リモートデータホームプロクシHP(206)はリモートデータディレクトリRDIR(207)を調べ、そのノード内のCPU1がaddr2メモリのデータコピーを所有し、そのデータコピーはF状態にあることを発見し、それからCPU1(203)にスヌープパケットを転送する。
4)CPU1(203)はスヌープパケットを受信し、アドレスaddr2に対応するキャッシュデータの状態をF状態からS状態に変更し、ノードNC1(204)のリモートデータプロクシユニットRP(205)のリモートデータホームプロクシHP(206)にF状態を持ったデータ情報を返す。そして、リモートデータホームプロクシHP(206)はリモートデータキャッシュプロクシCP(208)に返されたデータ情報を転送し、リモートデータディレクトリRDIR(207)を最新の状態とし、アドレスaddr2に対応するCPU1(203)のデータコピーの状態をF状態からS状態に変更する。
5)ノードNC1(204)のコントローラのリモートデータプロクシユニットRP(205)のリモートデータキャッシュプロクシCP(208)は、ドメイン間相互接続ネットワークを介してノードNC2(224)のローカルデータプロクシユニットLP(230)のホームプロクシHP(231)にスヌープ情報を返し、ノードNC3(244)のリモートデータプロクシユニットRP(245)のリモートデータキャッシュプロクシCP(248)にアドレスaddr2に対応するデータ情報を直接転送する。
6)ノードNC3(244)のリモートデータプロクシユニットRP(245)のリモートデータキャッシュプロクシCP(248)は、ノードNC1(204)によって転送されたアドレスaddr2に対応するデータ情報を受信し、それからリモートデータホームプロクシHP(246)にそのデータ情報を転送する。ホームプロクシHP(246)はプロセサCPU1(243)にそのデータ情報を送信し、そのノードのリモートデータディレクトリRDIR(247)を最新の状態とし、アドレスaddr2に対応するCPU1(243)のデータコピーの状態をI状態からF状態に変更する。
7)返されたデータ情報を受信した後で、プロセサCPU1(243)は対応するデータ情報を記憶し、アドレスaddr2に対応するデータコピーのコヒーレンス状態をキャッシュディレクトリにF状態として記録する。
図4に示すように、システムは4つのノードNCとノード間相互接続ネットワーク(376)によって形成される。各ノードNCは2個のCPUを含む。ノード内のノードNCとCPUはそれぞれノード内キャッシュコヒーレンシドメインを形成する。キャッシュコヒーレンシドメインは、ノードNC1内のキャッシュコヒーレンシドメイン(309)、ノードNC2内のキャッシュコヒーレンシドメイン(329)、ノードNC3内のキャッシュコヒーレンシドメイン(349)、およびノードNC4内のキャッシュコヒーレンシドメイン(369)を含む。同時に、ドメイン間相互接続ネットワークを使うことによって4つのノードNCはノード間キャッシュコヒーレンシドメイン(389)を構成する。
本実施形態では、ノードNC3(344)内のCPU1(343)が、リモートノードNC2(324)内のCPU2(334)で、あるルートメモリへのアクセスを実行する。そのメモリアドレスはaddr3である。アクセスの前に、ノードNC1(304)のCPU1(303)プロセサはアドレスaddr3でメモリのデータコピーを所有し、コヒーレンス状態はF状態である。アクセスパスは第2の実施形態のそれと同様であるが、2階層キャッシュコヒーレンスドメインにおけるF状態の転送と移動の過程は異なる。特有の過程が次の通り記述される。
1)プロセサCPU1(343)はアクセス要求を送信する。そして、その操作はローカルキャッシュでヒットしない。それで、プロセサは、NC3(344)のノードコントローラにおけるリモートデータプロクシユニットRP(345)のホームプロクシHP(346)にリモートノードNC2(324)でメモリのデータにアクセスするための要求を送信する。ノードNC3(344)のコントローラのリモートデータホームプロクシHP(346)は、アクセス要求情報(アクセスタイプ、アクセスアドレスなど)を記憶し、それから、リモートデータディレクトリRDIR(347)に問い合わせ、他のローカルCPUがそのデータコピーを所有しないか、またはそのデータコピーを所有するがそのコヒーレンス状態がS状態であることを発見する。それで、リモートデータホームプロクシHPはリモートデータキャッシュプロクシCP(348)にその要求を転送する。そして、リモートデータキャッシュプロクシCP(348)はドメイン間相互接続ネットワークを介してノードNC2(324)のローカルデータプロクシユニットLP(330)にアクセス要求情報を送信する。
2)ノードNC2(324)のコントローラのローカルデータプロクシユニットLP(330)のローカルデータホームプロクシHP(331)は、アクセス要求情報(アクセスタイプ、アクセスアドレスなど)を記憶し、アドレスaddr3に対応するメモリのデータコピーの状態のためにローカルメモリディレクトリLDIR(332)を調べ、ノード間キャッシュコヒーレンシドメイン領域(389)内のノードNC1がデータコピーを持ち、コヒーレンス状態がFであることを発見し、それからドメイン間相互接続ネットワークを介してノードNC1(304)のリモートデータプロクシユニットRP(305)にスヌープaddr3パケットを送信する。
3)ノードNC1(304)のコントローラのリモートデータプロクシユニットRP(305)のリモートキャッシュプロクシCP(308)は、NC2(324)ルートノードによって送信されたスヌープパケットを受信し、それからリモートデータホームプロクシHP(306)にその要求を転送する。ホームプロクシHP(306)はリモートデータディレクトリRDIR(307)を調べ、それからそのノード内のCPU1(303)がアドレスaddr3に対応するデータコピーを所有し、コヒーレンス状態はFであることを発見し、それからホームプロクシHP(306)はCPU1(303)にスヌープパケットを転送する。
4)CPU1(303)はスヌープパケットを受信し、そのスヌープパケットがノードNC1(304)によって転送されたドメイン間スヌープパケットであることを発見し、それからアドレスaddr2に対応するデータコピーの状態をF状態として保ち、ノードNC1(304)のリモートデータプロクシユニットRP(305)のリモートデータホームプロクシHP(306)にF状態のデータ情報を返す。リモートデータホームプロクシHP(306)はリモートデータキャッシュプロクシCP(308)に返されたデータ情報を転送し、リモートデータディレクトリRDIR(307)を最新の状態とし、CPU1(303)プロセサにおけるアドレスaddr2に対応するデータコピーの状態をノードNC1(304)のキャッシュコヒーレンシドメイン(309)におけるF状態として記録し、ノード間キャッシュコヒーレンシドメイン領域(389)のNC1(304)ノードにおけるアドレスaddr3に対応するデータコピーの状態をF状態からS状態に変更する。
5)ノードNC1(304)のリモートデータプロクシユニットRP(305)のリモートキャッシュプロクシCP(308)は、ドメイン間相互接続ネットワークを介してノードNC2(324)のローカルデータプロクシユニットLP(330)のホームプロクシHP(331)にスヌープ情報を送信し、ノードNC3(344)のリモートデータプロクシユニットRP(345)のリモートデータキャッシュプロクシCP(348)にアドレスaddr3に対応するデータ情報を直接転送する。
6)NC2(324)ノードのローカルデータプロクシユニットLP(330)のホームプロクシHP(331)は、返されたスヌープ情報を受信し、ローカルメモリプロクシディレクトリLDIR(332)におけるアドレスaddr3に対応するデータコピーの状態を最新の状態にし、ノード間キャッシュコヒーレンシドメイン領域(389)のノードNC1(304)におけるアドレスaddr3に対応するデータコピーの状態をF状態からS状態に変更し、ノードNC3(344)のアドレスaddr3に対応するデータコピーの状態をI状態からF状態に変更する。
7)ノードNC3(344)のリモートデータプロクシユニットRP(345)のリモートデータキャッシュプロクシCP(348)は、ノードNC1(304)によって転送されたアドレスaddr3に対応するデータ情報を受信し、それからリモートデータホームプロクシHP(346)にそのデータ情報を転送する。ホームプロクシHP(346)はプロセサCPU1(343)にそのデータ情報を送信し、そのノードのリモートデータディレクトリRDIR(347)を最新の状態とし、ノードNC3内のキャッシュコヒーレンシドメイン(349)のCPU1(343)プロセサにおけるアドレスaddr3に対応するキャッシュの状態をI状態からF状態に変更し、ノード間キャッシュコヒーレンシドメイン領域(389)のノードNC3(344)におけるアドレスaddr3に対応するデータコピーの状態をI状態からF状態に変更する。
図5に示すように、システムは4つのノードNCとノード間相互接続ネットワーク(476)によって形成される。各ノードNCは2個のCPUを含む。ノード内のノードNCとCPUはそれぞれノード内キャッシュコヒーレンシドメインを形成する。キャッシュコヒーレンシドメインは、ノードNC1内のキャッシュコヒーレンシドメイン(409)、ノードNC2内のキャッシュコヒーレンシドメイン(429)、ノードNC3内のキャッシュコヒーレンシドメイン(449)、およびノードNC4内のキャッシュコヒーレンシドメイン(469)を含む。同時に、ドメイン間相互接続ネットワークを使うことによって4つのノードNCはノード間キャッシュコヒーレンシドメイン(489)を構成する。
本実施形態では、ノードNC1(404)内のプロセサCPU2(414)が、リモートノードNC2(424)内のCPU2(434)プロセサで、あるルートメモリへのアクセスを実行する。そのメモリアドレスはaddr4である。アクセスの前に、ノードNC1(404)のCPU1(403)プロセサはアドレスaddr4に対応するメモリのデータコピーを所有し、そのデータコピーのコヒーレンス状態はF状態である。アクセスの過程は次の通り記述される。
1)ノードNC1(404)内のプロセサCPU2(414)はアクセス要求を送信する。そして、その操作はローカルキャッシュでヒットしない。それで、プロセサは、ノードNC1(404)のコントローラ内のリモートデータプロクシユニットRP(405)のリモートデータホームプロクシHP(406)にリモートルートノードNC2(424)でメモリのデータにアクセスするための要求を送信する。
2)ノードNC1(404)のコントローラのリモートデータプロクシユニットRP(405)のリモートデータホームプロクシHP(406)は、アクセス要求情報(アクセスタイプ、アクセスアドレスなど)を記憶し、それからリモートデータディレクトリRDIR(407)を調べ、ローカルCPU1(403)がそのデータコピーを所有し、アドレスaddr4に対応するそのデータコピーの状態がノードNC1(404)のキャッシュコヒーレンシドメイン(409)内でF状態として記録されており、ノード間キャッシュコヒーレンシドメイン(489)内でS状態として記録されていることを発見する。それで、アドレスaddr4のデータがノードNC1(404)内でShare−F状態にあうことが決定される。
3)ノードNC1(404)のコントローラのリモートデータプロクシユニットRP(405)でリモートデータホームプロクシHP(406)はCPU1(403)にスヌープパケットを送信する。CPU1(403)はスヌープパケットを受信してそのパケットを解析し、そのパケットがノードNC1(404)におけるプロセサCPU2(414)の要求であることを発見する。それでプロセサCPU1はノードNC1(404)のコントローラのリモートデータプロクシユニットRP(405)にスヌープ情報を送信し、アドレスaddr4に対応するデータ情報とコヒーレンス状態をプロセサCPU2(414)に転送し、CPU1(403)におけるキャッシュディレクトリのアドレスaddr4に対応するデータコピーのコヒーレンス状態情報を最新の状態とし、コヒーレンス状態情報をF状態からS状態に変更する。
4)ノードNC1(404)のコントローラのリモートデータプロクシユニットRP(405)のリモートデータホームプロクシHP(406)は、スヌープ情報を受信し、それからリモートデータディレクトリRDIR(407)を最新の状態にし、ノードNC1におけるキャッシュコヒーレンシドメイン(409)内のプロセサCPU1(403)のアドレスaddr4に対応するデータコピーの状態をF状態からS状態に変更し、CPU2(414)のアドレスaddr4に対応するデータコピーの状態をI状態からF状態に変更する。
5)プロセサCPU2(414)は、プロセサCPU1(403)によって転送されたアドレスaddr4に対応するデータ情報とコヒーレンス状態を受信し、そのキャッシュディレクトリにおけるアドレスaddr4に対応するデータコピーのコヒーレンス状態をI状態からF状態に変更する。
上述した記載は本発明の好ましい実施形態のみであり、本発明を制限することを意図しない。本発明の精神と原理から逸脱することなしになされたいかなる変更、等価な置き換えおよび改善も本発明の保護範囲に含まれるであろう。

Claims (6)

  1. メモリがそれぞれ接続された複数のプロセサと当該複数のプロセサが接続されたノードコントローラとによってローカルドメインであるノードが形成され、複数の当該ノードに含まれる各ノードコントローラがドメイン間相互接続ネットワークによって相互に接続された多階層キャッシュコヒーレンシドメインシステムであって、
    いずれかの前記メモリに記憶されているデータのコピーであるデータコピーが複数の前記プロセサのキャッシュに記憶されているときに、
    1つの前記ノードに含まれる1個のプロセサのキャッシュに記憶されている前記データコピーの状態がノード間で当該データコピーを転送できるノード間F状態にセットされるとともにノード内で他のプロセサに当該データコピーを転送できるノード内F状態にセットされ、
    前記1つのノードを除く各前記ノードに含まれるプロセサのキャッシュに前記データコピーが記憶されている場合に、当該各前記ノードに含まれる1個のプロセサのキャッシュに記憶されている前記データコピーの状態が、ノード間では当該データコピーを転送できないノード間S状態であり、ノード内では他のプロセサに当該データコピーを転送できるノード内F状態であるShare−F状態にセットされ、
    各前記ノードに含まれる1個のプロセサのキャッシュにノード内で他のプロセサに転送できるノード内F状態の前記データコピーが記憶されているときに、各前記ノードに含まれる他のプロセサが前記メモリに記憶されているデータへのアクセスを要求した場合に、各前記ノード内において、ノード内F状態の前記データコピーをキャッシュに記憶している前記1個のプロセサが当該データコピーを前記他のプロセサに転送する、
    ことを特徴とする多階層キャッシュコヒーレンシドメインシステム。
  2. 1)リモートノード内のルートメモリのアドレスのデータにアクセスすることが要求されたとき、リモートデータディレクトリRDIRを調べることによって、ノード内のプロセサが当該アドレスのデータのコピーであるデータコピーを所有しており、当該データコピーのコヒーレンス状態がノード間S状態であって、かつノード内F状態であるか否かを判別するステップと、
    2)ステップ1)でノード内のプロセサが前記アドレスのデータのコピーであるデータコピーを所有しており、前記データコピーのコヒーレンス状態がノード間S状態であって、かつノード内F状態であると判別された場合に、前記データコピーを要求元に直接転送し、当該要求元のデータコピーのコヒーレンス状態をノード内I状態からノード内F状態に変更することによってShare−F状態とし、一方要求された当該データコピーのコヒーレンス状態をノード内F状態からノード内S状態に変更するステップと、
    3)リモートノード内のルートメモリのアドレスのデータにアクセスすることが要求されたとき、リモートデータディレクトリRDIRを調べることによって、ノード内のプロセサが当該アドレスのデータのコピーであるデータコピーを未所有であるか否か、および当該データコピーを所有するが当該データコピーのコヒーレンス状態がノード内S状態であるか否かを判別するステップと、
    4)ステップ3)でノード内のプロセサが前記アドレスのデータのコピーであるデータコピーを未所有であるか、または当該データコピーを所有するが当該データコピーのコヒーレンス状態がノード内S状態であると判別された場合に、前記アクセスすることが要求されたデータをCPUのルートメモリに所有するリモートノードのローカルメモリディレクトリLDIRを調べることによって、コヒーレンス状態がノード間F状態である当該データコピーを所有するリモートノードを発見するステップと、
    5)ステップ4)で発見されたリモートノードにおいて、リモートデータディレクトリRDIRを調べることによって、コヒーレンス状態がノード内F状態である前記データコピーを所有する当該リモートノード内のプロセサを発見するステップと、
    6)ステップ5)で発見された前記リモートノード内のプロセサから前記データコピーを要求元に直接転送当該要求元のデータコピーのコヒーレンス状態をノード内I状態およびノード間I状態からノード内F状態およびノード間F状態に変更し、要求された前記リモートノード内のプロセサのデータコピーのコヒーレンス状態をノード間F状態からノード間S状態に変更することによってShare−F状態とするステップと、
    を備えることを特徴とする多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法。
  3. コヒーレンス情報が3段階のディレクトリによって記録され、第1段階のデイレクトリはノードコントローラのリモートデータプロクシユニットRPに位置するリモートデータディレクトリRDIRであり、第2段階のデイレクトリはノードコントローラのローカルデータプロクシユニットLPに位置するローカルデータプロクシディレクトリLDIRであり、第3段階はルートプロセサのメモリデータプロクシユニットに位置するルートディレクトリであることを特徴とする請求項に記載の多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法。
  4. リモートデータディレクトリRDIRにおけるS状態が、それぞれノード内フラグシグナルとノード間フラグシグナルを使うことによって、2重ベクトル表現法で表され、当該2つのフラグシグナルは食い違った情報を持つことができ、ノード内キャッシュコヒーレンシドメインにおける状態がF状態として設定され、かつノード間キャッシュコヒーレンシドメインにおける状態がS状態として設定されるShare−F状態に設定されることができることを特徴とする請求項に記載の多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法。
  5. 同一のアドレスを持つS状態のデータコピーが各キャッシュコヒーレンシドメイン内でShare−F状態を構成することが許され、従って、システム全体では多数のF状態が存在するが、各キャッシュコヒーレンシドメインは1つのF状態のみを持つことを特徴とする請求項に記載の多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法。
  6. ノードコントローラはリモートデータキャッシュRDCを接続することができ、キャッシュされたS状態のリモートデータコピーはノード間キャッシュコヒーレンシドメインS状態かつノード内キャッシュコヒーレンシドメインF状態として記録されることを特徴とする請求項に記載の多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法。
JP2015527785A 2013-03-22 2013-10-11 多階層キャッシュコヒーレンシドメインシステムおよび多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法 Active JP5833282B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201310093001.0 2013-03-22
CN201310093001.0A CN103294612B (zh) 2013-03-22 2013-03-22 在多级缓存一致性域系统局部域构造Share-F状态的方法
PCT/CN2013/085033 WO2014146425A1 (zh) 2013-03-22 2013-10-11 在多级缓存一致性域系统局部域构造Share-F状态的方法

Publications (2)

Publication Number Publication Date
JP2015525939A JP2015525939A (ja) 2015-09-07
JP5833282B2 true JP5833282B2 (ja) 2015-12-16

Family

ID=49095525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015527785A Active JP5833282B2 (ja) 2013-03-22 2013-10-11 多階層キャッシュコヒーレンシドメインシステムおよび多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法

Country Status (5)

Country Link
US (1) US20150058570A1 (ja)
EP (1) EP2871579A4 (ja)
JP (1) JP5833282B2 (ja)
CN (1) CN103294612B (ja)
WO (1) WO2014146425A1 (ja)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294612B (zh) * 2013-03-22 2014-08-13 浪潮电子信息产业股份有限公司 在多级缓存一致性域系统局部域构造Share-F状态的方法
CN103870395B (zh) * 2014-03-04 2017-08-04 华为技术有限公司 一种目录维护方法及装置
CN103870435B (zh) * 2014-03-12 2017-01-18 华为技术有限公司 服务器及数据访问方法
WO2016149880A1 (zh) * 2015-03-20 2016-09-29 华为技术有限公司 数据读取方法、设备和系统
CN104794099A (zh) * 2015-04-28 2015-07-22 浪潮电子信息产业股份有限公司 一种资源融合的方法、系统及一种远端代理器
CN105068786B (zh) * 2015-07-30 2018-03-23 浪潮(北京)电子信息产业有限公司 一种处理访存请求的方法和节点控制器
CN105045729B (zh) * 2015-09-08 2018-11-23 浪潮(北京)电子信息产业有限公司 一种远端代理带目录的缓存一致性处理方法与系统
US10248564B2 (en) * 2016-06-24 2019-04-02 Advanced Micro Devices, Inc. Contended lock request elision scheme
CN107634982A (zh) * 2017-07-27 2018-01-26 郑州云海信息技术有限公司 一种多路服务器互联芯片远端代理目录实现方法
US10592465B2 (en) * 2017-10-26 2020-03-17 Hewlett Packard Enterprise Development Lp Node controller direct socket group memory access
US11119926B2 (en) 2017-12-18 2021-09-14 Advanced Micro Devices, Inc. Region based directory scheme to adapt to large cache sizes
US10705959B2 (en) 2018-08-31 2020-07-07 Advanced Micro Devices, Inc. Region based split-directory scheme to adapt to large cache sizes
US10922237B2 (en) 2018-09-12 2021-02-16 Advanced Micro Devices, Inc. Accelerating accesses to private regions in a region-based cache directory scheme
CN110417887B (zh) * 2019-07-29 2022-05-20 中国电子科技集团公司第二十八研究所 一种基于代理的信息资源目录同步方法
CN112445413A (zh) * 2019-08-29 2021-03-05 华为技术有限公司 一种数据存储的方法、装置及相关设备
CN111241024A (zh) * 2020-02-20 2020-06-05 山东华芯半导体有限公司 一种全互联axi总线的级联方法
US11321495B2 (en) * 2020-04-01 2022-05-03 International Business Machines Corporation Anomalous cache coherence transaction detection in a heterogeneous system
CN113553274B (zh) * 2020-04-24 2023-09-12 江苏华创微系统有限公司 用自适应粒度目录表实现片间一致性的方法
CN114024714A (zh) * 2021-09-30 2022-02-08 山东云海国创云计算装备产业创新中心有限公司 一种访问请求处理方法、装置、网卡设备及存储计算系统
CN114218469B (zh) * 2021-12-15 2022-09-02 掌阅科技股份有限公司 资源策略处理方法、计算设备及存储介质
CN115514772B (zh) * 2022-11-15 2023-03-10 山东云海国创云计算装备产业创新中心有限公司 一种实现缓存一致性的方法、装置、设备及可读介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1229953A (zh) * 1998-02-17 1999-09-29 国际商业机器公司 具有全局和局部标记状态的高速缓存相干性协议
US6615322B2 (en) * 2001-06-21 2003-09-02 International Business Machines Corporation Two-stage request protocol for accessing remote memory data in a NUMA data processing system
US7394823B2 (en) * 2001-11-20 2008-07-01 Broadcom Corporation System having configurable interfaces for flexible system configurations
US6922756B2 (en) * 2002-12-19 2005-07-26 Intel Corporation Forward state for use in cache coherency in a multiprocessor system
US7130969B2 (en) * 2002-12-19 2006-10-31 Intel Corporation Hierarchical directories for cache coherency in a multiprocessor system
US7373466B1 (en) * 2004-04-07 2008-05-13 Advanced Micro Devices, Inc. Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer
US20070150664A1 (en) * 2005-12-28 2007-06-28 Chris Dombrowski System and method for default data forwarding coherent caching agent
US8195892B2 (en) * 2006-06-19 2012-06-05 International Business Machines Corporation Structure for silent invalid state transition handling in an SMP environment
US8812793B2 (en) * 2006-06-19 2014-08-19 International Business Machines Corporation Silent invalid state transition handling in an SMP environment
US7689771B2 (en) * 2006-09-19 2010-03-30 International Business Machines Corporation Coherency management of castouts
US8271735B2 (en) * 2009-01-13 2012-09-18 Oracle America, Inc. Cache-coherency protocol with held state
CN102902631B (zh) * 2012-09-18 2015-04-15 杭州中天微系统有限公司 一种避免读缺失时数据回写的多处理器核间传输方法
CN103294612B (zh) * 2013-03-22 2014-08-13 浪潮电子信息产业股份有限公司 在多级缓存一致性域系统局部域构造Share-F状态的方法

Also Published As

Publication number Publication date
JP2015525939A (ja) 2015-09-07
EP2871579A4 (en) 2016-02-24
CN103294612A (zh) 2013-09-11
US20150058570A1 (en) 2015-02-26
EP2871579A1 (en) 2015-05-13
CN103294612B (zh) 2014-08-13
WO2014146425A1 (zh) 2014-09-25

Similar Documents

Publication Publication Date Title
JP5833282B2 (ja) 多階層キャッシュコヒーレンシドメインシステムおよび多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法
JP5852294B2 (ja) マルチプロセサシステムおよびマルチプロセサシステムの構成方法
US9892043B2 (en) Nested cache coherency protocol in a tiered multi-node computer system
US6631448B2 (en) Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US6141692A (en) Directory-based, shared-memory, scaleable multiprocessor computer system having deadlock-free transaction flow sans flow control protocol
JP3661761B2 (ja) 共用介入サポートを有する不均等メモリ・アクセス(numa)データ処理システム
JP4848771B2 (ja) キャッシュ一貫性制御方法およびチップセットおよびマルチプロセッサシステム
US9792210B2 (en) Region probe filter for distributed memory system
JP3722415B2 (ja) 効率的なバス機構及びコヒーレンス制御を有する繰り返しチップ構造を有するスケーラブル共用メモリ・マルチプロセッサ・コンピュータ・システム
US7296121B2 (en) Reducing probe traffic in multiprocessor systems
JP3644587B2 (ja) 共用介入サポートを有する不均等メモリ・アクセス(numa)・データ処理システム
CN101354682B (zh) 一种用于解决多处理器访问目录冲突的装置和方法
US20160147658A1 (en) Configuration based cache coherency protocol selection
JP2002304328A (ja) マルチプロセッサシステム用コヒーレンスコントローラ、およびそのようなコントローラを内蔵するモジュールおよびマルチモジュールアーキテクチャマルチプロセッサシステム
CN103294611B (zh) 一种基于有限数据一致性状态的服务器节点数据缓存方法
US7308538B2 (en) Scope-based cache coherence
JP5050028B2 (ja) サーバ装置
US20210224189A1 (en) Data prefetching method and apparatus
US7159079B2 (en) Multiprocessor system
JP7277075B2 (ja) スヌープリクエストに対する応答の転送
US6636948B2 (en) Method and system for a processor to gain assured ownership of an up-to-date copy of data

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150219

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20150220

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20150707

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150903

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151028

R150 Certificate of patent or registration of utility model

Ref document number: 5833282

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250