JP6083714B2 - プロセッサによるメモリの共有のための方法、システム、およびコンピュータ・プログラム - Google Patents
プロセッサによるメモリの共有のための方法、システム、およびコンピュータ・プログラム Download PDFInfo
- Publication number
- JP6083714B2 JP6083714B2 JP2014546677A JP2014546677A JP6083714B2 JP 6083714 B2 JP6083714 B2 JP 6083714B2 JP 2014546677 A JP2014546677 A JP 2014546677A JP 2014546677 A JP2014546677 A JP 2014546677A JP 6083714 B2 JP6083714 B2 JP 6083714B2
- Authority
- JP
- Japan
- Prior art keywords
- processor
- interface
- control unit
- memory
- 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.)
- Expired - Fee Related
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/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
-
- 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/0804—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
- G06F13/1663—Access to shared memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
Description
仮想共有メモリをエミュレートするように協働するために、互いにまたは中央ハードウェアと通信できるようにする特定のソフトウェア構成要素が、すべてのプロセッサ上にインストールされていることである。こうした既存の可能性は、メモリを共有している各プロセッサ上に、すなわち、一方のケースでは、協働のために適合された特定のハードウェア・インターフェース上、または、他方のケースでは、個々のプロセッサの非共有メモリを使用してエミュレートされる仮想共有メモリ上に、特定の構成要素がインストールされていることが必要である。そのため、そのようなアーキテクチャは、前者のケースでは達成するのに費用が掛かる複雑なもの、後者のケースでは物理共有メモリの性能を低下させるものとなる。
−方法は、第1のプロセッサからの要求を延期しながら、第1のプロセッサによって要求されたデータに関係するキャッシュ・ラインを主物理メモリにライト・バック(write back)するための要求を、第2のプロセッサに送信することを含むことができる。
−第2のプロセッサに要求を送信することが、第2のプロセッサの割り込みピンを介して実行される。
−方法は、第1のプロセッサからの要求を延期しながら、および第2のプロセッサに要求を送信した後、第2のプロセッサから制御ユニットによって受信された要求されたキャッシュ・ラインを主物理メモリに伝送するよう、制御ユニットに命令することを含む。
−方法は、第2のプロセッサが、すべての要求されたキャッシュ・ラインを主物理メモリにライト・バックすると、第1のプロセッサからの要求を許可する。
−評価は、第2のプロセッサが第1のプロセッサによって要求されたデータに関連付けられているかどうかを、制御ユニットのデータベース内でチェックすることを含む。
−方法は、第1のプロセッサを、データベース内の第1のプロセッサによって要求されたデータに関連付けることを、さらに含む。
−第2のインターフェースは、ダブルデータレート(double-data-rate)動的ランダム・アクセス・メモリ(DDR DRAM)インターフェースである。および/または
−アクセスの管理の細分性は、物理メモリ・アドレスの領域(ブロックまたはページ)によるものである。
Claims (10)
- コンピュータ・メモリ制御ユニットのロジックによって実行される方法であって、
前記制御ユニットは、少なくとも1つの第1のインターフェースおよび第2のインターフェースを備え、
−前記第1のインターフェースを介して主物理メモリと、および、
−前記第2のインターフェースを介してN≧2個の非協働プロセッサのセットと、
接続されるように適合され、
前記ロジックは、前記第1および第2のインターフェースに動作可能に結合され、
前記方法は、
前記第2のインターフェースを介して、前記セットの第1のプロセッサから前記主物理メモリのデータにアクセスするための要求を受信すること、
第2のプロセッサが、前記第1のプロセッサによって要求された前記データに以前にアクセスしたかどうかを評価すること、
評価が肯定的である場合、前記第1のプロセッサからの前記要求を延期すること、または、前記評価が否定的である場合、前記第1のプロセッサからの前記要求を許可すること、
前記第1のプロセッサからの前記要求を延期しながら、前記第1のプロセッサによって要求された前記データに関係するキャッシュ・ラインを前記主物理メモリにライト・バックするための要求を、前記第2のプロセッサに送信すること、
を含み、
前記評価は、前記第2のプロセッサが前記第1のプロセッサによって要求された前記データに関連付けられているかどうかを、前記制御ユニットの、プロセッサからの要求の許可時に該プロセッサを要求されたデータに関連付けるデータベース内でチェックすることを含む、方法。 - 前記第2のプロセッサに前記要求を送信すること(S35)が、前記第2のプロセッサの割り込みピンを介して実行される、請求項1に記載の方法。
- 前記第1のプロセッサからの前記要求を延期(S30)しながら、および前記第2のプロセッサに前記要求を送信(S35)した後、前記第2のプロセッサから前記制御ユニットによって受信された前記要求されたキャッシュ・ラインを前記主物理メモリに伝送するよう、前記制御ユニットに命令すること(S36)を含む、請求項2に記載の方法。
- 前記第2のプロセッサが、すべての要求されたキャッシュ・ラインを前記主物理メモリにライト・バックすると、前記第1のプロセッサからの前記要求を許可すること(S42)を含む、請求項3に記載の方法。
- 前記第1のプロセッサを、前記データベース内の前記第1のプロセッサによって要求された前記データに関連付けること(S38)を、さらに含む、請求項1から4のいずれか一項に記載の方法。
- 前記第2のインターフェースは、ダブルデータレート動的ランダム・アクセス・メモリ(DDR DRAM)インターフェースである、請求項1から5のいずれか一項に記載の方法。
- アクセスの管理の細分性は、物理メモリ・アドレスの領域(ブロックまたはページ)によるものである、請求項1から6のいずれか一項に記載の方法。
- コンピュータ・メモリ制御ユニットであって、
前記制御ユニットは、少なくとも1つの第1のインターフェースおよび第2のインターフェースを備え、
−前記第1のインターフェースを介して主物理メモリと、および、
−前記第2のインターフェースを介してN≧2個の非協働プロセッサのセットと、
接続されるように適合され、
前記制御ユニットは、前記第1および第2のインターフェースに動作可能に結合されたロジックを備え、請求項1から7のいずれか一項に記載の方法を実行するように構成された、
コンピュータ・メモリ制御ユニット。 - 前記第1のインターフェースを介して主物理メモリと、および、前記第2のインターフェースを介してN≧2個の非協働プロセッサのセットと、接続される、請求項8に記載のコンピュータ・メモリ制御ユニットを備えるシステム。
- コンピュータ・メモリ制御ユニットのロジックを実行するためのコンピュータ・プログラムであって、
前記ロジックを備えるコンピュータ・メモリ制御ユニットの第1および第2のインターフェースに動作可能に結合されるように適合され、前記制御ユニットは、前記第1のインターフェースを介して主物理メモリと、および、前記第2のインターフェースを介してN≧2個の非協働プロセッサのセットと接続され、前記プロセッサに請求項1から7のいずれか一項に記載の方法を実行させるコンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP11194116.7 | 2011-12-16 | ||
EP11194116 | 2011-12-16 | ||
PCT/IB2012/056562 WO2013088283A2 (en) | 2011-12-16 | 2012-11-20 | Memory sharing by processors |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015504205A JP2015504205A (ja) | 2015-02-05 |
JP6083714B2 true JP6083714B2 (ja) | 2017-02-22 |
Family
ID=47520195
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014546677A Expired - Fee Related JP6083714B2 (ja) | 2011-12-16 | 2012-11-20 | プロセッサによるメモリの共有のための方法、システム、およびコンピュータ・プログラム |
Country Status (6)
Country | Link |
---|---|
US (1) | US9183150B2 (ja) |
JP (1) | JP6083714B2 (ja) |
CN (1) | CN103999063B (ja) |
DE (1) | DE112012004926B4 (ja) |
GB (1) | GB2511446B (ja) |
WO (1) | WO2013088283A2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170192886A1 (en) * | 2014-07-31 | 2017-07-06 | Hewlett Packard Enterprise Development Lp | Cache management for nonvolatile main memory |
US9781225B1 (en) * | 2014-12-09 | 2017-10-03 | Parallel Machines Ltd. | Systems and methods for cache streams |
US9535606B2 (en) * | 2014-12-22 | 2017-01-03 | Intel Corporation | Virtual serial presence detect for pooled memory |
CN105868134B (zh) * | 2016-04-14 | 2018-12-28 | 烽火通信科技股份有限公司 | 高性能多口ddr控制器及其实现方法 |
CN106484521A (zh) * | 2016-10-21 | 2017-03-08 | 郑州云海信息技术有限公司 | 一种数据请求处理方法及装置 |
US11409673B2 (en) * | 2019-02-14 | 2022-08-09 | Intel Corporation | Triggered operations for collective communication |
US11409655B2 (en) * | 2019-03-01 | 2022-08-09 | Canon Kabushiki Kaisha | Interface apparatus, data processing apparatus, cache control method, and medium |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5950228A (en) | 1997-02-03 | 1999-09-07 | Digital Equipment Corporation | Variable-grained memory sharing for clusters of symmetric multi-processors using private and shared state tables |
US6438660B1 (en) * | 1997-12-09 | 2002-08-20 | Intel Corporation | Method and apparatus for collapsing writebacks to a memory for resource efficiency |
JP4303803B2 (ja) * | 1998-04-22 | 2009-07-29 | 株式会社東芝 | キャッシュフラッシュ装置 |
US6397306B2 (en) | 1998-10-23 | 2002-05-28 | Alcatel Internetworking, Inc. | Per memory atomic access for distributed memory multiprocessor architecture |
US6636950B1 (en) | 1998-12-17 | 2003-10-21 | Massachusetts Institute Of Technology | Computer architecture for shared memory access |
US6829683B1 (en) * | 2000-07-20 | 2004-12-07 | Silicon Graphics, Inc. | System and method for transferring ownership of data in a distributed shared memory system |
US7233998B2 (en) | 2001-03-22 | 2007-06-19 | Sony Computer Entertainment Inc. | Computer architecture and software cells for broadband networks |
US7380085B2 (en) * | 2001-11-14 | 2008-05-27 | Intel Corporation | Memory adapted to provide dedicated and or shared memory to multiple processors and method therefor |
US7032079B1 (en) | 2002-12-13 | 2006-04-18 | Unisys Corporation | System and method for accelerating read requests within a multiprocessor system |
KR20050061123A (ko) * | 2003-12-18 | 2005-06-22 | 삼성전자주식회사 | Ddr sdram 콘트롤러의 데이터 제어회로 |
US20060112226A1 (en) * | 2004-11-19 | 2006-05-25 | Hady Frank T | Heterogeneous processors sharing a common cache |
US7386687B2 (en) | 2005-01-07 | 2008-06-10 | Sony Computer Entertainment Inc. | Methods and apparatus for managing a shared memory in a multi-processor system |
JP5021978B2 (ja) * | 2006-08-11 | 2012-09-12 | エヌイーシーコンピュータテクノ株式会社 | マルチプロセッサシステム及びその動作方法 |
JP2008176612A (ja) * | 2007-01-19 | 2008-07-31 | Nec Electronics Corp | マルチプロセッサシステム |
US8386750B2 (en) * | 2008-10-31 | 2013-02-26 | Cray Inc. | Multiprocessor system having processors with different address widths and method for operating the same |
WO2011060366A2 (en) | 2009-11-13 | 2011-05-19 | Anderson Richard S | Distributed symmetric multiprocessing computing architecture |
-
2012
- 2012-11-20 CN CN201280062000.3A patent/CN103999063B/zh not_active Expired - Fee Related
- 2012-11-20 GB GB1408707.6A patent/GB2511446B/en active Active
- 2012-11-20 DE DE112012004926.8T patent/DE112012004926B4/de active Active
- 2012-11-20 WO PCT/IB2012/056562 patent/WO2013088283A2/en active Application Filing
- 2012-11-20 JP JP2014546677A patent/JP6083714B2/ja not_active Expired - Fee Related
- 2012-12-07 US US13/707,801 patent/US9183150B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US9183150B2 (en) | 2015-11-10 |
DE112012004926B4 (de) | 2023-12-07 |
DE112012004926T5 (de) | 2014-08-14 |
GB2511446A (en) | 2014-09-03 |
GB2511446B (en) | 2016-08-10 |
CN103999063B (zh) | 2016-10-05 |
US20130159632A1 (en) | 2013-06-20 |
CN103999063A (zh) | 2014-08-20 |
JP2015504205A (ja) | 2015-02-05 |
WO2013088283A3 (en) | 2013-11-07 |
WO2013088283A2 (en) | 2013-06-20 |
GB201408707D0 (en) | 2014-07-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6083714B2 (ja) | プロセッサによるメモリの共有のための方法、システム、およびコンピュータ・プログラム | |
US11030126B2 (en) | Techniques for managing access to hardware accelerator memory | |
JP5911985B2 (ja) | ローカル物理メモリとリモート物理メモリとの間で共有されるバーチャルメモリのためのハードウェアサポートの提供 | |
KR102519904B1 (ko) | 영구 메모리 할당 및 구성 | |
US7756943B1 (en) | Efficient data transfer between computers in a virtual NUMA system using RDMA | |
US7596654B1 (en) | Virtual machine spanning multiple computers | |
US7516247B2 (en) | Avoiding silent data corruption and data leakage in a virtual environment with multiple guests | |
US20040098575A1 (en) | Processor cache memory as RAM for execution of boot code | |
US8078862B2 (en) | Method for assigning physical data address range in multiprocessor system | |
US10824574B2 (en) | Multi-port storage device multi-socket memory access system | |
US10296356B2 (en) | Implementation of reset functions in an SoC virtualized device | |
US7480784B2 (en) | Ensuring deadlock free operation for peer to peer traffic in an input/output memory management unit (IOMMU) | |
JP2005222123A5 (ja) | ||
US9836326B2 (en) | Cache probe request to optimize I/O directed caching | |
US10613999B2 (en) | Device, system and method to access a shared memory with field-programmable gate array circuitry without first storing data to computer node | |
US8352646B2 (en) | Direct access to cache memory | |
WO2015180598A1 (zh) | 对存储设备的访问信息处理方法和装置、系统 | |
CN104951239A (zh) | 高速缓存驱动器、主机总线适配器及其使用的方法 | |
US10817456B2 (en) | Separation of control and data plane functions in SoC virtualized I/O device | |
US8661169B2 (en) | Copying data to a cache using direct memory access | |
US8327081B2 (en) | Information processing device and method for controlling the same | |
US20230281113A1 (en) | Adaptive memory metadata allocation | |
US20160217076A1 (en) | Speculative cache reading using shared buffer | |
US8108618B2 (en) | Method and apparatus for maintaining memory data integrity in an information handling system using cache coherency protocols | |
JP2023507096A (ja) | コヒーレント及び非コヒーレントメモリ要求のアービトレーションスキーム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20141224 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151221 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20160105 |
|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20160129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20160201 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160324 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20160705 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160927 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20161005 |
|
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: 20161227 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20161227 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170117 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6083714 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |