JP2002091824A - 共有データ要求を操作するシステム及び方法 - Google Patents

共有データ要求を操作するシステム及び方法

Info

Publication number
JP2002091824A
JP2002091824A JP2001215834A JP2001215834A JP2002091824A JP 2002091824 A JP2002091824 A JP 2002091824A JP 2001215834 A JP2001215834 A JP 2001215834A JP 2001215834 A JP2001215834 A JP 2001215834A JP 2002091824 A JP2002091824 A JP 2002091824A
Authority
JP
Japan
Prior art keywords
group
node
data
cache
request
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.)
Withdrawn
Application number
JP2001215834A
Other languages
English (en)
Inventor
N Conway Patrick
エヌ.コンウェイ パトリック
Nakagawa Yukihiro
ナカガワ ユキヒロ
Run Chan Yun
ルン チャン ユン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2002091824A publication Critical patent/JP2002091824A/ja
Withdrawn legal-status Critical Current

Links

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
    • 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

Abstract

(57)【要約】 【課題】 各グループは複数のノードを有し、各ノード
は複数のプロセッサを有し、共有データ要求を操作する
コンピュータネットワークシステムである。 【解決手段】 上記システムは、データ要求を記録する
ための要求未了バッファ(ROB)と、要求ノードに対
し先行するメモリ要求の結果をキャッシュするための遠
隔アクセスキャッシュ(RAC)と、システム内のキャ
ッシュラインの全域的ステートを記録するためのディレ
クトリ(20)とを含んでなる。RACは「共有」及び
「無効」という2つのステートのみをサポートし、クリ
ーンな遠隔データのみをキャッシュする。ディレクトリ
ステートが「修正/排他」である場合、ラインはRAC
内にないものとして表示される。データは、RACのラ
インがキャッシュされているとき、RACから要求ノー
ドへ供給され、キャッシュされていないときは、データ
は、遠隔ホームノードから供給され、RAC内にインス
トールされる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般的にはメモリ
アクセスに関し、より特定的にはマルチノードコンピュ
ータネットワークシステム内で共有データ要求を操作す
るシステム及び方法に関する。
【0002】
【従来技術】従来型のキャッシュコヒーレント不均一メ
モリアクセス(「CCNUMA」:Cache Coherent non
-uniform memory access)が知られている。不均一メモ
リアクセスを用いたマルチノードシステムにおいては、
中央処理ユニット(「CPU」)が自身のノードすなわ
ちローカルノードでメモリにアクセスした場合、データ
アクセス時間は高速である。これとは対照的に、中央処
理ユニット自身のノード以外のノードすなわち遠隔ノー
ドでの不均一メモリアクセスにおいては、データアクセ
ス時間は低速である。
【0003】「修正/排他、共有、無効」(「MES
I」:Modified/Exclusive, Shared,Invalid)と呼ばれ
る従来のプロトコルは、データアクセス速度を高めるの
に役立つように進歩してきた。このプロトコルでは、マ
ルチノードシステム内のデータについての情報をメモリ
制御装置が格納し、追跡する。この制御装置は、マルチ
ノードシステム内のどのノード上に現在データが常駐し
ているかを決定する。
【0004】遠隔アクセスキャッシュ(RAC:Remote
Access Cache)は、同じグループ内のノードからの後
続するメモリ要求による遠隔データへのアクセス速度を
速くするため、遠隔要求のためのデータをキャッシュす
る。
【0005】従来のキャッシュコヒーレント不均一メモ
リアクセス(「CCNUMA」)においては、第1のプ
ロセッサが遠隔メモリに対し「read-to-share」又は「r
ead-to-own」要求を発行する場合、そのプロセッサはま
ず第1に遠隔アクセスキャッシュ(RAC)にアクセス
し、次に遠隔メモリエージェントのためのディレクトリ
にアクセスする必要がある。このアプローチに伴う問題
点は、それがRACアクセスと遠隔ディレクトリアクセ
スとを直列化するということにある。既存のアプローチ
は、これら2つの動作の重複を許容しないため、遠隔メ
モリ待ち時間を増大させる。
【0006】さらに、RAC内のデータは、修正(M:
Modified)又は排他(E:Exclusive)ステートで存在
し得る。RACがEステートでラインを有するならば、
RACはそのラインをコピーする「read-write」許可を
有する。しかしまだそのラインへ書込みを行っていな
い。RACがMステートにあるならば、それは、そのラ
インをキャッシュしてコピーするための「read-write」
許可を有する。かつそれは既にそのラインを修正してい
る。最新のデータがRAC内にあるときは、キャッシュ
ラインステートはMであり、RACは「read-to-shar
e」又は「read-to-own」要求に応答してそのキャッシュ
ラインを供給する。RAC内でMステートのラインをヒ
ットする遠隔「read-to-share」要求は、ラインをメモ
リに書き戻しかつ要求者に対し共有コピーを戻すことに
より、ラインステートをMからSへグレードダウンしな
ければならない。遠隔「read-to-own」要求は、そのラ
インの新しい所有者が誰であるかを指示するため、ディ
レクトリに対し所有権移転通知を送信しなくてはならな
い。ディレクトリはどのキャッシュがディレクトリにお
いてMEステートにあるキャッシュラインの排他的所有
者であるかを常に追跡しなければならないので、所有権
移転通知が必要とされる。しかしながら、所有権移転は
プロトコルを複雑にする。
【0007】もしRAC内で遠隔「read-to-share」ア
クセスに失敗したならば、RAC内に新しいラインをイ
ンストールするためのスペースを作るべく、修正ライン
をまず第1にRACから立ち退かせる必要があるかもし
れない。キャッシュライン立ち退きの可能性があるか
ら、「read-to-share」又は「read-to-own」アクセスご
とにRACが読み取られなければならない。
【0008】さらに、キャッシュラインは、排他(E)
および修正(M)ステートにある、システムのたった1
つのRAC内にしか存在することできないことから、性
能は多数のRACの間で充分に釣合いがとれていない。
システム内のRACの数が一旦増大すると、遠隔アクセ
スキャッシュ内において排他(E)又は修正(M)デー
タをヒットする見込みは減少する。
【0009】
【発明が解決しようとする課題】従って、遠隔メモリア
クセスの待ち時間を短縮する、メモリアクセスシステム
及び方法が要求される。このような新しいシステムで
は、RACがビジーであるときはこのRACをバイパス
することにより、輻輳を緩和すべきである。さらに、か
かる新システムは、遠隔アクセスキャッシュ(RAC)
からの修正データの立ち退きを排除することによりプロ
トコルを単純化し、書き戻し又は修正又は排他データへ
のヒットが発生する度にするディレクトリの所有権移転
通知を排除すべきである。最も重要なことに、かかるシ
ステムは、遠隔アクセスキャッシュ(RAC)アクセス
及びメモリアクセスの直列化を回避し、かくしてメモリ
待ち時間を短縮させるべきである。
【0010】
【課題を解決するための手段】本発明の好ましい実施形
態は、複数のグループを含む、データにアクセスするた
めのコンピュータネットワークシステムにおいて、各グ
ループが相互接続システムを通して結合する複数のノー
ドを含み、各ノードが、各々プロセッサキャッシュを有
する1またはそれ以上の中央処理ユニット(又はプロセ
ッサ)を含むシステムを備える。各ノードはさらに、メ
モリエージェント、主メモリ、及びプロセッサ及びプロ
セッサキャッシュに結合されたディレクトリを含む。
【0011】システムはまた、内部でのメモリトランザ
クションの進捗を記録するための要求未了バッファ(R
OB)に結合されたディレクトリをも含む。キャッシュ
ラインは、キャッシュ内に格納されディレクトリによっ
て追跡され得る最小のデータ単位である。データはキャ
ッシュラインを通して供給される。ディレクトリ内に格
納された情報は、どのノードが特定のキャッシュライン
を有するかならびにこれらのキャッシュライン内のデー
タステータスに関する。ディレクトリにおけるキャッシ
ュライン内のデータステータスは、例えば、修正/排他
(「ME」),共有(「S」)又は無効(「I」)であ
りうる。修正/排他ステートは、そのラインが読取り−
書き込みアクセスのためキャッシングメモリエージェン
トによって読取られたことを表す。共有ステートは、ラ
インが読取り専用アクセスのためにキャッシングメモリ
エージェントによって既に読取られたことを表してい
る。無効ステートは、ラインがシステム内のいずれのキ
ャッシュ内にもキャッシュされていないことを表してい
る。ディレクトリのステートが修正/排他(ME)であ
る場合、所有するノードもまたディレクトリエントリ内
に記録される。ディレクトリのステートが共有(S)で
ある場合、共有するノードのリストがディレクトリエン
トリ内に記録される。
【0012】システムはさらに、データ要求の進捗を記
録するためメモリエージェントに結合されたROBを含
んでいる。ROBは全域的(global)相互接続システム
を介して遠隔ノードに接続され得る。ROB内のエント
リは、以下のフィールド、REQUEST、STATE
及びTRANSACTION ID、を含む。
【0013】システムはさらに、遠隔メモリ基準をキャ
ッシュするための遠隔アクセスキャッシュ(RAC)を
含む。RACは、Sステートにあるクリーンな遠隔デー
タのみをキャッシュし、MEステートにある遠隔データ
はキャッシュしない。遠隔アクセスキャッシュ内のエン
トリには、以下のフィールド、すなわちADDRESS
TAG、STATE及びDATAが含まれる。
【0014】データにアクセスするための好ましい方法
は、遠隔ノード内のメモリラインから「read-to-shar
e」データを要求する段階と、遠隔メモリノードのディ
レクトリに対するものとRACに対するものの2つの要
求を同時に発行する段階と、RAC内にキャッシュライ
ンがキャッシュされていない場合、ROBに対してMI
SSを返す段階と、遠隔メモリノードからグループA内
の要求プロセッサに対してデータを返し、RAC内にキ
ャッシュラインをインストールする段階と、を含んでい
る。あるいは、もしRAC内のキャッシュラインがキャ
ッシュされているならば、RAC HITがROBに返
される。キャッシュ内に「HIT」が存在するという事
実は、ディレクトリ内のラインのステートが「共有」で
あって、「修正/排他」でも「無効」でもないことを表
している。このとき、RAC内にそのキャッシュライン
がキャッシュされているか否かを示すため、ROB内の
STATEフィールドが修正される。最終的に、データ
は要求ノードまで返される。遠隔ノードからROBによ
って受信されたデータは、ひとたび当初の要求がRAC
内にキャッシュされたメモリラインで満たされると、廃
棄される。
【0015】本発明においては、第1のプロセッサから
の「read-to-share」要求は、遠隔アクセスキャッシュ
へ発行され、又同時に遠隔ホームノードへも発行され
る。これら2つの動作を重複させることにより、RAC
アクセス及びメモリアクセスの直列化を避けることがで
きる。こうして有益なことには、RACアクセスがMI
SSであるケースにおいてメモリ待ち時間が短縮され
る。かくして、プロセッサノードからの「read-to-shar
e」アクセスがキャッシュ内でヒットした場合には、遠
隔ホームノードにおけるディレクトリ制御装置からの応
答を待つことなく、プロセッサにより直ちにデータを返
しこれを使用することが可能となる。RAC内にHIT
があるという事実は、ディレクトリ内のラインのステー
トが「共有」であって、「修正/排他」でも「無効」で
もないことを表している。RAC内のデータは、唯一
「共有」であることから、ディレクトリ・ルックアップ
の結果を待つ必要はなくなる。
【0016】本発明はまた、新しいキャッシュラインを
インストールする前に遠隔アクセスキャッシュ内でなさ
れるデータの立ち退きを排除することにより、プロトコ
ルを単純化することができる。さらに、本発明は、RA
Cがビジーであるときには常にこれをバイパスできるこ
とから、輻輳の緩和をも可能にする。このような状況下
で、「読取り」要求は、RACをバイパスして直接遠隔
ホームノードまで到達する。このときデータは直接要求
者へ返され、RAC内にインストールされない。これ
は、キャッシュラインがRAC内に存在する場合にはそ
れが共有ステートにあることにより、可能になる。RA
C内のデータは常に、メモリ内のデータのコピーであ
る。従って、RACがバイパスされたときには、メモリ
からデータを返すことが可能となる。
【0017】本発明の遠隔アクセスキャッシュ機構は、
RACアクセスエラーを単にRACMISSとして処理
できることから、いかなる実行オーバーヘッドをも生じ
させることなく、より高度の耐故障性を保証する。メモ
リからのデータがインストールされたときに、付加的な
オーバーヘッドが全くないステートで、エラーが修正さ
れる。
【0018】最後に、RACの存在によってメモリアク
セスの待ち時間を増大させることはない。すなわち、R
AC MISSがある遠隔メモリの待ち時間は、RAC
を有しない遠隔メモリの待ち時間と同じである。従っ
て、RACのミス率が高い場合でも、RACは性能上の
利益のみを提供することができる。
【0019】
【発明の実施の形態】本発明は、遠隔アクセスキャッシ
ュ(RAC)又は遠隔ノードからの共有データ要求を操
作するシステム及び方法である。図1は、本発明による
マルチノードネットワークシステムの全体的アーキテク
チャの一実施形態のブロック図である。マルチノードネ
ットワークシステムは、第1のノード12及び第2のノ
ード14を持つグループA(10)及び第1のノード4
2と第2のノード44を持つグループB(40)のため
の2つの局所的(local)相互接続システムを含む。2
つの局所的相互接続システムは全域的相互接続50を介
して接続されている。
【0020】グループA(10)において、第1のノー
ド12及び第2のノード14は、相互接続システム8を
介して互いに結合されている。第1のノード12は、メ
モリエージェント22、主メモリ18、ディレクトリ2
0、1又はそれ以上のプロセッサ16K〜16(K+
m)(全体として16)、要求未了バッファ(ROB:
Request Outstanding Buffer)26及び遠隔アクセスキ
ャッシュ(RAC)28を含んでいる。各プロセッサ1
6は、プロセッサキャッシュ24K〜24(K+m)
(全体として24)を含む。第1のノード内のプロセッ
サのキャッシュ24はメモリエージェント22と結合さ
れている。第1のノード12内の主メモリ18は、メモ
リエージェント22と結合されている。ディレクトリ2
0及びRAC28はROB26と結合され、このROB
はメモリエージェント22に結合されている。
【0021】第2のノード14は、メモリエージェント
32、主メモリ38、ディレクトリ20、1又はそれ以
上のプロセッサ36L〜36(L+n)(全体として3
6)、要求未了バッファ(ROB)26及び遠隔アクセ
スキャッシュ(RAC)28を含んでいる。各プロセッ
サ36は、プロセッサキャッシュ34L〜34(L+
n)(全体として34)を含む。第2のノード14内の
プロセッサのキャッシュ34は、メモリエージェント3
2と結合されている。第2のノード14内の主メモリ3
8は、メモリエージェント32と結合されている。ディ
レクトリ20及びRAC28はROB26と結合され、
このROBはメモリエージェント32に結合されてい
る。
【0022】グループB(40)において、第1のノー
ド42及び第2のノード44は、相互接続システム9を
通して互いに結合されている。グループB(40)内の
第1のノード42は、メモリエージェント52、主メモ
リ48、ディレクトリ60、1またはそれ以上のプロセ
ッサ46M〜46(M+m)(全体として46)、要求
未了バッファ(ROB)56及び遠隔アクセスキャッシ
ュ(RAC)58を含んでいる。各プロセッサ46は、
プロセッサキャッシュ54M〜54(M+m)(全体と
して54)を含む。第1のノード42内のプロセッサの
キャッシュ54はメモリエージェント52と結合されて
いる。主メモリ48は、メモリエージェント52と結合
されている。ディレクトリ60及びRAC58はROB
56と結合されている。このROB56はメモリエージ
ェント52に結合されている。
【0023】グループB(40)内の第2のノード44
は、メモリエージェント62、主メモリ68、ディレク
トリ60、1又はそれ以上のプロセッサ66N〜66
(N+n)(全体として66)、要求未了バッファ(R
OB)56及び遠隔アクセスキャッシュ(RAC)58
を含んでいる。各プロセッサ66は、プロセッサキャッ
シュ64N〜64(N+n)(全体として64)を含
む。第2のノード44内のプロセッサのキャッシュ64
は、メモリエージェント62と結合されている。主メモ
リ68は、メモリエージェント62と結合されている。
ディレクトリ60及びRAC58はROB56と結合さ
れている。このROB56はメモリエージェント62に
結合されている。
【0024】各ノード12,14,42,44におい
て、プロセッサは、例えばIntel Pentium(登録商標)
−タイプのプロセッサ、Sun SPARC(登録商標)
−タイプのプロセッサ、Motorola Power プロセッサ
(登録商標)−タイプのプロセッサなどといったような
従来のプロセッサであり得るということに留意された
い。プロセッサキャッシュ24,34,54,64は、
従来のプロセッサキャッシュで良い。主メモリ18,3
8,48,68は、例えばダイナミックランダムアクセ
スメモリ(DRAM)といった従来のメモリで良い。
【0025】メモリエージェント22,32,52,6
2は、プロセッサを主メモリ18,38,48,68と
インタフェースする。メモリエージェントは、DRAM
の読取り及び書込みを行うメモリ制御装置である。DR
AMは、従来のDDR−SDRAM又はRDRAMのい
ずれであってもよい。
【0026】ROB26,56は、新しいデータ要求を
追跡するための従来のバッファであってよい。ディレク
トリ20,60は、システム内のキャッシュラインの全
域的なステートを記録するための従来のディレクトリで
あってよい。ディレクトリ20,60内の情報は、図3
によって図解的に示されているようなテーブル又はチャ
ートフォーマットの形式で構成されていてよい。ディレ
クトリ20,60はソフトウェア、ファームウェア、ハ
ードウェア、又はソフトウェア、ファームウェア及び/
又はハードウェアの組合せであってもよい。ディレクト
リ20,60は、キャッシュラインのステータスに関す
る情報を格納するように構成されている。キャッシュラ
インは、キャッシュ内に格納され、ディレクトリによっ
て追跡されうる最小のデータ単位である。データは、キ
ャッシュラインを通して供給される。ディレクトリ内に
格納された情報は、どのノードが特定のキャッシュライ
ンを有するか、ならびに、これらのキャッシュライン中
のデータのステータスに関するものである。
【0027】遠隔アクセスキャッシュ28,58は、2
つのステート(状態)すなわち「共有」及び「無効」を
サポートするように修正された従来のプロセッサキャッ
シュである。これは、クリーンな遠隔データのみをキャ
ッシュする。ここで図2を参照すると、ADDRES
S,TAG,STATE及びDATAといったフィール
ドからなるRACエントリが示されている。
【0028】ADDRESS TAGフィールドは、R
ACアクセスがHITであるかMISSであるかを判定
するため「read-to-share」要求のアドレスとの一致が
とられる。
【0029】STATEフィールドは、キャッシュライ
ンのステートを記録する。RACは2つのステートすな
わち「共有」(Shared)及び「無効」(Invalid)をサ
ポートし、クリーンな遠隔データのみをキャッシュす
る。もしディレクトリステートがキャッシュラインにつ
いて修正・排他・共有/無効(「MESI」)であるな
らば、そのキャッシュラインはRAC(遠隔アクセスキ
ャッシュ)内に存在し得ない。RAC内のHITは、デ
ィレクトリ内のキャッシュラインのステートが「共有」
であって、「修正」、「排他」又は「無効」のいずれで
もないことを表す。これと対照的に、RAC内のMIS
Sは、ディレクトリ内のキャッシュラインのステートが
共有でないことを表している。DATAフィールドは、
クリーンな遠隔データをキャッシュするために存在す
る。
【0030】ここで図3を参照すると、テーブルフォー
マットでシステム内のキャッシュラインの全域的ステー
トを記録するディレクトリエントリフォーマットを図解
的に示している。ディレクトリ内のキャッシュラインの
ステートを、「共有」(「S」)(ラインはシステム内
の多数のキャッシュ内に存在することができ、データは
メモリエージェント又は複数のキャッシュのうちの1つ
によって供給されうる)、修正(「M」)(ラインは、
そのデータを供給する1つのキャッシュ内に存在する)
又は無効(「I」)(データは供給も共有もされていな
い)、又は排他(「E」)(ラインはシステム内の1つ
のキャッシュ内に存在し、データがメモリエージェント
又はそのキャッシュによって供給され得、ラインのステ
ートはEからSへとグレードダウンされる)としてそれ
ぞれ表すことによって、テーブルはラインのステートを
含めることができる。さらに、ディレクトリは「共有リ
スト」(Sharing List)を保持する。もしキャッシュラ
インのステートが「共有」であるならば、ディレクトリ
は、その要求ノード共有者(Sharer)としてをマーク
し、そのノードを「共有リスト」に追加する。さらに、
ディレクトリエントリは、メッセージを特定の未了トラ
ンザクション(TRANSACTION)と結びつけるのに使用さ
れるTRANSACTION IDフィールドを含む。全てのメッセー
ジには、トランザクションIDが付いている。
【0031】図4は、ROB内の1つのトランザクショ
ン(TRANSACTION)の進捗を記録するためのエントリを
示す。ROB内のエントリは、REQUEST(要求)、STATE
(ステート)、及びTRANSACTION ID(トランザクション
ID)というフィールドを含んでいる。
【0032】「REQUEST」フィールドは、ROB内に入
る及びROBから出る要求を記録するために設けられて
いる。特にこのフィールドは、要求ノード内のプロセッ
サによって遠隔ホームノード内のメモリラインに対して
発行される「read-to-share」要求を記録する。また、
要求未了バッファ(ROB)が「look-up」要求を発行
するとき、これが「REQUEST」フィールド内に記録され
る。
【0033】ROBは、有限ステートマシンを実現す
る。ROB内のSTATEフィールドは、ROB有限ス
テートマシンの現在のステートを示す。要求未了バッフ
ァ(ROB)のためのステート遷移図が図7に示されて
いる。FREEステートでは、read-to-share 要求は、
自由ROBエントリの割当て及びステートS1への遷移
を引き起こす。RACルックアップ・メッセージがRA
Cに対し発行され、ディレクトリ・ルックアップ・メッ
セージが同時にホームノード用のディレクトリに対し発
行される。S1ステートでは、RAC MISS(RA
Cミス)がM1ステートへの遷移を引き起こす。S1ス
テートでは、メモリデータ(Memory Data)がS2ステ
ートへの遷移を引き起こし、読取り応答(Read Respons
e)が要求中のプロセッサへ返される。S1ステートで
は、RACヒット(RAC HIT)がH1ステートへ
の遷移を引き起こす。読取り応答(Read Response)
は、要求中のプロセッサに返される。S2ステートで
は、RACミス(RAC MISS)がFREEステー
トへの遷移を引き起こし、ROBエントリの割当ては解
除される。S2ステートにおいては、RACヒット(R
AC HIT)がFREEステートへの遷移を引き起こ
し、データは廃棄されて、ROBエントリの割当ては解
除される。
【0034】上記のTRANSITION ID フィールドは、各ト
ランザクションを一意的(unique)に識別し、無関係な
トランザクションの流れに属するメッセージとを区別す
るために使用される。各メッセージには、特定のトラン
ザクションとそのメッセージを結びつけるのに使用され
るTRANSACTION IDフィールドが付いている。
【0035】ここで図5を参照すると、本発明による、
RAC内にキャッシュラインがキャッシュされない場合
に共有データ要求を操作するプロセスの一実施形態の流
れ図が示されている。ひとたびプロセスが開始(STAR
T)すると(0)、グループA(10)内の第1のノー
ド12内の第1のプロセッサ16がROB26に対しデ
ータの「read-to-share」要求1を発行する。「read-to
-share」要求には、ROB26内のエントリ1が割当て
られる。ROBのSTATEフィールドは、S1ステー
トへ遷移する。
【0036】ひとたびその要求が受信されると、ROB
26は同時に第1の要求2をRAC28に発行する。こ
のRAC28は、該RAC28にアクセスするノードか
らのキャッシュラインへの続く「read-to-share」要求
を満たす責務を負い、かつ、遠隔ホームノード42のグ
ループB(40)についてのディレクトリ60に対して
第2の要求2aを発行する。アドレスには宛先ノードが
含まれる。もしRAC28内のキャッシュラインがキャ
ッシュされていないならば、RAC28は、RACミス
(RAC MISS)をROB26に返す(3)。すな
わち、RAC28は、自身が要求されたキャッシュライ
ンを持たないことを報告する。これに応答して、ROB
26は、STATEフィールドをM1ステートまで遷移
させ、RACミス(RAC MISS)が発生したこと
及びRAC28が要求を満たさなかったことを表示す
る。
【0037】ひとたびディレクトリ60がルックアップ
要求2aを受信したならば、該ディレクトリ60は、キ
ャッシュラインのステートをルックアップする、このス
テートは「無効」である。ディレクトリ60は、「メモ
リ読取り」要求3aを第1の遠隔ノード42に発行し、
要求されたキャッシュラインのディレクトリエントリの
ステートを「無効」ステートから「共有」ステートへ遷
移させる。さらに、ディレクトリ60は、グループA
(10)内の第1のノード12を、このキャッシュライ
ン3bの共有者のリストに追加する。
【0038】次に、第1の遠隔ノード42は、全域的相
互接続システム50を介して要求ノード内のROB26
に対しデータ4aを返す。一方ROB26は、データ5
aをグループA(10)内のプロセッサ16に返す。ま
たROB26は、その後RAC28が次の「read-to-sh
are」要求を受信したとき、このRAC28にアクセス
する同一グループ内のノードがそのデータを利用できる
状態になるように、RAC28内にデータ5aをインス
トールする。この時点で、プロセッサ「read-to-shar
e」要求は満たされる。本発明によると、既存のエント
リに新しいエントリを単に重ね書きすることによってR
AC28内に新しいキャッシュラインがインストールさ
れることから、新しいキャッシュラインをインストール
する前にまずRAC28からエントリを立ち退かせると
いったことは必要がない。さらに、ROB26内のエン
トリは、割当てが解除され、そのSTATEはFREE
ステートへ遷移する。このときプロセスは終了する
(6)。
【0039】もしRACがビジーであるならば、RAC
は単純にバイパスでき、「read」(読取り)要求は直接
遠隔ノードまで到達することに留意すべきである。この
特徴により、システムは、RACにおける輻輳レベルに
対しダイナミックに対応することができる。このとき、
データは直接要求者に返され、RAC内にはインストー
ルされない。これは、キャッシュラインがもしRAC内
に存在しているならば、それは「共有」ステートにある
ことから、可能になる。RAC内のデータは常に、メモ
リ内のデータのコピーである。従って、RACがバイパ
スされた場合にデータをメモリから返すことができる。
【0040】図6は、本発明による、RAC内のキャッ
シュラインがキャッシュされている場合のデータ要求プ
ロセスの一実施形態の流れ図を示す。このプロセスは0
にて、例えば、グループA内の第2のノード14の第1
のプロセッサ36が、遠隔ノード内のメモリラインに対
してデータの「read-to-share」要求1を送信するとき
に、開始する。アドレスには宛て先ノードが含まれる。
「read-to-share」要求には、ROB内でエントリ1が
割当てられる。ROBエントリのSTATEフィールド
はS1ステートへ遷移する。ひとたびその要求が受信さ
れると、ROBは同時に第1の要求2をRAC28に発
行し、このRAC28は、該RAC28にアクセスする
ノードからのキャッシュラインへの続く「read-to-shar
e」要求を満たす責務を負い、かつ、遠隔ホームノード
のディレクトリ60に対して第2の要求2aを発行す
る。
【0041】もしRAC内のキャッシュラインがキャッ
シュされているならば、該RACは、RACヒット(R
AC HIT)をROB26に返す(3)。キャッシュ
内に「HIT」があるという事実は、ディレクトリ内の
キャッシュラインのステートが「共有」であり、「修
正」、「排他」又は「無効」ではないことを表してい
る。このとき、ROB26はSTATEフィールドをH
1ステートへ遷移させて、RAC HITが発生したこ
とを表示する。すなわちRAC28は要求を満たしたこ
とになる。そして、データは「read-to-share」要求を
発行したノード14へ返される(4)。この時点で、プ
ロセッサ「read-to-share」要求は満たされたことにな
る。
【0042】ディレクトリ60がひとたびルックアップ
要求2aを受信したならば、該ディレクトリ60は、ラ
インのステートをルックアップする、このステートは
「共有」である。該ディレクトリ60は遠隔ホームノー
ド42のメモリエージェント52に対し「メモリ読取
り」要求3aを送信する。さらに、ディレクトリは、グ
ループA内の第2のノード14を、このキャッシュライ
ン3bについての共有者のリストに追加する。次に遠隔
ホームノード42はデータ4aを、全域的相互接続シス
テム50を介して要求ノード内のROB26に返す。一
方、RAC28内にキャッシュされたメモリラインで元
の要求が満たされたことから、ROB26は、受信した
データ4bを廃棄する。さらに、ROB内のエントリ
は、そのSTATEフィールドをFREEステートへ遷
移させることによって、割当てを解除する。このとき、
プロセスは終了する(5)。ここで、プロセッサノード
からの読取りアクセスがキャッシュ内で「ヒット」する
場合には、遠隔ノードでディレクトリからの応答を待つ
ことなく、プロセッサはデータを返すので直ちにそれを
使用することができる、ということに留意されたい。
【0043】本発明による好ましい実施形態は以下の通
りである。 (付記1)各々が複数のプロセッサを有する複数のノー
ドをそれぞれが有する複数のグループを有するコンピュ
ータネットワーク内にて、共有データ要求を操作するた
めのシステムにおいて、データを格納するため、グルー
プA内の第1のノードの第1のプロセッサに結合された
主メモリと、データを格納するため、グループB内の第
1のノードの第1のプロセッサに結合された主メモリ
と、データを格納するため、グループA内の第2のノー
ドの第1のプロセッサに結合された主メモリと、を含ん
でなり、グループA内の第1のノードの第1のプロセッ
サが、グループA内の第1のノードに第1のプロセッサ
キャッシュを有し、第1のプロセッサが、グループB内
の第1のノードの主メモリからデータを要求し、グルー
プA内の第2のノードの第1のプロッサが、グループA
内の第2のノードに第1のプロセッサキャッシュを有
し、第2のノードの第1のプロセッサが、グループBの
第1のノードの主メモリからデータを要求し、データ要
求を記録すべく、グループA内の主メモリに結合されて
マルチエントリを有するグループA内の各ノードに結び
つけられた要求未了バッファと、データ要求を記録すべ
く、グループB内の主メモリに結合されてマルチエント
リを有するグループB内の各ノードに結びつけられた要
求未了バッファと、遠隔メモリ要求をキャッシュすべ
く、グループAの要求未了バッファに結合されてグルー
プA内の各ノードと結びつけられた遠隔アクセスキャッ
シュと、遠隔メモリ要求をキャッシュすべく、グループ
Bの要求未了バッファに結合されてグループB内の各ノ
ードと結びつけられた遠隔アクセスキャッシュと、シス
テム内のキャッシュラインのステートを記録するため、
グループAの要求未了バッファに結合されたグループA
内のディレクトリと、システム内のキャッシュラインの
ステートを記録するため、グループBの要求未了バッフ
ァに結合されたグループB内のディレクトリと、を含ん
でなることを特徴とするシステム。 (付記2)要求未了バッファ中の各エントリが、REQUES
Tフィールド、STATEフィールド及びTRANSACTION IDフィ
ールドを含む付記1に記載のシステム。 (付記3)各ディレクトリが、Iステート、Sステート
及びMEステートというグループからのキャッシュライ
ンステートを含み、ここでIステートは、そのデータを
供給も共有もしないプロセッサを意味し、Sステート
は、そのデータを共有するがそのデータを供給しないプ
ロセッサを意味し、MEステートはプロセッサがライン
を所有し、かつ、修正された場合にデータを供給するこ
とを意味する付記1に記載のシステム。 (付記4)各ディレクトリが、データを共有するノード
についての共有リストを含む付記1に記載のシステム。 (付記5)各々が複数のプロセッサ及び要求未了バッフ
ァを有する複数のノードを、グループA及びグループB
内に有するコンピュータネットワーク内にて、キャッシ
ュラインが遠隔アクセスキャッシュ内にキャッシュされ
ていないときに共有データ要求を操作するための方法に
おいて、データを要求する段階と、グループA内の遠隔
アクセスキャッシュに対する要求とグループBに対する
ディレクトリ・ルックアップ要求とを同時に発行する段
階と、遠隔アクセスキャッシュがキャッシュされたライ
ンを有していないことを通知する段階と、ディレクトリ
のステートを「無効」ステートから「共有」ステートに
変更する段階と、共有者リストに対して要求ノードを追
加する段階と、グループB内のノードからデータを供給
する段階と、遠隔アクセスキャッシュ内にデータをイン
ストールする段階と、データを返す段階と、を含んでな
ることを特徴とする方法。 (付記6)要求未了バッファ内にエントリを割当てる段
階をさらに含んでなる付記5に記載の方法。 (付記7)キャッシュラインが遠隔アクセスキャッシュ
内にキャッシュされていないことに応答して、要求未了
バッファ内でSTATEフィールドを修正する段階と、
グループAのディレクトリ内の共有リストに対して、グ
ループA内の第1のノードを追加する段階と、をさらに
含んでなる付記5に記載の方法。 (付記8)遠隔アクセスキャッシュ内のキャッシュライ
ンのステートを、「無効」ステートから「共有」ステー
トに変更する段階をさらに含んでなる付記5に記載の方
法。 (付記9)各々が複数のプロセッサを有する複数のノー
ドをそれぞれが有する複数のグループを有するコンピュ
ータネットワーク内にて、キャッシュラインが遠隔アク
セスキャッシュ内にキャッシュされているときに共有デ
ータ要求を操作するための方法において、データを要求
する段階と、グループA内の遠隔アクセスキャッシュに
対する要求とグループBに対するディレクトリ・ルック
アップ要求とを同時に発行する段階と、遠隔アクセスキ
ャッシュがキャッシュされたラインを有することを通知
する段階と、遠隔アクセスキャッシュからデータを供給
する段階と、要求未了バッファにデータを返す段階と、
グループBからの要求プロセッサに対しデータを返す段
階と、要求未了バッファ内にてデータを廃棄する段階
と、を含んでなることを特徴とする方法。 (付記10)要求未了バッファ内でエントリを割当てる
段階をさらに含んでなる付記9に記載の方法。 (付記11)キャッシュラインが遠隔アクセスキャッシ
ュ内にキャッシュされていることに応答して、要求未了
バッファ内でSTATEフィールドを修正する段階と、
ディレクトリA内の共有リストに対してグループA内の
第2のノードを追加する段階と、をさらに含んでなる付
記9に記載の方法。 (付記12)遠隔アクセスキャッシュ内の各エントリ
が、ADDRESS TAGフィールド,STATEフィールド及びDATA
フィールドを含む付記1に記載のシステム。
【図面の簡単な説明】
【図1】本発明によるマルチノードネットワークシステ
ムの全体的アーキテクチャの一実施形態のブロック図で
ある。
【図2】本発明による遠隔アクセスキャッシュ(RA
C)を図解的に示す図である。
【図3】本発明によるシステムにおけるキャッシュライ
ンの全域的なステートを記録するディレクトリエントリ
フォーマットを図解的に示す図である。
【図4】本発明による要求未了バッファ(ROB)を図
解的に示す図である。
【図5】本発明による遠隔アクセスキャッシュ(RA
C)内にキャッシュラインがキャッシュされていない場
合の、共有データ要求を操作するためのプロセスの一実
施形態の流れ図である。
【図6】本発明による遠隔アクセスキャッシュ(RA
C)内にキャッシュラインがキャッシュされている場合
の、共有データ要求を操作するためのプロセスの一実施
形態の流れ図である。
【図7】本発明による要求未了バッファ(ROB)につ
いてのステート遷移図である。
【符号の説明】
10…グループA 12…第1のノード 14…第2のノード 16,36,46,66…プロセッサ 18,38,48,68…主メモリ 20,60…ディレクトリ 22,32,52,62…メモリエージェント 24,34,54,64…プロセッサキャッシュ 26,56…要求未了バッファ(ROB) 28,58…遠隔アクセスキャッシュ(RAC) 40…グループB 42…第1のノード 44…第2のノード
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 15/177 682 G06F 15/177 682J (72)発明者 ユン ルン チャン アメリカ合衆国,カリフォルニア,カパー ティノ,ミネター ドライブ 10765 Fターム(参考) 5B005 JJ12 KK02 KK13 MM01 NN43 NN45 NN53 NN54 PP11 5B045 DD01 EE03

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 各々が複数のプロセッサを有する複数の
    ノードをそれぞれが有する複数のグループを有するコン
    ピュータネットワーク内にて、共有データ要求を操作す
    るためのシステムにおいて、 データを格納するため、グループA内の第1のノードの
    第1のプロセッサに結合された主メモリと、 データを格納するため、グループB内の第1のノードの
    第1のプロセッサに結合された主メモリと、 データを格納するため、グループA内の第2のノードの
    第1のプロセッサに結合された主メモリと、を含んでな
    り、 グループA内の第1のノードの第1のプロセッサが、グ
    ループA内の第1のノードに第1のプロセッサキャッシ
    ュを有し、第1のプロセッサが、グループB内の第1の
    ノードの主メモリからデータを要求し、 グループA内の第2のノードの第1のプロッサが、グル
    ープA内の第2のノードに第1のプロセッサキャッシュ
    を有し、第2のノードの第1のプロセッサが、グループ
    Bの第1のノードの主メモリからデータを要求し、 データ要求を記録すべく、グループA内の主メモリに結
    合されてマルチエントリを有するグループA内の各ノー
    ドに結びつけられた要求未了バッファと、 データ要求を記録すべく、グループB内の主メモリに結
    合されてマルチエントリを有するグループB内の各ノー
    ドに結びつけられた要求未了バッファと、 遠隔メモリ要求をキャッシュすべく、グループAの要求
    未了バッファに結合されてグループA内の各ノードと結
    びつけられた遠隔アクセスキャッシュと、 遠隔メモリ要求をキャッシュすべく、グループBの要求
    未了バッファに結合されてグループB内の各ノードと結
    びつけられた遠隔アクセスキャッシュと、 システム内のキャッシュラインのステートを記録するた
    め、グループAの要求未了バッファに結合されたグルー
    プA内のディレクトリと、 システム内のキャッシュラインのステートを記録するた
    め、グループBの要求未了バッファに結合されたグルー
    プB内のディレクトリと、 を含んでなることを特徴とするシステム。
  2. 【請求項2】 各々が複数のプロセッサ及び要求未了バ
    ッファを有する複数のノードを、グループA及びグルー
    プB内に有するコンピュータネットワーク内にて、キャ
    ッシュラインが遠隔アクセスキャッシュ内にキャッシュ
    されていないときに共有データ要求を操作するための方
    法において、 データを要求する段階と、 グループA内の遠隔アクセスキャッシュに対する要求と
    グループBに対するディレクトリ・ルックアップ要求と
    を同時に発行する段階と、 遠隔アクセスキャッシュがキャッシュされたラインを有
    していないことを通知する段階と、 ディレクトリのステートを「無効」ステートから「共
    有」ステートに変更する段階と、 共有者リストに対して要求ノードを追加する段階と、 グループB内のノードからデータを供給する段階と、 遠隔アクセスキャッシュ内にデータをインストールする
    段階と、 データを返す段階と、 を含んでなることを特徴とする方法。
  3. 【請求項3】 各々が複数のプロセッサを有する複数の
    ノードをそれぞれが有する複数のグループを有するコン
    ピュータネットワーク内にて、キャッシュラインが遠隔
    アクセスキャッシュ内にキャッシュされているときに共
    有データ要求を操作するための方法において、 データを要求する段階と、 グループA内の遠隔アクセスキャッシュに対する要求と
    グループBに対するディレクトリ・ルックアップ要求と
    を同時に発行する段階と、 遠隔アクセスキャッシュがキャッシュされたラインを有
    することを通知する段階と、 遠隔アクセスキャッシュからデータを供給する段階と、 要求未了バッファにデータを返す段階と、 グループBからの要求プロセッサに対しデータを返す段
    階と、 要求未了バッファ内にてデータを廃棄する段階と、 を含んでなることを特徴とする方法。
JP2001215834A 2000-07-14 2001-07-16 共有データ要求を操作するシステム及び方法 Withdrawn JP2002091824A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/616,583 US6766360B1 (en) 2000-07-14 2000-07-14 Caching mechanism for remote read-only data in a cache coherent non-uniform memory access (CCNUMA) architecture
US09/616583 2000-07-14

Publications (1)

Publication Number Publication Date
JP2002091824A true JP2002091824A (ja) 2002-03-29

Family

ID=24470117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001215834A Withdrawn JP2002091824A (ja) 2000-07-14 2001-07-16 共有データ要求を操作するシステム及び方法

Country Status (2)

Country Link
US (1) US6766360B1 (ja)
JP (1) JP2002091824A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193784A (ja) * 2006-01-17 2007-08-02 Internatl Business Mach Corp <Ibm> 同報通信範囲を示す無効な整合状態を正確に形成するためのデータ処理システム、キャッシュ・システム、および方法
JP2011527060A (ja) * 2008-07-07 2011-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション リージョン・キャッシュの援助によってデータ要求を効率的に処理する方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7003631B2 (en) * 2002-05-15 2006-02-21 Broadcom Corporation System having address-based intranode coherency and data-based internode coherency
US6965973B2 (en) * 2002-05-15 2005-11-15 Broadcom Corporation Remote line directory which covers subset of shareable CC-NUMA memory space
EP1376370B1 (en) * 2002-06-28 2017-06-14 Oracle America, Inc. Mechanism for starvation avoidance while maintaining cache consistency in computer systems
US7210006B2 (en) * 2002-06-28 2007-04-24 Sun Microsystems, Inc. Computer system supporting read-to-write-back transactions for I/O devices
US6808122B2 (en) * 2002-08-19 2004-10-26 Illinois Tool Works, Inc. Spray gun with improved pre-atomization fluid mixing and breakup
US9456243B1 (en) 2003-06-06 2016-09-27 Arris Enterprises, Inc. Methods and apparatus for processing time-based content
US9286214B2 (en) * 2003-06-06 2016-03-15 Arris Enterprises, Inc. Content distribution and switching amongst data streams
US7240143B1 (en) * 2003-06-06 2007-07-03 Broadbus Technologies, Inc. Data access and address translation for retrieval of data amongst multiple interconnected access nodes
US7962696B2 (en) * 2004-01-15 2011-06-14 Hewlett-Packard Development Company, L.P. System and method for updating owner predictors
US7240165B2 (en) * 2004-01-15 2007-07-03 Hewlett-Packard Development Company, L.P. System and method for providing parallel data requests
US7883026B2 (en) * 2004-06-30 2011-02-08 Illinois Tool Works Inc. Fluid atomizing system and method
EP1782244A4 (en) * 2004-07-07 2010-01-20 Emc Corp SYSTEMS AND METHODS FOR IMPLEMENTING DISTRIBUTED CACHED MEMORY COHERENCE
US7865570B2 (en) * 2005-08-30 2011-01-04 Illinois Institute Of Technology Memory server
US8966103B2 (en) * 2007-12-21 2015-02-24 General Instrument Corporation Methods and system for processing time-based content
US9619303B2 (en) 2012-04-11 2017-04-11 Hewlett Packard Enterprise Development Lp Prioritized conflict handling in a system
US10042762B2 (en) * 2016-09-14 2018-08-07 Advanced Micro Devices, Inc. Light-weight cache coherence for data processors with limited data sharing

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4663706A (en) * 1982-10-28 1987-05-05 Tandem Computers Incorporated Multiprocessor multisystem communications network
US5175839A (en) * 1987-12-24 1992-12-29 Fujitsu Limited Storage control system in a computer system for double-writing
US5303362A (en) * 1991-03-20 1994-04-12 Digital Equipment Corporation Coupled memory multiprocessor computer system including cache coherency management protocols
US5280612A (en) * 1991-11-26 1994-01-18 International Business Machines Corporation Multiple version database concurrency control system
JP2809962B2 (ja) * 1993-03-02 1998-10-15 株式会社東芝 資源管理方式
US5465338A (en) 1993-08-24 1995-11-07 Conner Peripherals, Inc. Disk drive system interface architecture employing state machines
US5561780A (en) 1993-12-30 1996-10-01 Intel Corporation Method and apparatus for combining uncacheable write data into cache-line-sized write buffers
JPH08185359A (ja) * 1994-10-31 1996-07-16 Toshiba Corp メモリサブシステム
EP0769171A1 (en) * 1995-05-05 1997-04-23 Silicon Graphics, Inc. Page migration in a non-uniform memory access (numa) system
US5859985A (en) 1996-01-14 1999-01-12 At&T Wireless Services, Inc. Arbitration controller for providing arbitration on a multipoint high speed serial bus using drivers having output enable pins
US6006255A (en) * 1996-04-05 1999-12-21 International Business Machines Corporation Networked computer system and method of communicating using multiple request packet classes to prevent deadlock
US5761460A (en) 1996-07-19 1998-06-02 Compaq Computer Corporation Reconfigurable dual master IDE interface
US6026472A (en) * 1997-06-24 2000-02-15 Intel Corporation Method and apparatus for determining memory page access information in a non-uniform memory access computer system
US5887134A (en) 1997-06-30 1999-03-23 Sun Microsystems System and method for preserving message order while employing both programmed I/O and DMA operations
US6044438A (en) * 1997-07-10 2000-03-28 International Business Machiness Corporation Memory controller for controlling memory accesses across networks in distributed shared memory processing systems
US6055605A (en) * 1997-10-24 2000-04-25 Compaq Computer Corporation Technique for reducing latency of inter-reference ordering using commit signals in a multiprocessor system having shared caches
US6014690A (en) * 1997-10-24 2000-01-11 Digital Equipment Corporation Employing multiple channels for deadlock avoidance in a cache coherency protocol
US6085293A (en) * 1998-08-17 2000-07-04 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that decreases latency by expediting rerun requests
US6961761B2 (en) 2001-05-17 2005-11-01 Fujitsu Limited System and method for partitioning a computer system into domains
US7380001B2 (en) 2001-05-17 2008-05-27 Fujitsu Limited Fault containment and error handling in a partitioned system with shared resources
US7194517B2 (en) 2001-06-28 2007-03-20 Fujitsu Limited System and method for low overhead message passing between domains in a partitioned server
US7159017B2 (en) 2001-06-28 2007-01-02 Fujitsu Limited Routing mechanism for static load balancing in a partitioned computer system with a fully connected network
US6742101B2 (en) 2001-06-29 2004-05-25 Fujitsu Limited Scalable and flexible method for address space decoding in a multiple node computer system
US6862634B2 (en) 2001-06-29 2005-03-01 Fujitsu Limited Mechanism to improve performance in a multi-node computer system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007193784A (ja) * 2006-01-17 2007-08-02 Internatl Business Mach Corp <Ibm> 同報通信範囲を示す無効な整合状態を正確に形成するためのデータ処理システム、キャッシュ・システム、および方法
JP2011527060A (ja) * 2008-07-07 2011-10-20 インターナショナル・ビジネス・マシーンズ・コーポレーション リージョン・キャッシュの援助によってデータ要求を効率的に処理する方法

Also Published As

Publication number Publication date
US6766360B1 (en) 2004-07-20

Similar Documents

Publication Publication Date Title
US10078592B2 (en) Resolving multi-core shared cache access conflicts
US7814286B2 (en) Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer
US7698508B2 (en) System and method for reducing unnecessary cache operations
KR100970229B1 (ko) 원격 캐시 존재 정보를 저장하는 프로세서 캐시를 구비한 컴퓨터 시스템
US5680576A (en) Directory-based coherence protocol allowing efficient dropping of clean-exclusive data
JP4966205B2 (ja) 共有メモリコンピュータシステムにおける、所有されている複数のキャッシュブロックのライトバックの早期予測
US6868485B1 (en) Computer system with integrated directory and processor cache
US6633959B2 (en) Non-uniform memory access (NUMA) data processing system that provides notification of remote deallocation of shared data
US8185695B2 (en) Snoop filtering mechanism
JP2002091824A (ja) 共有データ要求を操作するシステム及び方法
US6886079B2 (en) Dynamic history based mechanism for the granting of exclusive data ownership in a non-uniform memory access (NUMA) computer system
US20030009643A1 (en) Two-stage request protocol for accessing remote memory data in a NUMA data processing system
JP2000250812A (ja) メモリ・キャッシュ・システムおよびその管理方法
JP2003030169A (ja) マルチノード・コンピュータ・システムにおける非集中グローバル・コヒーレンス管理
JP2001282764A (ja) マルチプロセッサシステム
US20140297966A1 (en) Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus
US7797495B1 (en) Distributed directory cache
KR20090053837A (ko) 자기 조화형 데이터를 이용하여 멀티프로세서 시스템의 캐시 코히어런스 오버헤드를 저감시키는 메카니즘 및 방법
US6356982B1 (en) Dynamic mechanism to upgrade o state memory-consistent cache lines
US10776266B2 (en) Apparatus and method of modification of stored data

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081007