JP5431525B2 - アクセラレータ用低コストのキャッシュ一貫性を維持するシステム - Google Patents
アクセラレータ用低コストのキャッシュ一貫性を維持するシステム Download PDFInfo
- Publication number
- JP5431525B2 JP5431525B2 JP2012106285A JP2012106285A JP5431525B2 JP 5431525 B2 JP5431525 B2 JP 5431525B2 JP 2012106285 A JP2012106285 A JP 2012106285A JP 2012106285 A JP2012106285 A JP 2012106285A JP 5431525 B2 JP5431525 B2 JP 5431525B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- block
- memory
- cached
- cache
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1016—Performance improvement
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 (6)
- 一又は複数の中央処理装置(CPU)、
一又は複数のCPUの各々に対応するキャッシュ・メモリ、
共有メモリ、および
第1ノードの共有メモリに存在し、他のノードでキャッシュされる位置を特定するノード・ディレクトリとを有する少なくとも1つの第1ノードと、
一又は複数のアクセラレータ、
一又は複数のアクセラレータの各々に対応するキャッシュ・メモリ、および
一又は複数のアクセラレータの各々に対応するローカル・ストアとを有する少なくとも1つの第2ノードとを有するシステムであって、
前記第1ノードが、
前記共有メモリの前記ブロックへのアクセス要求を受け取り、
前記要求の受け取りに応答して、前記ブロックが第1ノード内でキャッシュされる、または別のノードでキャッシュされるかどうか、および前記ブロックが変更されるかどうかを判定し、
アクセスが読み出しアクセスの場合、前記共有メモリの最も最近変更したブロックを提供し、および
アクセスが書き込みアクセスの場合、前記メモリ・ブロックがキャッシュされる位置を更新または無効にするように構成され、
前記第2ノードが、前記第1ノードの共有メモリのブロックへのアクセス要求を発行し、
前記メモリ・ブロックの最も最近変更したコピーを提供するために、前記第1ノードが、
前記ブロックの変更コピーが前記第1ノードでキャッシュされるかどうかを判定し、
前記メモリ・ブロックの変更コピーがシステムの他のいずれかのノードでキャッシュされるかどうかを判定し、
変更コピーが存在する場合、前記ブロックの最も最近変更したコピーを第2ノードに転送するように構成され、
前記ブロックの変更コピーが前記第1ノードでキャッシュされるかどうかを判定するために、前記第1ノードのキャッシュが、
要求に対応する前記ブロックのアドレスをスヌープして、前記ブロックが前記第1ノードでキャッシュされるかどうかを判定し、
前記ブロックがキャッシュされる場合、前記ブロックが変更されているかどうかを判定するように構成され、
前記共有メモリの前記ブロックにアクセスするために、前記第2ノードがさらに、前記ブロックがキャッシュ・メモリに転送される、またはローカル・ストアに転送されるかどうかを示す信号を生成するように構成され、前記第1ノードがさらに信号に基づいてブロックを転送するように構成され、
前記ブロックが前記第2ノードのキャッシュ・メモリに転送される場合、第1ノードがさらに、前記ノード・ディレクトリに、前記ブロックのアドレスとキャッシュ・メモリの位置を入力するように構成され、
前記ブロックの変更コピーがシステムの他のいずれかのノードでキャッシュされるかどうかを判定するために、第1ノードが、
前記ノード・ディレクトリを調べて、前記ブロックが他のいずれかのノードでキャッシュされるかどうかを判定し、
前記ブロックが他のいずれかのノードでキャッシュされる場合、前記ブロックが他のノードで変更されていれば、他のノードから前記ブロックを検索するように構成される、
システム。 - 書き込みアクセスに応答してメモリ・ブロックを無効または更新するために、前記第1ノードが、
前記ブロックが前記第1ノードでキャッシュされるかどうかを判定し、
前記ブロックがシステムの他のいずれかのノードでキャッシュされるかどうかを判定する、請求項1のシステム。 - 前記ブロックが前記第1ノードでキャッシュされるかどうかを判定するために、前記第1ノードのキャッシュを書き込みアクセスをスヌープするように構成される、請求項2のシステム。
- 前記ブロックがシステムの他のいずれかのノードでキャッシュされるかどうかを判定するために、前記第1ノードがノード・ディレクトリを調べるように構成される、請求項2のシステム。
- 前記第1ノードがさらに、
前記ブロックが第3ノードでキャッシュされて変更されたという判定に応答して、前記ブロックのアドレスと前記第2ノードに関連する数を前記第3ノードに送信するように構成され、
前記第3ノードがブロックを前記第2ノードに送信するように構成される、
請求項1のシステム。 - 前記第1ノードが、前記ノード・ディレクトリを調べて、前記ブロックが前記第3ノードでキャッシュされるかどうか、および前記ブロックが変更されるかどうかを判定するように構成される、
請求項5のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/388013 | 2006-03-23 | ||
US11/388,013 US7814279B2 (en) | 2006-03-23 | 2006-03-23 | Low-cost cache coherency for accelerators |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007071882A Division JP5153172B2 (ja) | 2006-03-23 | 2007-03-20 | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012181860A JP2012181860A (ja) | 2012-09-20 |
JP5431525B2 true JP5431525B2 (ja) | 2014-03-05 |
Family
ID=38534940
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007071882A Active JP5153172B2 (ja) | 2006-03-23 | 2007-03-20 | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム |
JP2012106285A Active JP5431525B2 (ja) | 2006-03-23 | 2012-05-07 | アクセラレータ用低コストのキャッシュ一貫性を維持するシステム |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007071882A Active JP5153172B2 (ja) | 2006-03-23 | 2007-03-20 | アクセラレータ用低コストのキャッシュ一貫性を維持する方法及びシステム |
Country Status (4)
Country | Link |
---|---|
US (2) | US7814279B2 (ja) |
JP (2) | JP5153172B2 (ja) |
CN (1) | CN100495361C (ja) |
TW (1) | TWI432963B (ja) |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9710384B2 (en) * | 2008-01-04 | 2017-07-18 | Micron Technology, Inc. | Microprocessor architecture having alternative memory access paths |
US8095735B2 (en) * | 2008-08-05 | 2012-01-10 | Convey Computer | Memory interleave for heterogeneous computing |
US8561037B2 (en) | 2007-08-29 | 2013-10-15 | Convey Computer | Compiler for generating an executable comprising instructions for a plurality of different instruction sets |
US8156307B2 (en) * | 2007-08-20 | 2012-04-10 | Convey Computer | Multi-processor system having at least one processor that comprises a dynamically reconfigurable instruction set |
US8122229B2 (en) * | 2007-09-12 | 2012-02-21 | Convey Computer | Dispatch mechanism for dispatching instructions from a host processor to a co-processor |
US9015399B2 (en) | 2007-08-20 | 2015-04-21 | Convey Computer | Multiple data channel memory module architecture |
US7925836B2 (en) * | 2008-01-25 | 2011-04-12 | Arm Limited | Selective coherency control |
US9035959B2 (en) | 2008-03-28 | 2015-05-19 | Intel Corporation | Technique to share information among different cache coherency domains |
US20100115233A1 (en) * | 2008-10-31 | 2010-05-06 | Convey Computer | Dynamically-selectable vector register partitioning |
US8205066B2 (en) * | 2008-10-31 | 2012-06-19 | Convey Computer | Dynamically configured coprocessor for different extended instruction set personality specific to application program with shared memory storing instructions invisibly dispatched from host processor |
US8151061B2 (en) * | 2009-03-10 | 2012-04-03 | Intel Corporation | Ensuring coherence between graphics and display domains |
CN101853149A (zh) * | 2009-03-31 | 2010-10-06 | 张力 | 多核系统中单生产者/单消费者队列的处理方法及装置 |
GB2470589A (en) * | 2009-05-29 | 2010-12-01 | Vestas Wind Sys As | Branching spar wind turbine blade |
US8615637B2 (en) * | 2009-09-10 | 2013-12-24 | Advanced Micro Devices, Inc. | Systems and methods for processing memory requests in a multi-processor system using a probe engine |
US8719547B2 (en) * | 2009-09-18 | 2014-05-06 | Intel Corporation | Providing hardware support for shared virtual memory between local and remote physical memory |
US8423745B1 (en) | 2009-11-16 | 2013-04-16 | Convey Computer | Systems and methods for mapping a neighborhood of data to general registers of a processing element |
CN102207919A (zh) | 2010-03-30 | 2011-10-05 | 国际商业机器公司 | 加速数据传输的处理单元、芯片、计算设备和方法 |
US9128849B2 (en) * | 2010-04-13 | 2015-09-08 | Apple Inc. | Coherent memory scheme for heterogeneous processors |
US8745329B2 (en) * | 2011-01-20 | 2014-06-03 | Google Inc. | Storing data across a plurality of storage nodes |
US20120233410A1 (en) * | 2011-03-13 | 2012-09-13 | National Tsing Hua University | Shared-Variable-Based (SVB) Synchronization Approach for Multi-Core Simulation |
GB2489278B (en) * | 2011-03-24 | 2019-12-25 | Advanced Risc Mach Ltd | Improving the scheduling of tasks to be performed by a non-coherent device |
WO2013159288A1 (en) * | 2012-04-25 | 2013-10-31 | Intel Corporation | Method and system for maintaining release consistency in shared memory programming |
US10430190B2 (en) | 2012-06-07 | 2019-10-01 | Micron Technology, Inc. | Systems and methods for selectively controlling multithreaded execution of executable code segments |
JPWO2014087654A1 (ja) * | 2012-12-07 | 2017-01-05 | 日本電気株式会社 | データ送信装置、データ送信方法、及び記録媒体 |
US9501408B2 (en) | 2013-02-19 | 2016-11-22 | Globalfoundries Inc. | Efficient validation of coherency between processor cores and accelerators in computer systems |
US11126372B2 (en) * | 2013-04-01 | 2021-09-21 | Hewlett Packard Enterprise Development Lp | External memory controller |
EP2981900B1 (en) * | 2013-04-01 | 2022-02-09 | Hewlett Packard Enterprise Development LP | External memory controller |
WO2015047314A1 (en) * | 2013-09-27 | 2015-04-02 | Intel Corporation | Techniques to compose memory resources across devices |
US9766916B2 (en) | 2014-05-05 | 2017-09-19 | International Business Machines Corporation | Implementing coherent accelerator function isolation for virtualization |
US9916259B1 (en) | 2015-02-02 | 2018-03-13 | Waymo Llc | System and method for low latency communication |
US10275853B2 (en) * | 2015-04-15 | 2019-04-30 | Intel Corporation | Media hub device and cache |
CN106293637B (zh) * | 2015-05-28 | 2018-10-30 | 华为技术有限公司 | 数据移动、将数据设置为无效的方法、处理器及系统 |
WO2017000124A1 (zh) * | 2015-06-29 | 2017-01-05 | 华为技术有限公司 | 目录中表项合并的方法以及设备 |
CN105094840B (zh) * | 2015-08-14 | 2019-01-29 | 浪潮(北京)电子信息产业有限公司 | 一种基于缓存一致性原理的原子操作实现方法及装置 |
US10450859B2 (en) * | 2015-08-24 | 2019-10-22 | Bitswave Inc. | Mud pulser with vertical rotational actuator |
CN106250350A (zh) * | 2016-07-28 | 2016-12-21 | 浪潮(北京)电子信息产业有限公司 | 一种基于numa架构的页缓存读取方法及系统 |
US9715470B1 (en) | 2016-09-26 | 2017-07-25 | International Business Machines Corporation | Direct memory access between an accelerator and a processor using a coherency adapter |
GB2554442B (en) * | 2016-09-28 | 2020-11-11 | Advanced Risc Mach Ltd | Apparatus and method for providing an atomic set of data accesses |
US10310897B2 (en) * | 2016-09-30 | 2019-06-04 | Intel Corporation | Hardware accelerators and methods for offload operations |
CN113157216B (zh) | 2017-04-17 | 2024-02-06 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、设备和计算机可读存储介质 |
CN109101439B (zh) * | 2017-06-21 | 2024-01-09 | 深圳市中兴微电子技术有限公司 | 一种报文处理的方法及装置 |
JP7238262B2 (ja) * | 2018-03-27 | 2023-03-14 | 日本電気株式会社 | 計算機、半導体装置、及び制御方法 |
US10846235B2 (en) * | 2018-04-28 | 2020-11-24 | International Business Machines Corporation | Integrated circuit and data processing system supporting attachment of a real address-agnostic accelerator |
US10915445B2 (en) * | 2018-09-18 | 2021-02-09 | Nvidia Corporation | Coherent caching of data for high bandwidth scaling |
US11409654B2 (en) * | 2019-09-05 | 2022-08-09 | Micron Technology, Inc. | Intelligent optimization of caching operations in a data storage device |
KR20220049978A (ko) | 2020-10-15 | 2022-04-22 | 삼성전자주식회사 | 장치-부착 메모리에 대한 액세스를 위한 시스템, 장치 및 방법 |
CN112765086B (zh) * | 2020-12-30 | 2023-09-08 | 北京泽石科技有限公司 | 固态存储中一种基于cache一致性的软硬件交互方法 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW469376B (en) * | 1995-11-06 | 2001-12-21 | Ibm | A method and apparatus for modifying data in a multi-processor data processing system |
JP2000330965A (ja) * | 1999-03-17 | 2000-11-30 | Hitachi Ltd | マルチプロセッサシステム及びそのメモリアクセストランザクションの転送方法 |
US6457068B1 (en) * | 1999-08-30 | 2002-09-24 | Intel Corporation | Graphics address relocation table (GART) stored entirely in a local memory of an expansion bridge for address translation |
US6779049B2 (en) * | 2000-12-14 | 2004-08-17 | International Business Machines Corporation | Symmetric multi-processing system with attached processing units being able to access a shared memory without being structurally configured with an address translation mechanism |
US6760819B2 (en) * | 2001-06-29 | 2004-07-06 | International Business Machines Corporation | Symmetric multiprocessor coherence mechanism |
JP2003216597A (ja) * | 2002-01-23 | 2003-07-31 | Hitachi Ltd | マルチプロセッサシステム |
US7085897B2 (en) * | 2003-05-12 | 2006-08-01 | International Business Machines Corporation | Memory management for a symmetric multiprocessor computer system |
GB2403561A (en) * | 2003-07-02 | 2005-01-05 | Advanced Risc Mach Ltd | Power control within a coherent multi-processor system |
US7200689B2 (en) * | 2003-07-31 | 2007-04-03 | International Business Machines Corporation | Cacheable DMA |
JP4119380B2 (ja) * | 2004-02-19 | 2008-07-16 | 株式会社日立製作所 | マルチプロセッサシステム |
CN101057223B (zh) * | 2004-10-15 | 2011-09-14 | 索尼计算机娱乐公司 | 支持多处理器系统中的多个配置的方法和设备 |
US20060179277A1 (en) * | 2005-02-04 | 2006-08-10 | Flachs Brian K | System and method for instruction line buffer holding a branch target buffer |
-
2006
- 2006-03-23 US US11/388,013 patent/US7814279B2/en active Active
-
2007
- 2007-03-07 TW TW096107836A patent/TWI432963B/zh not_active IP Right Cessation
- 2007-03-20 JP JP2007071882A patent/JP5153172B2/ja active Active
- 2007-03-21 CN CNB2007100891913A patent/CN100495361C/zh active Active
-
2010
- 2010-10-11 US US12/902,045 patent/US8103835B2/en not_active Expired - Fee Related
-
2012
- 2012-05-07 JP JP2012106285A patent/JP5431525B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US20110029738A1 (en) | 2011-02-03 |
JP2012181860A (ja) | 2012-09-20 |
CN100495361C (zh) | 2009-06-03 |
US8103835B2 (en) | 2012-01-24 |
TWI432963B (zh) | 2014-04-01 |
JP2007257637A (ja) | 2007-10-04 |
US20070226424A1 (en) | 2007-09-27 |
CN101042679A (zh) | 2007-09-26 |
US7814279B2 (en) | 2010-10-12 |
JP5153172B2 (ja) | 2013-02-27 |
TW200821832A (en) | 2008-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5431525B2 (ja) | アクセラレータ用低コストのキャッシュ一貫性を維持するシステム | |
US6694409B2 (en) | Cache states for multiprocessor cache coherency protocols | |
KR100318104B1 (ko) | 공유 인터벤션을 지원하는 비균등 메모리접근 데이터처리시스템 | |
JP5714733B2 (ja) | キャッシュ競合の解決 | |
US6289420B1 (en) | System and method for increasing the snoop bandwidth to cache tags in a multiport cache memory subsystem | |
US9170946B2 (en) | Directory cache supporting non-atomic input/output operations | |
JP4966205B2 (ja) | 共有メモリコンピュータシステムにおける、所有されている複数のキャッシュブロックのライトバックの早期予測 | |
KR101497002B1 (ko) | 스누프 필터링 메커니즘 | |
US6272602B1 (en) | Multiprocessing system employing pending tags to maintain cache coherence | |
US20110004729A1 (en) | Block Caching for Cache-Coherent Distributed Shared Memory | |
GB2439650A (en) | Snoop filter that maintains data coherency information for caches in a multi-processor system by storing the exclusive ownership state of the data | |
JPH08115260A (ja) | データ処理システムのi/oチャネル・コントローラのコヒーレンシと同期化装置及び方法 | |
JP2006277762A (ja) | 分散共有メモリマルチプロセッサシステムのための分割疎ディレクトリ | |
JPH08328957A (ja) | マルチプロセッシング・システムにおけるキャッシュ・パフォーマンス向上のためのシステムおよび方法 | |
US6922755B1 (en) | Directory tree multinode computer system | |
US7308538B2 (en) | Scope-based cache coherence | |
US6807608B2 (en) | Multiprocessor environment supporting variable-sized coherency transactions | |
US20080082756A1 (en) | Mechanisms and methods of using self-reconciled data to reduce cache coherence overhead in multiprocessor systems | |
CN111414318B (zh) | 一种基于提前更新的数据一致性实现方法 | |
CN117529899A (zh) | 共享存储系统、装置和用于无效缓存数据的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130326 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130409 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20130709 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130719 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20131009 |
|
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: 20131112 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20131204 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5431525 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |