JP4959279B2 - マルチプロセッサ・システムのためのディレクトリ・ベースのデータ転送プロトコル(データ一貫性を維持する方法およびシステム) - Google Patents
マルチプロセッサ・システムのためのディレクトリ・ベースのデータ転送プロトコル(データ一貫性を維持する方法およびシステム) Download PDFInfo
- Publication number
- JP4959279B2 JP4959279B2 JP2006273451A JP2006273451A JP4959279B2 JP 4959279 B2 JP4959279 B2 JP 4959279B2 JP 2006273451 A JP2006273451 A JP 2006273451A JP 2006273451 A JP2006273451 A JP 2006273451A JP 4959279 B2 JP4959279 B2 JP 4959279B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- directory
- data line
- data
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 28
- 230000004044 response Effects 0.000 claims 2
- 238000004590 computer program Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004883 computer application Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
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
Claims (15)
- マルチプロセッサ・システムにおけるデータ一貫性を維持する方法であって、
データ・ラインが第1のプロセッサのキャッシュ内に見つからないことを判定するステップと、
前記データ・ラインを求める要求を第2のプロセッサに転送するステップと、
前記データ・ラインを前記第2のプロセッサから前記第1のプロセッサに転送するステップと、
前記データ・ラインが前記第1のプロセッサに転送されたことを反映するために、前記第2のプロセッサのディレクトリを更新するステップと、
前記データ・ラインが前記第1のプロセッサに転送されたことを反映するために、前記第1および第2のプロセッサとは別の少なくとも1つの追加のプロセッサにディレクトリ更新メッセージを転送するステップと
を含む方法。 - 前記データ・ラインのアドレスを含むエントリが前記第1のプロセッサのディレクトリ内に見つからないことを判定するステップをさらに含む、請求項1に記載の方法。
- 前記第1のプロセッサの前記ディレクトリ内にあるエントリが、メモリ・アドレス、最新のデータ所有者、およびライン状態を含む、請求項2に記載の方法。
- 前記第2のプロセッサが前記データ・ラインのホーム・エージェントである、請求項2に記載の方法。
- 前記データ・ラインのアドレスに対するエントリが前記第1のプロセッサのディレクトリ内に見つかることを判定するステップをさらに含む、請求項1に記載の方法。
- 前記第1のプロセッサの前記ディレクトリ内にあるエントリが、メモリ・アドレス、最新のデータ所有者、およびライン状態を含む、請求項5に記載の方法。
- 前記データ・ラインの前記アドレスが、前記第2のプロセッサがデータ所有者であることを指示する、請求項5に記載の方法。
- 前記第1のプロセッサが前記第2のプロセッサから前記データ・ラインを受信した後で、前記第1のプロセッサの前記ディレクトリ内にある、前記データ・ラインの前記アドレスに対する前記エントリを無効にするステップをさらに含む、請求項5に記載の方法。
- 前記少なくとも1つの追加のプロセッサが前記ディレクトリ更新メッセージを受信したことに応答して、前記データ・ラインが前記第1のプロセッサに転送されたことを反映するために前記少なくとも1つの追加のプロセッサのディレクトリを更新するステップをさらに含む、請求項1に記載の方法。
- 前記ディレクトリ内にあるエントリが、メモリ・アドレス、最新のデータ所有者、およびライン状態を含む、請求項1に記載の方法。
- マルチプロセッサ・システムにおけるデータ一貫性を維持するシステムであって、
キャッシュおよびディレクトリを備えた第1のプロセッサと、
ディレクトリを備えた第2のプロセッサと、
ディレクトリを備えた、前記第1および第2のプロセッサとは別の少なくとも1つの追加のプロセッサとを含み、
前記第1のプロセッサが、
前記第1のプロセッサの前記キャッシュ内にデータ・ラインが見つからないかどうかを判定し、
前記データ・ラインを求める要求を前記第2のプロセッサに転送する
ように構成され、
前記第2のプロセッサが、
前記データ・ラインを前記第2のプロセッサから前記第1のプロセッサに転送し、
前記データ・ラインが前記第1のプロセッサに転送されたことを反映するために、前記第2のプロセッサの前記ディレクトリを更新し、
前記データ・ラインが前記第1のプロセッサに転送されたことを反映するために、前記少なくとも1つの追加のプロセッサにディレクトリ更新メッセージを転送する
ように構成されたシステム。 - 前記第1のプロセッサが、前記データ・ラインのアドレスを含むエントリが前記第1のプロセッサの前記ディレクトリ内に見つからないことを判定する、請求項11に記載のシステム。
- 前記第1のプロセッサが、前記データ・ラインのアドレスに対するエントリが前記第1のプロセッサの前記ディレクトリ内に見つかることを判定する、請求項11に記載のシステム。
- 前記第1のプロセッサが前記第2のプロセッサから前記データ・ラインを受信した後で、前記第1のプロセッサの前記ディレクトリ内にある、前記データ・ラインの前記アドレスに対する前記エントリを無効にするように前記第1のプロセッサが構成される、請求項13に記載のシステム。
- 前記少なくとも1つの追加のプロセッサが前記ディレクトリ更新メッセージを受信したことに応答して、前記データ・ラインが前記第1のプロセッサに転送されたことを反映するために前記少なくとも1つの追加のプロセッサの前記ディレクトリを更新するように前記少なくとも1つの追加のプロセッサが構成される、請求項11に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/322955 | 2005-12-30 | ||
US11/322,955 US7404045B2 (en) | 2005-12-30 | 2005-12-30 | Directory-based data transfer protocol for multiprocessor system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007183915A JP2007183915A (ja) | 2007-07-19 |
JP4959279B2 true JP4959279B2 (ja) | 2012-06-20 |
Family
ID=38214060
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006273451A Active JP4959279B2 (ja) | 2005-12-30 | 2006-10-04 | マルチプロセッサ・システムのためのディレクトリ・ベースのデータ転送プロトコル(データ一貫性を維持する方法およびシステム) |
Country Status (4)
Country | Link |
---|---|
US (2) | US7404045B2 (ja) |
JP (1) | JP4959279B2 (ja) |
CN (1) | CN100461136C (ja) |
TW (1) | TWI386810B (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7404045B2 (en) * | 2005-12-30 | 2008-07-22 | International Business Machines Corporation | Directory-based data transfer protocol for multiprocessor system |
CN101470669B (zh) * | 2007-12-28 | 2011-02-16 | 无锡江南计算技术研究所 | 多缓存数据一致性的处理方法及主存处理机 |
CN101794271B (zh) * | 2010-03-31 | 2012-05-23 | 华为技术有限公司 | 多核内存一致性的实现方法和装置 |
US9274955B2 (en) | 2012-08-17 | 2016-03-01 | Futurewei Technologies, Inc. | Reduced scalable cache directory |
US9298623B2 (en) | 2013-09-26 | 2016-03-29 | Globalfoundries Inc. | Identifying high-conflict cache lines in transactional memory computing environments |
US9292444B2 (en) | 2013-09-26 | 2016-03-22 | International Business Machines Corporation | Multi-granular cache management in multi-processor computing environments |
US9086974B2 (en) | 2013-09-26 | 2015-07-21 | International Business Machines Corporation | Centralized management of high-contention cache lines in multi-processor computing environments |
US9298626B2 (en) | 2013-09-26 | 2016-03-29 | Globalfoundries Inc. | Managing high-conflict cache lines in transactional memory computing environments |
US9329890B2 (en) | 2013-09-26 | 2016-05-03 | Globalfoundries Inc. | Managing high-coherence-miss cache lines in multi-processor computing environments |
US9870204B2 (en) | 2014-11-14 | 2018-01-16 | Cavium, Inc. | Algorithm to achieve optimal layout of instruction tables for programmable network devices |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5564035A (en) * | 1994-03-23 | 1996-10-08 | Intel Corporation | Exclusive and/or partially inclusive extension cache system and method to minimize swapping therein |
JPH09305489A (ja) * | 1996-05-14 | 1997-11-28 | Canon Inc | 情報処理システム及びその制御方法 |
US5892970A (en) * | 1996-07-01 | 1999-04-06 | Sun Microsystems, Inc. | Multiprocessing system configured to perform efficient block copy operations |
US6052762A (en) * | 1996-12-02 | 2000-04-18 | International Business Machines Corp. | Method and apparatus for reducing system snoop latency |
US6078997A (en) * | 1996-12-09 | 2000-06-20 | Intel Corporation | Directory-based coherency system for maintaining coherency in a dual-ported memory system |
US5787478A (en) * | 1997-03-05 | 1998-07-28 | International Business Machines Corporation | Method and system for implementing a cache coherency mechanism for utilization within a non-inclusive cache memory hierarchy |
JPH11102321A (ja) * | 1997-09-26 | 1999-04-13 | Nec Corp | 分散共有メモリ型並列計算機のキャッシュコヒーレンシ制御方式 |
EP0908825B1 (en) * | 1997-10-10 | 2002-09-04 | Bull S.A. | A data-processing system with cc-NUMA (cache coherent, non-uniform memory access) architecture and remote access cache incorporated in local memory |
JP4689783B2 (ja) * | 1999-09-28 | 2011-05-25 | 富士通株式会社 | 分散共有メモリ型並列計算機 |
US7096323B1 (en) * | 2002-09-27 | 2006-08-22 | Advanced Micro Devices, Inc. | Computer system with processor cache that stores remote cache presence information |
US20040199727A1 (en) * | 2003-04-02 | 2004-10-07 | Narad Charles E. | Cache allocation |
US7310724B2 (en) * | 2003-06-30 | 2007-12-18 | Intel Corporation | Parallel execution of enhanced EFI based BIOS drivers on a multi-processor or hyper-threading enabled platform |
US7249224B2 (en) * | 2003-08-05 | 2007-07-24 | Newisys, Inc. | Methods and apparatus for providing early responses from a remote data cache |
JP4362454B2 (ja) * | 2005-04-07 | 2009-11-11 | 富士通株式会社 | キャッシュコヒーレンス管理装置およびキャッシュコヒーレンス管理方法 |
US7404045B2 (en) * | 2005-12-30 | 2008-07-22 | International Business Machines Corporation | Directory-based data transfer protocol for multiprocessor system |
-
2005
- 2005-12-30 US US11/322,955 patent/US7404045B2/en active Active
-
2006
- 2006-10-04 JP JP2006273451A patent/JP4959279B2/ja active Active
- 2006-10-17 CN CNB2006101373137A patent/CN100461136C/zh not_active Expired - Fee Related
- 2006-12-04 TW TW095145022A patent/TWI386810B/zh active
-
2008
- 2008-06-12 US US12/137,618 patent/US7925838B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20070156970A1 (en) | 2007-07-05 |
CN100461136C (zh) | 2009-02-11 |
TW200736919A (en) | 2007-10-01 |
US7925838B2 (en) | 2011-04-12 |
US7404045B2 (en) | 2008-07-22 |
TWI386810B (zh) | 2013-02-21 |
JP2007183915A (ja) | 2007-07-19 |
US20080313427A1 (en) | 2008-12-18 |
CN1991794A (zh) | 2007-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4959279B2 (ja) | マルチプロセッサ・システムのためのディレクトリ・ベースのデータ転送プロトコル(データ一貫性を維持する方法およびシステム) | |
JP4928812B2 (ja) | タグ付きキャッシュ状態に基づいて下位レベル・キャッシュへの参照なしに相互接続ファブリック上にリクエストを送出するためのデータ処理システム、キャッシュ・システム、および方法 | |
US10891228B2 (en) | Cache line states identifying memory cache | |
KR100634932B1 (ko) | 멀티프로세서 시스템 내에서의 캐시 일관성에서 사용하기위한 전송 상태 | |
US7702743B1 (en) | Supporting a weak ordering memory model for a virtual physical address space that spans multiple nodes | |
US7167957B2 (en) | Mechanism for handling explicit writeback in a cache coherent multi-node architecture | |
JP5116418B2 (ja) | マルチプロセッサ・データ処理システムにおいて、データを処理する方法、マルチプロセッサ・データ処理システムのための処理ユニット、およびデータ処理システム | |
US8140770B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation | |
JP5105863B2 (ja) | 複数のコヒーレンシ・ドメインを有するデータ処理システムでフラッシュ動作を処理するデータ処理システム、方法、およびメモリ・コントローラ | |
US7386680B2 (en) | Apparatus and method of controlling data sharing on a shared memory computer system | |
US20080215821A1 (en) | Data processing system and method for efficient communication utilizing an in coherency state | |
EP0735480A1 (en) | Cache coherent computer system that minimizes invalidation and copyback operations | |
JP2007257637A (ja) | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム | |
JP2008077650A (ja) | キャストアウトに関する改良されたコヒーレンシ管理を支援するプロセッサ、データ処理システム、およびデータ処理方法 | |
JP2021519456A (ja) | キャッシュ・メモリ動作の調整 | |
JP5004571B2 (ja) | 同報通信範囲を示す無効な整合状態を正確に形成するためのデータ処理システム、キャッシュ・システム、および方法 | |
JP3550092B2 (ja) | キャッシュ装置及び制御方法 | |
US7454578B2 (en) | Data processing system and method for predictively selecting a scope of broadcast of an operation utilizing a location of a memory | |
US20090031085A1 (en) | Directory for Multi-Node Coherent Bus | |
JP7277075B2 (ja) | スヌープリクエストに対する応答の転送 | |
JP4689783B2 (ja) | 分散共有メモリ型並列計算機 | |
US7380107B2 (en) | Multi-processor system utilizing concurrent speculative source request and system source request in response to cache miss | |
JP5063059B2 (ja) | 方法、データ処理システム、メモリ・コントローラ(i/o書込みオペレーションのパイプライン化および多重オペレーション範囲を可能にするデータ処理システムおよび方法) | |
JP7328742B2 (ja) | スヌープ要求への対応 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090619 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120227 |
|
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: 20120306 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120321 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150330 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4959279 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |