JP2015530651A - マルチプロセサシステムおよびマルチプロセサシステムの構成方法 - Google Patents

マルチプロセサシステムおよびマルチプロセサシステムの構成方法 Download PDF

Info

Publication number
JP2015530651A
JP2015530651A JP2015527762A JP2015527762A JP2015530651A JP 2015530651 A JP2015530651 A JP 2015530651A JP 2015527762 A JP2015527762 A JP 2015527762A JP 2015527762 A JP2015527762 A JP 2015527762A JP 2015530651 A JP2015530651 A JP 2015530651A
Authority
JP
Japan
Prior art keywords
node
level node
domain
node controller
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015527762A
Other languages
English (en)
Other versions
JP5852294B2 (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 JP2015530651A publication Critical patent/JP2015530651A/ja
Application granted granted Critical
Publication of JP5852294B2 publication Critical patent/JP5852294B2/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/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods
    • G06F12/0822Copy directories
    • 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/082Associative directories
    • 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/0826Limited pointers directories; State-only directories without pointers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • G06F15/17356Indirect interconnection networks
    • G06F15/17368Indirect interconnection networks non hierarchical topologies
    • 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/10Providing a specific technical effect
    • G06F2212/1048Scalability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/25Using a specific main memory architecture
    • G06F2212/254Distributed memory
    • G06F2212/2542Non-uniform memory access [NUMA] architecture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/622State-only directory, i.e. not recording identity of sharing or owning nodes

Abstract

マルチキャッシュコヒーレンシドメインを有するノードを備えたマルチプロセサシステムの構成方法を提供する。このシステムでは、ノードコントローラ内に構成されるディレクトリはプロセサドメイン属性情報を含む必要がある。そして、その情報はプロセサに接続されたノードコントローラの各ポートのキャッシュコヒーレンシドメイン属性を設定することによって得られる。ノードコントローラはノード内でマルチ物理キャッシュコヒーレンシドメインをサポートできる。本発明の目的は、マルチプロセサのコンピュータシステムにおいてノードコントローラの数を減少させ、ノード間の相互接続規模を削減し、ノード間の接続形態の複雑さを低下させることである。また、同時に、プロセサの相互接続ポートの数及びドメイン内でサポート可能なプロセサID番号の数の制限により大規模なCC−NUMAシステムで生じる性能のボトルネックの問題が解決される。

Description

本発明は、コンピュータ応用分野に関し、特に、マルチキャッシュコヒーレンシドメインを有するノードを備えたマルチプロセサシステムの構成方法に関する。
マルチプロセサシステムのために、マルチプロセサはシステム内でメモリ空間を共有する。現在、マルチプロセサの接続方法はバス接続からポイントツーポイント接続に変わっており、また、メモリはプロセサの外部ブリッジチップに接続される代わりに直接プロセサに接続される。メモリ接続方法の変化のために、システム内のメモリ配置がまた変わっている。それはマルチプロセサシステムにおけるメモリアクセスの非均一性を引き起こす。従って、現在のマルチプロセサシステムは大部分不均等メモリアクセス(NUMA:Non−Uniform Memory Access)アーキテクチャシステムを採用する。
NUMAアーキテクチャマルチプロセサシステムは以下の三つの重要な特徴を持つ。:
1.全てのメモリは一様にアドレスされ、統一されたメモリ空間を形成する。
2.全てのプロセサはメモリ空間内の全てのアドレスにアクセスすることができる。
3.リモートメモリへのアクセスは、ローカルメモリへのアクセスより遅い。
NUMAシステムはそのシステム内に分散したマルチキャッシュユニットを持つ。従って、マルチキャッシュの間でコヒーレンスの問題を解決するように、NUMAシステムは設計される。キャッシュコヒーレンスを満足するNUMAシステムは、また、キャッシュコヒーレント不均等メモリアクセス(CC−NUMA:Cache Coherent Non−Uniform Memory Access)システムといわれる。キャッシュコヒーレンスの問題を解決する方法は、CC−NUMAシステムの中心的な問題である。
現在、プロセサは直接メモリに接続され、プロセサはキャッシュコヒーレンスプロトコルをサポートする。従って、一つの解決策では、マルチプロセサシステムを形成するためにプロセサは直接相互接続され、プロセサ間のキャッシュコヒーレンスはこれらのプロセサのキャッシュコヒーレンスプロトコルのメンテナンスエンジンによって保証され、単一のキャッシュコヒーレンシドメインを形成する。
単一のキャッシュコヒーレンシドメインでは、各プロセサはプロセサID番号を使うことによって識別され、認識される。けれども、キャッシュコヒーレンシドメインの中で各プロセサは少なくとも1つのプロセサID番号を占有し、各プロセサによって識別されることができるプロセサID番号の数は制限されるので、この方法で構成されるマルチプロセサシステムの規模には制限がある。例えば、あるプロセサは4つのプロセサID番号を識別することができる、すなわちドメイン内で最大4つのプロセサの直接相互接続をサポートすることができる。更に例えば、あるプロセサは2つのプロセサID番号を識別することができ、キャッシュコヒーレンシドメイン内で2つのプロセサをサポートできるのみである。更に、物理的制限と価格制限のため、プロセサの相互接続ポートの数にも制限がある。ある場合には、単一キャッシュコヒーレンシドメイン内でプロセサによってサポートされるプロセサID番号の数は要求を満たすことができるけれども、直接接続は大きなホップ数とプロセサ間メモリアクセスの遅延を引き起こし、従って、高効率のマルチプロセサシステムを形成することができない。
プロセサの構成パラメータ、相互接続ポートの数及びサポートできるプロセサID番号の数はプロセサの価格と密接に関係する。一般的には、プロセサがサポートする相互接続ポートとプロセサID番号の数が少なければ少ないほど価格は低い。ドメイン内で2つのプロセサID番号をサポートするプロセサは4つのプロセサID番号をサポートするプロセサより安い。
上述した通り、プロセサを直接接続する方法で構成されたマルチプロセサシステムの規模には制限がある。大規模なCC−NUMAマルチプロセサシステムを実現するためには、ノードコントローラが必要とされる。ノードコントローラはシステムの規模を広げ、全体のキャッシュコヒーレンスを維持するために機能する。まず、各ノードコントローラは1個から4個のプロセサに接続され、ノードと第1レベルのキャッシュコヒーレンシドメインを形成する。そして、ドメイン内のコヒーレンスはプロセサとノードコントローラによって共同で維持される。また、ノードコントローラはドメイン内で少なくとも一つのプロセサID番号を占有し、それでドメイン内のプロセサとノードコントローラの数の合計は、そのドメイン内でプロセサによってサポート可能なプロセサID番号の数を超えることはできない。それから、ノードコントローラは直接に相互接続されるか、またはノードルーターを使って接続され、大規模なCC−NUMAシステムを形成する。ノード間の第2レベルのキャッシュコヒーレンスはノードコントローラによって維持される。あるノード内のプロセサがノードとキャッシュコヒーレンシドメインを超えて他のノード内のプロセサのメモリにアクセスするとき、全体のキャッシュコヒーレンスはノードコントローラによって維持される。
CC−NUMAシステムはノードコントローラを使用してシステムの規模を広げ、全体のキャッシュコヒーレンスを維持する。それは、ドメイン間処理とドメイン間通信のオーバヘッドを増やし、リモートメモリへのアクセススピードが著しく低下する。そして、システムの規模が大きいほど、スピードの低下はより著しい。もし64個のプロセサによってCC−NUMAシステムが組み立てられるならば、2つの解決策を採用することができる。解決策1では、各ノードのコヒーレンシドメイン内に4個のプロセサがあり、少なくとも16個のノードコントローラがシステム全体のために必要である。解決策2では、ドメイン内で2つのプロセサID番号のみをサポートするプロセサが使用され、1つのノード内ではキャッシュコヒーレンシドメインは1個のプロセサと1個のノードコントローラにより構成されるのみであり、それで少なくとも64個のノードコントローラが必要である。そのような多くのノードコントローラは、ノードのとても大きな相互接続の規模とずっと複雑なノード間接続形態に帰着する。従って、リモートメモリにアクセスするノード間のスピードは著しく低下し、システム効率の著しい低下と性能の巨大な損失を引き起こす。
マルチノード・マルチプロセサシステムに対してノードの数を削減することは、ノードの相互接続規模を削減し、ノード間の接続形態を簡略化することにおいて、特にドメイン内でとても限られた数の相互接続ポートとプロセサID番号をサポートできるプロセサに対して直接的で重要な役割を果たすことが分かる。従って、ノードコントローラの数を効果的に削減することができるか否かは、解決されるべき重要かつ緊急の技術的問題である。
マルチキャッシュコヒーレンシドメインを有するノードを備えたマルチプロセサシステムの構成方法の実施形態が提供される。
いくつかの実施形態を以下に示す。マルチプロセサのノードシステムにおいて、統一された論理キャッシュコヒーレンシドメインが各ノードのコントローラで構成され、複数のプロセサと1個のノードコントローラがお互いから分離されたマルチ物理キャッシュコヒーレンシドメインを形成する。ここで開示される1つの実施形態は、キャッシュコヒーレンシドメイン構成方法と、キャッシュコヒーレンシドメイン分割方法と、ディレクトリ構成方法とを含み、
(1)前記マルチ物理キャッシュコヒーレンシドメインの構成方法は、
1)ノードコントローラを通して、またはノードルータを通して第1レベルのノードを直接接続し、当該第1レベルのノードの単一キャッシュコヒーレンシドメインを形成し、
2)前記第1レベルのノードコントローラに第2レベルのノードコントローラを直接接続し、当該第2レベルのノードコントローラ内に統一された論理キャッシュコヒーレンシドメインを構成し、当該キャッシュコヒーレンシドメインがマルチ物理キャッシュコヒーレンシドメインを完全に含み、当該マルチ物理キャッシュコヒーレンシドメインがお互いから分離されており、かつ複数の前記第1レベルのノードコントローラと1個の前記第2レベルのノードコントローラによって形成されており、
3)第2レベルのノードコントローラを通して、またはノードルータを通して第2レベルのノードを直接接続して、当該第2レベルのノードの単一キャッシュコヒーレンシドメインを形成し、
4)前記1)〜3)の方法を第n(n>2)レベルのノードに拡張し、もっと多くのレベルのノードでマルチプロセサシステムを実現し、
(2)前記キャッシュコヒーレンシドメイン分割方法は、
1)前記第1レベルのノードコントローラのために、前記プロセサに接続された様々なポートの情報を、複数の前記プロセサと前記ノードコントローラによって形成される前記物理キャッシュコヒーレンシドメインのドメイン属性情報源として使い、各ポートのドメイン情報レジスタによって前記ポートの物理サブドメインを識別し、システムの要求に応じて前記ポートドメイン情報レジスタによって各ポートのドメイン属性情報を設定し、従って、複数の前記プロセサと前記ノードコントローラによって形成される様々な物理キャッシュコヒーレンシドメインの分割を実行し、
2)前記第2レベルのノードコントローラのために、前記第1レベルのノードコントローラに接続された様々なポートの情報を、複数の前記第1レベルのノードコントローラと1個の前記第2レベルのノードコントローラによって形成される物理キャッシュコヒーレンシドメインのドメイン属性情報源として使い、システムの要求に応じて各ポートのドメイン情報を設定し、従って複数の前記第1レベルのノードコントローラと1個の前記第2レベルのノードコントローラによって形成される様々な物理キャッシュコヒーレンシドメインの分割を実行し、
3)方法2)に記載された前記第2レベルのノードコントローラのポートドメイン属性の設定方法を使うことによって、第n(n>2)レベルのノードコントローラのポートドメイン属性を設定し、
(3)前記ディレクトリ構成方法は、
1)前記第1レベルのノードコントローラがローカルとリモートの2重のディレクトリ構造を使用し、リモートデータディレクトリのために、ディレクトリエントリが前記ローカルノード内での統一されたデータコピーを持っているプロセサ及び当該プロセサのドメイン属性情報とコヒーレンス状態情報を記録し、ローカルデータディレクトリのために、ディレクトリエントリが前記データコピーを持っているリモートノード及び当該リモートノードのコヒーレンス状態情報を記録し、データが位置する物理サブドメイン以外の前記ローカルノード内の他のサブドメインがデータコピーを持っているかどうかを示すためにフラグビットをセットし、
2)前記第2レベルのノードコントローラがローカルとリモートの2重のディレクトリ構造を使用し、リモートデータディレクトリのために、ディレクトリエントリが前記ローカルの第2レベルのノード内での統一されたデータコピーを持っている第1レベルのノード及び当該第1レベルのノードのドメイン属性情報とコヒーレンス状態情報を記録し、ローカルデータディレクトリのために、ディレクトリエントリが統一されたデータコピーを持っているリモートの第2レベルのノード及び当該リモートの第2レベルのノードのコヒーレンス状態情報を記録し、当該データが位置する物理サブドメイン以外のローカルの第2レベルのノード内の他のサブドメインがデータコピーを持っているかどうかを示すためにフラグビットをセットし、
3)方法2)に記載された前記第2レベルのノードコントローラのディレクトリ構成方法を使うことによって、第n(n>2)レベルのノードコントローラのディレクトリ構造を設定し、
4)前記第1レベルのノードコントローラがローカル/リモートの統一されたディレクトリ構造を使用し、前記物理サブドメインのプロセサ以外のシステム内の全てのプロセサが統一されたデータコピー情報とコヒーレンス状態情報を持っていることをディレクトエントリが記録し、
5)前記第2レベルのノードコントローラがローカル/リモートの統一されたディレクトリ構造を使用し、前記物理サブドメインの前記第1レベルのノードコントローラ以外のシステム内の全ての第1レベルのノードコントローラが統一されたデータコピー情報とコヒーレンス状態情報を持っていることをディレクトリエントリが記録し、
6)方法5)に記載された前記第2レベルのノードコントローラの前記ディレクトリ構成方法を使うことによって、第n(n>2)レベルのノードコントローラのディレクトリ構造を設定する。
ここに開示の実施形態は次の有利な効果を有する。:ここに開示の実施形態は、ドメイン内のプロセサによってサポート可能な制限された数のプロセサID番号によって生じる制限されたノード規模の問題を解決することを目的とする。その問題は、マルチプロセサシステムによって必要とされる極端に大きい数のノードコントローラに帰着し、ノードの大きな相互配線規模と複雑な接続形態の原因となる。ここに開示の実施形態を適用することによって、中規模または大規模のメモリ共有マルチプロセサシステムによって必要とされるノードコントローラの数を著しく減少させ、従ってシステム性能を効果的に改善し、システムの接続形態の複雑さを削減することができる。
現存するマルチノード・マルチプロセサシステムのアーキテクチャの概略図である。 開示の実施形態によるマルチノード・マルチプロセサシステムのアーキテクチャの概略図である。 プロセサがローカルノード内の異なる物理サブドメインに位置するメモリにアクセスする例を示す図である。 ローカルノードプロセサがリモートノードのメモリにアクセスする例を示す図である。 プロセサがローカルノード内の同一の物理サブドメインに位置するメモリにアクセスする例を示す図である。 ディレクトリフォーマットの設計図である。 プロセサのポートの物理サブドメイン属性を設定する例を示す図である。 プロセサがローカルノード内の異なる物理サブドメインに位置するメモリにアクセスする過程のフローチャートである。 プロセサがリモートノードのメモリにアクセスする過程のフローチャートである。
以下に、添付図面を参照しながら本発明について詳細に説明する。
実施形態
複数のノードを有するマルチプロセサシステムにおいて、各ノードに対して、複数の物理キャッシュコヒーレンシドメインを完全に含むように、統一された論理キャッシュコヒーレンシドメインがそのノードのノードコントローラで構成される。複数の物理キャッシュコヒーレンシドメインは、お互いから分離されており、複数のプロセサとノードコントローラによって形成される。そして、それらのノードの単一のキャッシュコヒーレンシドメインを形成するように、それらのノードは直接にノードコントローラを通して接続されるか、またはノードルータ(NR)を通して接続される。
更に、上述したシステムの第1レベルのノードコントローラは第2レべルのノードコントローラに接続され、複数の物理キャッシュコヒーレンシドメインを完全に含むように、統一された論理キャッシュコヒーレンシドメインが第2レベルのノードコントローラで構成される。複数の物理キャッシュコヒーレンシドメインは、お互いから分離されており、複数の第1レベルのノードコントローラと第2レベルのノードコントローラによって形成される。第2レベルのノードの単一のキャッシュコヒーレンシドメインを形成するように、第2レベルのノードは直接に第2レベルのノードコントローラを通して接続されるか、またはノードルータ(NR)を通して接続される。
更に、上述した解決策は、また、もっと多くのレベルのノードを有するマルチプロセサシステムを実現するために、n(n>2)レベルのノードシステムに拡張することができる。
上述したシステムのノードコントローラのために、プロセサに接続された様々なポートの情報を、複数のプロセサとノードコントローラによって形成される物理キャッシュコヒーレンシドメインのドメイン属性情報源として使うことができる。各ポートのドメイン情報レジスタはそのポートの物理サブドメインを識別する。そして、ポートドメイン情報レジスタはシステムの要求に応じて各ポートのドメイン属性情報を設定する。従って、複数のプロセサとノードコントローラによって形成される様々な物理キャッシュコヒーレンシドメインの区分を変更する。
第2レベルのノードコントローラのために、第1レベルのノードコントローラに接続された様々なポートの情報を、複数の第1レベルのノードコントローラと第2レベルのノードコントローラによって形成される物理キャッシュコヒーレンシドメインのドメイン属性情報源として使うことができる。そして、システムの要求に応じて様々なポートのドメイン情報が設定される。従って、複数の第1レベルのノードコントローラと第2レベルのノードコントローラによって形成される様々な物理キャッシュコヒーレンシドメインの区分を変更する。
同様に、システムの第2レベルのノードコントローラのポートドメイン属性設定方法を使うことによって、第n(n>2)レベルのノードコントローラのポートドメイン属性を設定することができる。
ノードコントローラのディレクトリ構造のために、ローカルとリモートの2重のディレクトリ構造を使うことができる。そして、リモートデータディレクトリのために、ディレクトリエントリはローカルノード内でのデータのコピーを持っているプロセサ及びそのプロセサのドメイン属性情報とコヒーレンス状態情報を記録する。ローカルデータディレクトリのために、ディレクトリエントリはデータのコピーを持っているリモートノードとそのリモートノードのコヒーレンス状態情報を記録する。そして、データが位置する物理サブドメイン以外のローカルノード内の他のサブドメインがデータのコピーを持っているかどうかを示すためにフラグビットがセットされる。
ノードコントローラのディレクトリ構造のために、ローカル/リモートの統一されたディレクトリ構造を使うことができる。そして、ディレクトリエントリはこの物理サブドメインのプロセサ以外のシステム内の全ての他のプロセサによって所持されているデータコピー情報とコヒーレンス状態情報を記録する。
同様に、第2レベルのノードコントローラはローカルとリモートの2重のディレクトリ構造を使うことができる。リモートデータディレクトリのために、ディレクトリエントリはローカルの第2レベルのノード内でのデータのコピーを持っている第1レベルのノード及びその第1レベルのノードのドメイン属性情報とコヒーレンス状態情報を記録する。ローカルデータディレクトリのために、ディレクトリエントリはデータのコピーを持っているリモートの第2レベルのノード及びそのリモートの第2レベルのノードのコヒーレンス状態情報を記録する。そして、データが位置する物理サブドメイン以外のローカルの第2レベルのノード内の他のサブドメインがデータのコピーを持っているかどうかを示すためにフラグビットがセットされる。
第2レベルのノードコントローラは、また、ローカル/リモートの統一されたディレクトリ構造を使うことができる。そして、ディレクトリエントリはこの物理サブドメインの第1レベルのノードコントローラ以外のシステム内の全ての他の第1レベルのノードコントローラによって所持されているデータコピー情報とコヒーレンス状態情報を記録する。
同様に、システムの第2レベルのノードコントローラのディレクトリ構造の方法を使うことによって、第n(n>2)レベルのノードコントローラのディレクトリ構造を設定することができる。
図1に示すように、各ノードは複数のプロセサとノードコントローラによって形成される。ローカルノード内の様々なプロセサとノードコントローラは同一の物理キャッシュコヒーレンシドメイン内に位置しており、ノード内のプロセサ間アクセス操作は直接実行されることができる。
図2に示すように、ノードコントローラは複数のノード内物理キャッシュコヒーレンシドメインを形成するようにプロセサに接続されることができる(例えば、図2のノードコントローラは2つのノード内物理キャッシュコヒーレンシドメインをサポートする。)。そして、図1に示すシステムと比べると、図2の方法を使うことによる同一規模のプロセサのCC−NUMAシステムを形成するために使用されるノードコントローラ数は半分に削減される。図中では、様々なノードコントローラが同一階層に位置している。ノードコントローラの複数の階層をつなぐことにより、大規模なシステムを組み立てることができる。
図3に示すように、プロセサP1(301)はノードの物理サブドメインDom1(307)に属する。そして、プロセサP1(301)はローカルノードの物理サブドメインDom2(308)内のプロセサP2(302)のメモリモジュールMEM2(305)のデータにアクセスする。典型的な処理手順を以下に示す。
プロセサP1(301)は、アクセス操作を実行するときプロセサ内のキャッシュにヒットしないならば、同一の物理キャッシュコヒーレンシドメイン内のノードコントローラ(315)にアクセスする。従って、プロセサP1(301)は、ノードコントローラ(315)のリモートメモリプロキシエンジンRPE(313)のホームプロキシHP(309)にアクセス要求を送信する。
ノードコントローラ(315)のリモートメモリプロキシエンジンRPE(313)のホームプロキシHP(309)は、プロセサP1(301)の送信したアクセス要求を受信し、ホームプロキシHP(309)の内部でアクセス要求の情報を記憶する。アクセス要求の情報は、要求元のプロセサがどの物理サブドメインに位置するか、要求タイプ、アクセスアドレスなどを含む。そして、ホームプロキシHP(309)は、処理手順においてリード/ライト要求の状態を維持する。
リモートメモリプロキシエンジンRPE(313)のホームプロキシHP(309)は、リモートメモリディレクトリRDIR(316)を調べて、ローカルノード内の宛先アドレスが位置する物理サブドメインと異なる様々な物理サブドメイン内でスヌープ・オペレーションを実行することが必要であるかどうかを決定する。この例では、物理サブドメインDom1(307)は処理される必要がないとみなされる。リモートメモリプロキシエンジンRPE(313)のホームプロキシHP(309)は、リモートメモリプロキシエンジンRPE(313)のキャッシュプロキシCP(310)にアクセス要求を転送する。
ノードコントローラ(315)のリモートメモリプロキシエンジンRPE(313)のキャッシュプロキシCP(310)は、アクセス要求を受信し、アクセス要求アドレスによりそれはこのノード内の他の物理サブドメインDom2(308)内のメモリモジュールに属することを知る。そこでキャッシュプロキシCP(310)は、ローカルメモリプロキシエンジンLPE(314)のホームプロキシHP(312)にアクセス要求を転送する。
ノードコントローラ(315)のローカルメモリプロキシエンジンLPE(314)のホームプロキシHP(312)は、アクセス要求を受信し、ローカルメモリディレクトリLDIR(317)を調べて、他のノードが同じアドレスのデータコピーを持っているかどうかを決定する。持っていればノード間のコヒーレンシドメイン内の処理を実行することが必要とされる。この例では、他のノードは同じアドレスのデータコピーを持っていないとみなされる。ローカルメモリプロキシエンジンLPE(314)のホームプロキシHP(312)は、ローカルメモリプロキシエンジンLPE(314)のキャッシュプロキシCP(311)にアクセス要求を転送する。
ノードコントローラ(315)のローカルメモリプロキシエンジンLPE(314)のキャッシュプロキシCP(311)は、ローカルメモリプロキシエンジンLPE(314)のホームプロキシHP(312)の転送したアクセス要求を受信し、キャッシュプロキシCP(311)の内部でそのアクセス要求の情報を保存する。アクセス要求は要求タイプ、アクセスアドレスなどを含む。キャッシュプロキシCP(311)は、処理手順の中でリード/ライト要求の状態を維持する。
ローカルメモリプロキシエンジンLPE(314)のキャッシュプロキシCP(311)は、アクセスアドレスにより、それがプロセサP2(302)のメモリモジュールMEM2(305)のデータに属することを決定し、そこでプロセサP2(302)にその要求を送信する。
プロセサP2(302)は、アクセス要求を受信して処理し、それからプロセサP2(302)はノードコントローラ(315)のローカルメモリプロキシエンジンLPE(314)にデータとそのコヒーレンス状態をリターンする。
ノードコントローラ(315)のローカルメモリプロキシエンジンLPE(314)のキャッシュプロキシCP(311)は、リターンされたデータとそのコヒーレンス状態を受信し、それらをローカルメモリプロキシエンジンLPE(314)のホームプロキシHP(312)に転送する。
ローカルメモリプロキシエンジンLPE(314)のホームプロキシHP(312)は、リターンされたデータとそのコヒーレンス状態を受信し、ローカルデータディレクトリLDIR(317)の中でリモートプロキシエンジン(313)のキャッシュプロキシCP(310)がデータコピーとそのコヒーレンス状態を持っていることを記録する。ローカルメモリプロキシエンジン(314)のホームプロキシHP(312)は、ローカルノード(315)のリモートメモリプロキシエンジンRPE(313)のキャッシュプロキシCP(310)にデータとそのコヒーレンス状態をリターンする。
ノードコントローラ(315)のリモートメモリプロキシエンジンRPE(313)のキャッシュプロキシCP(310)は、リターンされたデータとそのコヒーレンス状態を受信し、それらをリモートメモリプロキシエンジンRPE(313)のホームプロキシHP(309)に転送する。
ノードコントローラ(315)のリモートメモリプロキシエンジンREP(313)のホームプロキシHP(309)は、リターンされたデータとそのコヒーレンス状態を受信し、要求アドレスのために、リモートメモリディレクトリRDIR(316)内に、物理サブドメインDom1(307)に属するプロセサP1(301)がそのアドレスのデータコピーと状態を持つことを記録する。
ノードコントローラ(315)のリモートメモリプロキシエンジンRPE(313)のホームプロキシHP(309)は、要求元Dom1(307)のプロセサP1(301)にデータとそのコヒーレンス状態をリターンし、その要求の処理を完了する。
図4に示すように、プロセサP1(401)はノードNode1(433)の物理サブドメインDom1(413)に属する。そして、プロセサP1(401)はリモートノードNode2(434)の物理サブドメインDom2(416)内のプロセサP2(405)のメモリモジュールMEM2(411)のデータにアクセスする。処理手順を以下に示す。
ノードNode1(433)のプロセサP1(401)はアクセス操作を実行するときそのプロセサ内のキャッシュにヒットしない。そして、アクセスアドレスにより、プロセサP1(401)はそれがローカルノードNode1(433)に属するのではなくて、リモートノードNode2(434)に属することを知る。従って、プロセサP1(401)は、ノードコントローラ(435)のリモートメモリプロキシエンジンRPE(427)のホームプロキシHP(417)にアクセス要求を送信する。
ノードコントローラ(435)のリモートメモリプロキシエンジンRPE(427)のホームプロキシHP(417)は、プロセサP1(401)の送信したアクセス要求を受信し、ホームプロキシHP(417)の内部で、そのアクセス要求の情報を保存する。その情報は、要求元のプロセサがローカルノードNode1のどの物理サブドメイン(Dom1またはDom2)に位置するか、要求タイプ、アクセスアドレスなどを含む。そして、ホームプロキシHP(417)は、処理手順の中でキャッシュリード/ライト要求の状態を維持する。
ノードNode1(433)のリモートメモリプロキシエンジンRPE(427)のホームプロキシHP(417)は、リモートメモリディレクトリRDIR(425)を調べて、ローカルノードの様々な物理サブドメイン内でスヌープ・オペレーションを実行することが必要であるかどうかを決定する。この例では、物理サブドメインDom1(307)に対する処理は必要ないとみなされる。リモートメモリプロキシエンジンRPE(427)のホームプロキシHP(417)は、アクセス要求のアドレスにより、それがリモートノードNode2(434)のメモリモジュールに属することを知り、従ってリモートメモリプロキシエンジンRPE(427)のキャッシュプロキシCP(419)にアクセス要求を転送する。
ノードNode1(433)のリモートメモリプロキシエンジンRPE(427)のキャッシュプロキシCP(419)は、アクセス要求を受信し、キャッシュプロキシCP(419)内で、そのアクセス要求の情報を保存する。その情報は、要求タイプ、アクセスアドレスなどを含む。そして、キャッシュプロキシCP(419)は、処理手順の中でリード/ライト要求の状態を維持する。
リモートメモリプロキシエンジンRPE(427)のキャッシュプロキシCP(419)は、アクセス要求のアドレスにより、それがノードNode2(434)によって使用されるメモリモジュールに属することを知り、従ってNode2(434)にその要求を送信する。
ノード間の相互接続ネットワークは、ノードNode1(433)が送信した要求メッセージを宛先ノードNode2(434)に送信する。
ノードNode2(434)のローカルメモリプロキシエンジンLPE(432)のホームプロキシHP(424)は、そのアクセス要求を受信し、ホームプロキシHP(424)内で、その要求の情報を保存する。その情報は、その要求がどのリモートノードから送信されたか、要求タイプ、アクセスアドレスなどを含む。そして、ホームプロキシHP(424)は、その処理手順の中でリード/ライト要求の状態を維持する。
ローカルメモリプロキシエンジンLPE(432)のホームプロキシHP(424)は、ローカルメモリディレクトリLDIR(430)を調べて、他のノードが同じアドレスのデータコピーを持っているかどうか決定する。持っていればノード間のコヒーレンシドメインでの処理を実行することが必要である。この例では、同じアドレスのデータコピーを持っている他のノードはなく、ノード間のコヒーレンシドメインの処理を実行することは必要ではないとみなされる。
ローカルメモリプロキシエンジンLPE(432)のホームプロキシHP(424)は、ローカルメモリプロキシエンジンLPE(432)のキャッシュプロキシCP(422)にその要求を転送する。
ローカルメモリプロキシエンジンLPE(432)のキャッシュプロキシCP(422)は、アクセスアドレスにより、それがノードNode2(434)の物理サブドメインDom2(416)内のプロセサP2(405)によって使用されるメモリモジュールMEM2(411)のデータに属することを決定し、プロセサP2(405)にその要求を送信する。
ノードNode2(434)のプロセサP2(405)は、アクセス要求を受信して処理する。そしてそれからプロセサP2(405)は、ノードコントローラ(436)のローカルメモリプロキシエンジンLPE(432)にデータとそのコヒーレンス状態をリターンする。
ノードコントローラ(436)のローカルメモリプロキシエンジンLPE(432)のキャッシュプロキシCP(422)は、リターンされたデータとそのコヒーレンス状態を受信し、ローカルメモリプロキシエンジンLPE(432)のホームプロキシHP(424)にそれらを転送する。
ノードコントローラ(436)のローカルメモリプロキシエンジンLPE(432)のホームプロキシHP(424)は、リターンされたデータとそのコヒーレンス状態を受信し、ローカルメモリディレクトリLDIR(430)内で、ノード1(433)がそのデータコピーとそのコヒーレンス状態を持っていることを記録する。ノードコントローラ(436)のローカルメモリプロキシエンジンLPE(432)のホームプロキシHP(424)は、ノード1(433)のリモートメモリプロキシエンジンRPE(427)にデータとそのコヒーレンス状態をリターンする。
ノードコントローラ(435)のリモートメモリプロキシエンジンRPE(427)のキャッシュプロキシCP(419)は、リターンされたデータとそのコヒーレンス状態を受信し、リモートメモリプロキシエンジンRPE(427)のホームプロキシHP(417)にそれらを転送する。
ノードコントローラ(435)のリモートメモリプロキシエンジンRPE(427)のホームプロキシHP(417)は、リモートデータディレクトリRDIR(425)内で、Dom1のプロセサP1がデータとそのコヒーレンス状態を持っているこを記録する。そして、それからホームプロキシHP(417)は、要求元Dom1のプロセサP1(401)にデータとそのコヒーレンス状態をリターンし、その要求の処理を完了する。
図5は、データのスヌープ(snoop)メッセージの処理を示す。図5では、ノード1(533)のプロセサP2(502)は、ノードNode1(533)の物理サブドメインDom2(514)に属する。そして、プロセサP2(502)は、同じ物理サブドメインDom2(514)に位置するプロセサP3(503)のメモリモジュールMEM3(509)のデータにアクセスする。典型的な処理手順を以下に説明する。
ノードNode1(533)のプロセサP2(502)は、アクセス操作を実行するときそのプロセサ内のキャッシュにヒットしない。そして、アクセスアドレスにより、プロセサP2(502)は、そのアドレスがローカルノードNode1(533)のプロセサP3によって使用されるメモリモジュールMEM3(509)に属することを知る。プロセサP3(503)とP2(502)は同じ物理サブドメインDom2(514)に位置する。そこでプロセサP2(502)は直接メモリモジュールMEM3(509)にアクセスすることができる。プロセサP2(502)はプロセサP3(503)に直接アクセス要求を送信する。
プロセサP3(503)は、アクセス要求を受信する。そして、プロセサP3(503)は、この物理サブドメイン以外のプロセサの代わりに、ノードコントローラ1(535)がデータコピーを持っていることを見出す。受信したアクセス要求のタイプにより、プロセサP3(503)はノードコントローラ1(535)のローカルメモリプロキシエンジンLPE(528)のキャッシュプロキシCP(518)にデータのスヌープ(snoop)メッセージを送信する。
ノードコントローラ1(535)のローカルメモリプロキシエンジンLPE(528)のキャッシュプロキシCP(518)は、データのスヌープメッセージを受信し、ノードコントローラ1(535)のローカルメモリプロキシエンジンLPE(528)のホームプロキシHP(520)にそのメッセージを転送する。
ノードコントローラ1(535)のローカルメモリプロキシエンジンLPE(528)のホームプロキシHP(520)は、データのスヌープメッセージを受信し、ローカルデータディレクトリLDIR(526)を調べる。この例では、ローカルデータディレクトリLDIR(526)はノード1(535)のその他の物理サブドメイン内のプロセサ(この例では、物理サブドメインDom1内のプロセサ)とリモートノード2(534)内のプロセッサがそのデータコピーを持っていることを表示するとみなされる。従って、ローカルプロキシエンジンLPE(528)のホームプロキシHP(520)は、ローカルノードNode1(533)内のDom1(513)のデータコピーを処理するために、ノードコントローラ(535)のリモートプロキシエンジンRPE(527)のキャッシュプロキシCP(519)にデータのスヌープメッセージを転送する。更に、ローカルプロキシエンジンLPE(528)のホームプロキシHP(520)は、リモートノードNode2(534)内のデータコピーを処理するために、リモートノードNode2(534)のリモートプロキシエンジンRPE(531)のキャッシュプロキシCP(523)にデータのスヌープメッセージを送信する。
ノードコントローラ1(535)のリモートメモリプロキシエンジンRPE(527)のキャッシュプロキシCP(519)は、送信されたデータのメッセージを受信し、そのメッセージをリモートメモリプロキシエンジンRPE(527)のホームプロキシHP(517)に転送する。
ノードコントローラ1(535)のリモートメモリプロキシエンジンRPE(527)のホームプロキシHP(517)は、そのメッセージを受信し、リモートデータディレクトリRDIR(525)を調べ、ローカルノード(533)の物理サブドメインDom1(513)内のプロセサがデータコピーを持っているかどうか決定する。この例では、ローカルノード(533)の物理サブドメインDom1(513)内のプロセサP1(501)がそのデータコピーを持っているとみなされる。そして、ノードコントローラ1(535)のリモートメモリプロキシエンジンRPE(527)のホームプロキシHP(517)は、物理サブドメインDom1(513)内のプロセサP1(501)にデータのスヌープメッセージを送信する。
プロセサP1(501)は、データのスヌープメッセージを受信し、メッセージのタイプによりデータコピーの状態を最新の状態にする。そして、その後ノードコントローラ1(535)内のリモートデータエンジンRPE(527)のホームプロキシHP(517)に返答メッセージをリターンする。
ノードコントローラ1(535)内のリモートメモリプロキシエンジンRPE(527)のホームプロキシHP(517)は、ローカルノード内の全ての返答メッセージを集めて(この例では、物理サブドメインDom1(513)内のプロセサP1(501)のみがデータコピーを持つ。)、リモートデータエンジンRPE(527)のキャッシュプロキシCP(519)にデータのスヌープメッセージの返答を転送する。
ノードコントローラ1(535)内のリモートメモリプロキシエンジンRPE(527)のキャッシュプロキシCP(519)は、ノードコントローラ1(535)内のローカルメモリプロキシエンジンLPE(528)のホームプロキシHP(520)に返答メッセージを送信する。
ノードコントローラ1(535)内のローカルメモリプロキシエンジンLPE(528)のホームプロキシHP(520)は、リモートメモリプロキシエンジンRPE(527)のキャッシュプロキシCP(519)によって送信された返答メッセージを受信して、ローカルノードNode1(533)のスヌーピングを終了する。
ローカルノードNode1(533)をスヌーピングする処理の間に、ノードコントローラ2(536)のリモートメモリプロキシエンジンRPE(531)のキャッシュプロキシCP(523)は、ノードコントローラ1(535)のローカルメモリプロキシエンジンLPE(528)のホームプロキシHP(520)によって送信されたデータのスヌープメッセージを受信し、そのメッセージをノードコントローラ2(536)のリモートメモリプロキシエンジンRPE(531)のホームプロキシHP(521)に転送する。
ノードコントローラ2(536)のリモートメモリプロキシエンジンRPE(531)のホームプロキシHP(521)は、データのスヌープメッセージを受信し、リモートデータディレクトリRDIR(529)を調べて、ローカルノード(534)内の様々な物理サブドメイン内のプロセサがデータコピーを持っているかどうか決定する。この例では、ノード2(534)の物理サブドメインDom1(515)内のプロセサP1(504)がそのデータコピーを持ってるとみなされる。そして、ノードコントローラ2(536)のリモートメモリプロキシエンジンRPE(531)のホームプロキシHP(521)は物理サブドメインDom1(515)内のプロセサP1(504)にデータのスヌープメッセージを送信する。
プロセサP1(504)は、データのスヌープメッセージを受信し、そのメッセージのタイプにより内部のデータコピーの状態を最新の状態にする。そして、その後プロセサP1(504)は、ノードコントローラ2(536)内のリモートデータエンジンRPE(531)のホームプロキシHP(521)に返答メッセージをリターンする。
ノードコントローラ2(536)内のリモートメモリプロキシエンジンRPE(531)のホームプロキシHP(521)は、ローカルノード内の全ての返答メッセージを集めて、リモートデータエンジンRPE(531)のキャッシュプロキシCP(523)に返答メッセージを転送する。
ノードコントローラ2(536)内のリモートメモリプロキシエンジンRPE(531)のキャッシュプロキシCP(523)は、ノードコントローラ1(535)内のローカルメモリプロキシエンジンLPE(528)のホームプロキシHP(520)に返答メッセージを送信する。
ノードコントローラ1(535)のローカルメモリプロキシエンジンLPE(528)のホームプロキシHP(520)は、ノードコントローラ2(536)のリモートメモリプロキシエンジンRPE(531)のキャッシュプロキシCP(523)によって送信された返答メッセージを受信する。
ノードコントローラ1(535)のローカルメモリプロキシエンジンLPE(528)のホームプロキシHP(520)は、全ての返答メッセージを集めて、その後ローカルデータディレクトリLDIR(526)を最新の状態にし、ローカルメモリプロキシエンジンLPE(528)のキャッシュプロキシCP(518)に返答メッセージを転送する。
ノードコントローラ1(535)のローカルメモリプロキシエンジンLPE(528)のキャッシュプロキシCP(518)は、物理サブドメインDom2(514)内のプロセサP3(503)に返答メッセージを送信する。
プロセサP3(503)は、その返答を受信し、その後、内部のディレクトリ情報を最新の状態にし、要求元プロセサP2(502)にデータを送信する。
ディレクトリフォーマットのデザインを図6に示す。:
リモートメモリプロクシエンジンRPE内のリモートメモリディレクトリRDIRによって記録される情報は、アクセスアドレスにより二つに分けられる:
ローカルノードの様々な物理サブドメイン内のリモートアドレスのデータ共有者情報;ローカルノードの様々な物理サブドメイン内の様々なプロセサがデータコピー及びそのコヒーレンス状態を持っているかどうかが記録される;
ローカルノードの様々な物理サブドメイン内のローカルアドレスのデータ共有者情報:ローカルノードはDom1〜Domnを含むn個の物理サブドメインにより構成され、物理サブドメインDomi(i=1、2、・・・n)内のプロセサによって使用されるメモリデータのために、RDIRはローカルノード内の物理サブドメインDomj(j=1、2、・・・n且つj!=i)内のプロセサがそのデータコピー及びそのコヒーレンス状態を持っているかどうかを記録する。
(図6(b)に示すように)ローカルメモリプロキシエンジンLPE内のローカルメモリディレクトリLDIRによって記録される情報は、ローカルノード内のある物理サブドメインに属するメモリデータがリモートノードまたはそのローカルノードの他の物理サブドメインによってキャッシュされるかどうかを示す。
図6(c)に示すように、ローカルおよびリモートディレクトリは、また統一されたディレクトリ構造(UDIR)に統合されることができる。UDIRのディレクトリエントリは、この物理サブドメインのプロセサ以外のシステム内の全てのプロセサがデータコピー情報とコヒーレンス状態情報を持っていることを記録する。
図7に示すように、ノードコントローラ(712)は、多数の物理サブドメインをサポートすることができる。ノードコントローラ(712)の各プロセサのインターフェイスはどの物理サブドメインに属するかが設定されることができる。各プロセサのインターフェイスに対して、そのプロセサのインターフェイスが属する物理サブドメインを示すために物理サブドメイン識別レジスタ(709、710、711)が設定される。ノードコントローラのプロセサインターフェイスの物理サブドメイン識別レジスタ(709、710、711)は、システムの起動中に、およびシステムの稼働中に設定されることができる。
本明細書に記載された技術的特徴を除いて、使用された全ての技術は当業者に知られている先行技術である。
マルチキャッシュコヒーレンシドメインを有するノードを備えたマルチプロセサシステムの構成方法の実施形態が提供される。
いくつかの実施形態を以下に示す。マルチプロセサシステムにおいて、統一された論理キャッシュコヒーレンシドメインが各ノードのコントローラで構成され、複数のプロセサと1個のノードコントローラがお互いから分離された複数の物理キャッシュコヒーレンシドメインを形成する。ここで開示される1つの実施形態は、キャッシュコヒーレンシドメイン構成方法と、キャッシュコヒーレンシドメイン分割方法と、ディレクトリ構成方法とを含み、
(1)前記キャッシュコヒーレンシドメイン構成方法は、
1)第1レベルのノードコントローラを通して直接に、またはノードルータを通して第1レベルのノードを接続し、当該第1レベルのノードの単一キャッシュコヒーレンシドメインを形成し、
2)前記第1レベルのノードコントローラに第2レベルのノードコントローラを直接接続し、当該第2レベルのノードコントローラ内に統一された論理キャッシュコヒーレンシドメインを構成し、当該論理キャッシュコヒーレンシドメインが複数の物理キャッシュコヒーレンシドメインを含み、当該複数の物理キャッシュコヒーレンシドメインが、お互いから分離されており、かつ複数の前記第1レベルのノードコントローラと1個の前記第2レベルのノードコントローラによって形成されており、
3)前記第2レベルのノードコントローラを通して直接に、またはノードルータを通して第2レベルのノードを接続して、当該第2レベルのノードの単一キャッシュコヒーレンシドメインを形成し、
4)前記1)〜3)の方法を第n(n>2)レベルのノードに拡張し、もっと多くのレベルのノードでマルチプロセサシステムを実現し、
(2)前記キャッシュコヒーレンシドメイン分割方法は、
1)前記第1レベルのノードコントローラのために、前記プロセサに接続された様々なポートの情報を、複数の前記プロセサと前記ノードコントローラによって形成される前記物理キャッシュコヒーレンシドメインのドメイン属性情報源として使い、各ポートのドメイン情報レジスタによって前記ポートの物理サブドメインを識別し、システムの要求に応じて前記ドメイン情報レジスタによって各ポートのドメイン属性情報を設定し、従って、複数の前記プロセサと前記ノードコントローラによって形成される様々な物理キャッシュコヒーレンシドメインの分割を実行し、
2)前記第2レベルのノードコントローラのために、前記第1レベルのノードコントローラに接続された様々なポートの情報を、複数の前記第1レベルのノードコントローラと1個の前記第2レベルのノードコントローラによって形成される物理キャッシュコヒーレンシドメインのドメイン属性情報源として使い、システムの要求に応じて各ポートのドメイン属性情報を設定し、従って複数の前記第1レベルのノードコントローラと1個の前記第2レベルのノードコントローラによって形成される様々な物理キャッシュコヒーレンシドメインの分割を実行し、
3)方法2)に記載された前記第2レベルのノードコントローラのポートドメイン属性の設定方法を使うことによって、第n(n>2)レベルのノードコントローラのポートドメイン属性情報を設定し、
(3)前記ディレクトリ構成方法は、
1)前記第1レベルのノードコントローラがローカルとリモートの2重のディレクトリ構造を使用し、リモートデータディレクトリのために、ディレクトリエントリが前記ローカルノード内での統一されたデータコピーを持っているプロセサ及び当該プロセサのドメイン属性情報とコヒーレンス状態情報を記録し、ローカルデータディレクトリのために、ディレクトリエントリが前記データコピーを持っているリモートノード及び当該リモートノードのコヒーレンス状態情報を記録し、データが位置する物理サブドメイン以外の前記ローカルノード内の他の物理サブドメインがデータコピーを持っているかどうかを示すためにフラグビットセットされ
2)前記第2レベルのノードコントローラがローカルとリモートの2重のディレクトリ構造を使用し、リモートデータディレクトリのために、ディレクトリエントリが前記ローカルの第2レベルのノード内での統一されたデータコピーを持っている第1レベルのノード及び当該第1レベルのノードのドメイン属性情報とコヒーレンス状態情報を記録し、ローカルデータディレクトリのために、ディレクトリエントリが統一されたデータコピーを持っているリモートの第2レベルのノード及び当該リモートの第2レベルのノードのコヒーレンス状態情報を記録し、当該データが位置する物理サブドメイン以外のローカルの第2レベルのノード内の他の物理サブドメインがデータコピーを持っているかどうかを示すためにフラグビットセットされ
3)方法2)に記載された前記第2レベルのノードコントローラのディレクトリ構成方法を使うことによって、第n(n>2)レベルのノードコントローラのディレクトリ構造を設定する、
または
4)前記第1レベルのノードコントローラがローカル/リモートの統一されたディレクトリ構造を使用し、前記物理サブドメインのプロセサ以外のシステム内の全てのプロセサが統一されたデータコピー情報とコヒーレンス状態情報を持っていることをディレクトエントリが記録し、
5)前記第2レベルのノードコントローラがローカル/リモートの統一されたディレクトリ構造を使用し、前記物理サブドメインの前記第1レベルのノードコントローラ以外のシステム内の全ての第1レベルのノードコントローラが統一されたデータコピー情報とコヒーレンス状態情報を持っていることをディレクトリエントリが記録し、
6)方法5)に記載された前記第2レベルのノードコントローラの前記ディレクトリ構成方法を使うことによって、第n(n>2)レベルのノードコントローラのディレクトリ構造を設定する。
ノードコントローラのディレクトリ構造のために、ローカルとリモートの2重のディレクトリ構造を使うことができる。そして、リモートデータディレクトリのために、ディレクトリエントリはローカルノード内でのデータのコピーを持っているプロセサ及びそのプロセサのドメイン属性情報とコヒーレンス状態情報を記録する。ローカルデータディレクトリのために、ディレクトリエントリはデータのコピーを持っているリモートノードとそのリモートノードのコヒーレンス状態情報を記録し、データが位置する物理サブドメイン以外のローカルノード内の他のサブドメインがデータのコピーを持っているかどうかを示すためにフラグビットがセットされる。
同様に、第2レベルのノードコントローラはローカルとリモートの2重のディレクトリ構造を使うことができる。リモートデータディレクトリのために、ディレクトリエントリはローカルの第2レベルのノード内でのデータのコピーを持っている第1レベルのノード及びその第1レベルのノードのドメイン属性情報とコヒーレンス状態情報を記録する。ローカルデータディレクトリのために、ディレクトリエントリはデータのコピーを持っているリモートの第2レベルのノード及びそのリモートの第2レベルのノードのコヒーレンス状態情報を記録し、データが位置する物理サブドメイン以外のローカルの第2レベルのノード内の他のサブドメインがデータのコピーを持っているかどうかを示すためにフラグビットがセットされる。
ノードコントローラ(315)のリモートメモリプロキシエンジンRPE(313)のホームプロキシHP(309)は、リターンされたデータとそのコヒーレンス状態を受信し、要求アドレスのために、リモートメモリディレクトリRDIR(316)内に、物理サブドメインDom1(307)に属するプロセサP1(301)がそのアドレスのデータコピーと状態を持つことを記録する。
ノードNode1(433)のリモートメモリプロキシエンジンRPE(427)のホームプロキシHP(417)は、リモートメモリディレクトリRDIR(425)を調べて、ローカルノードの様々な物理サブドメイン内でスヌープ・オペレーションを実行することが必要であるかどうかを決定する。この例では、物理サブドメインDom1(413)に対する処理は必要ないとみなされる。リモートメモリプロキシエンジンRPE(427)のホームプロキシHP(417)は、アクセス要求のアドレスにより、それがリモートノードNode2(434)のメモリモジュールに属することを知り、従ってリモートメモリプロキシエンジンRPE(427)のキャッシュプロキシCP(419)にアクセス要求を転送する。
ノードコントローラ(435)のリモートメモリプロキシエンジンRPE(427)のホームプロキシHP(417)は、リモートデータディレクトリRDIR(425)内で、Dom1のプロセサP1がデータとそのコヒーレンス状態を持っているこを記録する。そして、それからホームプロキシHP(417)は、要求元Dom1のプロセサP1(401)にデータとそのコヒーレンス状態をリターンし、その要求の処理を完了する。
ディレクトリフォーマットのデザインを図6に示す。:
リモートメモリプロクシエンジンRPE内のリモートメモリディレクトリRDIRによって記録される情報は、アクセスアドレスにより二つに分けられる:
ローカルノードの様々な物理サブドメイン内のリモートアドレスのデータ共有者情報ローカルノードの様々な物理サブドメイン内の様々なプロセサがデータコピー及びそのコヒーレンス状態を持っているかどうかが記録される;
ローカルノードの様々な物理サブドメイン内のローカルアドレスのデータ共有者情報:ローカルノードはDom1〜Domnを含むn個の物理サブドメインにより構成され、物理サブドメインDomi(i=1、2、・・・n)内のプロセサによって使用されるメモリデータのために、RDIRはローカルノード内の物理サブドメインDomj(j=1、2、・・・n且つj!=i)内のプロセサがそのデータコピー及びそのコヒーレンス状態を持っているかどうかを記録する。

Claims (1)

  1. マルチキャッシュコヒーレンシドメインを有するノードを備えたマルチプロセサシステムの構成方法であって、
    マルチプロセサノードシステムにおいて、統一された論理キャッシュコヒーレンシドメインが、各ノードのコントローラと複数のプロセサで構成され、
    前記ノードコントローラが、お互いから分離されたマルチ物理キャッシュコヒーレンシドメインを形成し、
    キャッシュコヒーレンシドメイン構成方法と、キャッシュコヒーレンシドメイン分割方法と、ディレクトリ構成方法とを含み、
    (1)前記マルチ物理キャッシュコヒーレンシドメインの構成方法は、
    1)ノードコントローラを通して、またはノードルータを通して第1レベルのノードを直接接続し、当該第1レベルのノードの単一キャッシュコヒーレンシドメインを形成し、
    2)前記第1レベルのノードコントローラに第2レベルのノードコントローラを直接接続し、当該第2レベルのノードコントローラ内に統一された論理キャッシュコヒーレンシドメインを構成し、当該キャッシュコヒーレンシドメインがマルチ物理キャッシュコヒーレンシドメインを含み、当該マルチ物理キャッシュコヒーレンシドメインがお互いから分離されており、かつ複数の前記第1レベルのノードコントローラと1個の前記第2レベルのノードコントローラによって形成されており、
    3)第2レベルのノードコントローラを通して、またはノードルータを通して第2レベルのノードを直接接続して、当該第2レベルのノードの単一キャッシュコヒーレンシドメインを形成し、
    4)前記1)〜3)の方法を第n(n>2)レベルのノードに拡張し、もっと多くのレベルのノードでマルチプロセサシステムを実現し、
    (2)前記キャッシュコヒーレンシドメイン分割方法は、
    1)前記第1レベルのノードコントローラのために、前記プロセサに接続された様々なポートの情報を、複数の前記プロセサと前記ノードコントローラによって形成される前記物理キャッシュコヒーレンシドメインのドメイン属性情報源として使い、各ポートのドメイン情報レジスタによって前記ポートの物理サブドメインを識別し、システムの要求に応じて前記ポートドメイン情報レジスタによって各ポートのドメイン属性情報を設定し、従って、複数の前記プロセサと前記ノードコントローラによって形成される様々な物理キャッシュコヒーレンシドメインの分割を実行し、
    2)前記第2レベルのノードコントローラのために、前記第1レベルのノードコントローラに接続された様々なポートの情報を、複数の前記第1レベルのノードコントローラと1個の前記第2レベルのノードコントローラによって形成される物理キャッシュコヒーレンシドメインのドメイン属性情報源として使い、システムの要求に応じて各ポートのドメイン情報を設定し、従って複数の前記第1レベルのノードコントローラと1個の前記第2レベルのノードコントローラによって形成される様々な物理キャッシュコヒーレンシドメインの分割を実行し、
    3)前記分割方法の項目2)に記載された前記第2レベルのノードコントローラのポートドメイン属性の設定方法を使うことによって、第n(n>2)レベルのノードコントローラのポートドメイン属性を設定し、
    (3)前記ディレクトリ構成方法は、
    1)前記第1レベルのノードコントローラがローカルとリモートの2重のディレクトリ構造を使用し、リモートデータディレクトリのために、ディレクトリエントリが前記ローカルノード内での統一されたデータコピーを持っているプロセサ及び当該プロセサのドメイン属性情報とコヒーレンス状態情報を記録し、ローカルデータディレクトリのために、ディレクトリエントリが前記データコピーを持っているリモートノード及び当該リモートノードのコヒーレンス状態情報を記録し、データが位置する物理サブドメイン以外の前記ローカルノード内の他のサブドメインがデータコピーを持っているかどうかを示すためにフラグビットをセットし、
    2)前記第2レベルのノードコントローラがローカルとリモートの2重のディレクトリ構造を使用し、リモートデータディレクトリのために、ディレクトリエントリが前記ローカルの第2レベルのノード内での統一されたデータコピーを持っている第1レベルのノード及び当該第1レベルのノードのドメイン属性情報とコヒーレンス状態情報を記録し、ローカルデータディレクトリのために、ディレクトリエントリが統一されたデータコピーを持っているリモートの第2レベルのノード及び当該リモートの第2レベルのノードのコヒーレンス状態情報を記録し、当該データが位置する物理サブドメイン以外のローカルの第2レベルのノード内の他のサブドメインがデータコピーを持っているかどうかを示すためにフラグビットをセットし、
    3)前記ディレクトリ構成方法の項目2)に記載された前記第2レベルのノードコントローラのディレクトリ構成方法を使うことによって、第n(n>2)レベルのノードコントローラのディレクトリ構造を設定し、
    4)前記第1レベルのノードコントローラがローカル/リモートの統一されたディレクトリ構造を使用し、前記物理サブドメインのプロセサ以外のシステム内の全てのプロセサが統一されたデータコピー情報とコヒーレンス状態情報を持っていることをディレクトエントリが記録し、
    5)前記第2レベルのノードコントローラがローカル/リモートの統一されたディレクトリ構造を使用し、前記物理サブドメインの前記第1レベルのノードコントローラ以外のシステム内の全ての第1レベルのノードコントローラが統一されたデータコピー情報とコヒーレンス状態情報を持っていることをディレクトリエントリが記録し、
    6)前記ディレクトリ構成方法の項目5)に記載された前記第2レベルのノードコントローラの前記ディレクトリ構成方法を使うことによって、第n(n>2)レベルのノードコントローラのディレクトリ構造を設定する、
    ことを特徴とするマルチプロセサシステムの構成方法。
JP2015527762A 2012-12-17 2013-01-22 マルチプロセサシステムおよびマルチプロセサシステムの構成方法 Active JP5852294B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201210544976.6 2012-12-17
CN2012105449766A CN103049422B (zh) 2012-12-17 2012-12-17 一种具有多cache一致性域的多处理器节点系统构建方法
PCT/CN2013/070807 WO2014094374A1 (zh) 2012-12-17 2013-01-22 一种节点具有多个cache一致性域的多处理器系统构建方法

Publications (2)

Publication Number Publication Date
JP2015530651A true JP2015530651A (ja) 2015-10-15
JP5852294B2 JP5852294B2 (ja) 2016-02-03

Family

ID=48062067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015527762A Active JP5852294B2 (ja) 2012-12-17 2013-01-22 マルチプロセサシステムおよびマルチプロセサシステムの構成方法

Country Status (5)

Country Link
US (1) US9274961B2 (ja)
EP (1) EP2869208A4 (ja)
JP (1) JP5852294B2 (ja)
CN (1) CN103049422B (ja)
WO (1) WO2014094374A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017117203A (ja) * 2015-12-24 2017-06-29 富士通株式会社 情報処理装置、演算処理装置および情報処理装置の制御方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103475494B (zh) * 2013-09-12 2017-04-05 华为技术有限公司 Cc‑numa系统及其启动的方法
CN103500108B (zh) * 2013-09-27 2016-08-10 杭州华为数字技术有限公司 系统内存访问方法、节点控制器和多处理器系统
CN103577382B (zh) * 2013-10-24 2017-01-04 华为技术有限公司 一种配置节点控制器的方法和装置
WO2015075674A1 (en) 2013-11-21 2015-05-28 Green Cache AB Systems and methods for direct data access in multi-level cache memory hierarchies
CN103729309B (zh) * 2014-01-15 2017-06-30 浪潮电子信息产业股份有限公司 一种目录Cache一致性方法
US10409725B2 (en) 2014-05-29 2019-09-10 Samsung Electronics Co., Ltd. Management of shared pipeline resource usage based on level information
CN104199740B (zh) * 2014-08-28 2019-03-01 浪潮(北京)电子信息产业有限公司 共享系统地址空间的非紧耦合多节点多处理器系统和方法
CN104360982B (zh) * 2014-11-21 2017-11-10 浪潮(北京)电子信息产业有限公司 一种基于可重构芯片技术的主机系统目录结构实现方法和系统
CN107077429B (zh) * 2015-03-20 2019-10-18 华为技术有限公司 数据读取方法、设备和系统
CN105068786B (zh) * 2015-07-30 2018-03-23 浪潮(北京)电子信息产业有限公司 一种处理访存请求的方法和节点控制器
CN105045729B (zh) * 2015-09-08 2018-11-23 浪潮(北京)电子信息产业有限公司 一种远端代理带目录的缓存一致性处理方法与系统
SG11201803730TA (en) 2015-11-04 2018-06-28 Samsung Electronics Co Ltd Systems and methods for implementing coherent memory in a multiprocessor system
CN106708551B (zh) * 2015-11-17 2020-01-17 华为技术有限公司 一种热添加中央处理器cpu的配置方法及系统
US10591977B2 (en) * 2015-12-10 2020-03-17 Arm Limited Segregated power state control in a distributed cache system
CN107291653B (zh) * 2016-03-31 2020-06-16 华为技术有限公司 一种多处理器系统及配置多处理器系统的方法
NO342930B1 (en) * 2016-10-18 2018-09-03 Numascale As Cache Coherent node controller
US10521112B2 (en) * 2017-03-17 2019-12-31 International Business Machines Corporation Layered clustered scale-out storage system
NO343359B1 (en) * 2017-05-02 2019-02-11 Numascale As Interconnect switch in multiprocessor systems
CN111581133A (zh) * 2020-05-06 2020-08-25 苏州浪潮智能科技有限公司 一种多核存储器一致性的方法、系统、设备及可读介质
CN114036099A (zh) * 2022-01-04 2022-02-11 苏州浪潮智能科技有限公司 一种多处理机系统创建方法、装置、设备及存储介质
CN116578523B (zh) * 2023-07-12 2023-09-29 上海芯高峰微电子有限公司 片上网络系统及其控制方法
CN116962259B (zh) * 2023-09-21 2024-02-13 中电科申泰信息科技有限公司 一种基于监听-目录两层协议的一致性处理方法及系统

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619784A (ja) * 1990-05-31 1994-01-28 Kendall Square Res Corp ダイナミック階層連想メモリ
JPH06259384A (ja) * 1993-03-02 1994-09-16 Toshiba Corp マルチプロセッサ
JPH10124394A (ja) * 1996-08-09 1998-05-15 Internatl Business Mach Corp <Ibm> キャッシュ・コヒーレンシを維持する方法および装置
JPH10240707A (ja) * 1997-02-27 1998-09-11 Hitachi Ltd 主記憶共有型マルチプロセッサ
JP2001522091A (ja) * 1997-11-05 2001-11-13 ユニシス コーポレーション メモリ最適化状態
JP2001522093A (ja) * 1997-11-05 2001-11-13 ユニシス コーポレーション デッドロックを回避するためのメッセージフロープロトコル
JP2001522090A (ja) * 1997-11-05 2001-11-13 ユニシス コーポレーション ディレクトリベースのキャッシュコヒーレンスシステム
JP2001522087A (ja) * 1997-11-05 2001-11-13 ユニシス コーポレーション 非アトミックオペレーション中のメモリに対する独占的アクセスを提供する分割ロック操作方法
JP2003510721A (ja) * 1999-09-29 2003-03-18 シリコン グラフィックス インコーポレイテッド マルチプロセッサノードコントローラ回路及び方法
JP2003162447A (ja) * 2001-10-19 2003-06-06 Sun Microsyst Inc エラー回復
JP2003186742A (ja) * 2001-10-17 2003-07-04 Sun Microsyst Inc ディレクトリ・キャッシュの更新
US20040268044A1 (en) * 2003-06-25 2004-12-30 International Business Machines Corporation Multiprocessor system with dynamic cache coherency regions
JP2005018772A (ja) * 2003-06-25 2005-01-20 Internatl Business Mach Corp <Ibm> 複数のコヒーレンシ領域およびキャッシュ・パージのないコヒーレンシ領域間ソフトウェア・プロセス移行を備えるマルチプロセッサ・コンピュータ・システム
JP2008097598A (ja) * 2006-10-09 2008-04-24 Internatl Business Mach Corp <Ibm> 共用のグローバル・コヒーレンシ状態を支援するプロセッサ、データ処理システム、および方法
JP2009140376A (ja) * 2007-12-10 2009-06-25 Hitachi Ltd 特定アドレス範囲に分割されたスヌープフィルタを持つマルチプロセッサコンピュータシステム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6085295A (en) * 1997-10-20 2000-07-04 International Business Machines Corporation Method of maintaining data coherency in a computer system having a plurality of interconnected nodes
US7130969B2 (en) * 2002-12-19 2006-10-31 Intel Corporation Hierarchical directories for cache coherency in a multiprocessor system
FR2927437B1 (fr) * 2008-02-07 2013-08-23 Bull Sas Systeme informatique multiprocesseur
US9035959B2 (en) * 2008-03-28 2015-05-19 Intel Corporation Technique to share information among different cache coherency domains
US20120102273A1 (en) * 2009-06-29 2012-04-26 Jichuan Chang Memory agent to access memory blade as part of the cache coherency domain
CN102270180B (zh) * 2011-08-09 2014-04-02 清华大学 一种多核处理器系统的管理方法

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0619784A (ja) * 1990-05-31 1994-01-28 Kendall Square Res Corp ダイナミック階層連想メモリ
JPH06259384A (ja) * 1993-03-02 1994-09-16 Toshiba Corp マルチプロセッサ
JPH10124394A (ja) * 1996-08-09 1998-05-15 Internatl Business Mach Corp <Ibm> キャッシュ・コヒーレンシを維持する方法および装置
JPH10240707A (ja) * 1997-02-27 1998-09-11 Hitachi Ltd 主記憶共有型マルチプロセッサ
JP2001522090A (ja) * 1997-11-05 2001-11-13 ユニシス コーポレーション ディレクトリベースのキャッシュコヒーレンスシステム
JP2001522093A (ja) * 1997-11-05 2001-11-13 ユニシス コーポレーション デッドロックを回避するためのメッセージフロープロトコル
JP2001522091A (ja) * 1997-11-05 2001-11-13 ユニシス コーポレーション メモリ最適化状態
JP2001522087A (ja) * 1997-11-05 2001-11-13 ユニシス コーポレーション 非アトミックオペレーション中のメモリに対する独占的アクセスを提供する分割ロック操作方法
JP2003510721A (ja) * 1999-09-29 2003-03-18 シリコン グラフィックス インコーポレイテッド マルチプロセッサノードコントローラ回路及び方法
JP2003186742A (ja) * 2001-10-17 2003-07-04 Sun Microsyst Inc ディレクトリ・キャッシュの更新
JP2003162447A (ja) * 2001-10-19 2003-06-06 Sun Microsyst Inc エラー回復
US20040268044A1 (en) * 2003-06-25 2004-12-30 International Business Machines Corporation Multiprocessor system with dynamic cache coherency regions
JP2005018772A (ja) * 2003-06-25 2005-01-20 Internatl Business Mach Corp <Ibm> 複数のコヒーレンシ領域およびキャッシュ・パージのないコヒーレンシ領域間ソフトウェア・プロセス移行を備えるマルチプロセッサ・コンピュータ・システム
JP2008097598A (ja) * 2006-10-09 2008-04-24 Internatl Business Mach Corp <Ibm> 共用のグローバル・コヒーレンシ状態を支援するプロセッサ、データ処理システム、および方法
JP2009140376A (ja) * 2007-12-10 2009-06-25 Hitachi Ltd 特定アドレス範囲に分割されたスヌープフィルタを持つマルチプロセッサコンピュータシステム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017117203A (ja) * 2015-12-24 2017-06-29 富士通株式会社 情報処理装置、演算処理装置および情報処理装置の制御方法

Also Published As

Publication number Publication date
WO2014094374A1 (zh) 2014-06-26
US20150067269A1 (en) 2015-03-05
EP2869208A4 (en) 2016-04-20
JP5852294B2 (ja) 2016-02-03
CN103049422B (zh) 2013-11-27
EP2869208A1 (en) 2015-05-06
US9274961B2 (en) 2016-03-01
CN103049422A (zh) 2013-04-17

Similar Documents

Publication Publication Date Title
JP5852294B2 (ja) マルチプロセサシステムおよびマルチプロセサシステムの構成方法
JP5833282B2 (ja) 多階層キャッシュコヒーレンシドメインシステムおよび多階層キャッシュコヒーレンシドメインシステムのローカルドメインにおけるShare−F状態の構成方法
US9235529B2 (en) Using broadcast-based TLB sharing to reduce address-translation latency in a shared-memory system with optical interconnect
US9009446B2 (en) Using broadcast-based TLB sharing to reduce address-translation latency in a shared-memory system with electrical interconnect
US6631448B2 (en) Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
JP4082612B2 (ja) 複数のコヒーレンシ領域およびキャッシュ・パージのないコヒーレンシ領域間ソフトウェア・プロセス移行を備えるマルチプロセッサ・コンピュータ・システム
US6457100B1 (en) Scaleable shared-memory multi-processor computer system having repetitive chip structure with efficient busing and coherence controls
US20040260906A1 (en) Performing virtual to global address translation in processing subsystem
US20050005074A1 (en) Multi-node system in which home memory subsystem stores global to local address translation information for replicating nodes
EP1561162B1 (en) Methods and apparatus for multiple cluster locking
JPH10124394A (ja) キャッシュ・コヒーレンシを維持する方法および装置
WO2014146424A1 (zh) 一种基于有限数据一致性状态的服务器节点数据缓存方法
KR20220160489A (ko) 간섭성 및 비간섭성 데이터를 저장하기 위한 캐시
US20050102477A1 (en) Multiprocessor system
EP1611513B1 (en) Multi-node system in which global address generated by processing subsystem includes global to local translation information
EP1652091B1 (en) Methods and apparatus for providing early responses from a remote data cache
US6965972B2 (en) Real time emulation of coherence directories using global sparse directories
CN108170544B (zh) 面向数据无冲突程序的共享数据动态更新方法
JPH09311820A (ja) マルチプロセッサシステム
US20230100746A1 (en) Multi-level partitioned snoop filter
US6636948B2 (en) Method and system for a processor to gain assured ownership of an up-to-date copy of data
CN106803810B (zh) 一种降低监听开销的cc-numa系统及方法
CN116795767A (zh) 一种基于CHI协议的多核Cache共享一致性协议构建方法
CN116185900A (zh) Mcm-gpu末级高速缓存管理方法及mcm-gpu
Zhang Research on the Cache Performance Optimization Technology of Multi-Core Processor Chip

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150924

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151029

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151203

R150 Certificate of patent or registration of utility model

Ref document number: 5852294

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