CN105488012B - 一种基于独占数据的一致性协议设计方法 - Google Patents
一种基于独占数据的一致性协议设计方法 Download PDFInfo
- Publication number
- CN105488012B CN105488012B CN201510899775.1A CN201510899775A CN105488012B CN 105488012 B CN105488012 B CN 105488012B CN 201510899775 A CN201510899775 A CN 201510899775A CN 105488012 B CN105488012 B CN 105488012B
- Authority
- CN
- China
- Prior art keywords
- data
- cache
- directory
- request
- access
- 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 abstract description 27
- 238000013461 design Methods 0.000 title claims abstract description 15
- 230000006854 communication Effects 0.000 claims abstract description 36
- 238000004891 communication Methods 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims description 4
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000004904 shortening Methods 0.000 abstract 1
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17318—Parallel communications techniques, e.g. gather, scatter, reduce, roadcast, multicast, all to all
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种基于独占数据的一致性协议设计方法,属于计算机体系结构中多核处理器数据一致性领域,本发明要解决的技术问题为如何满足日益增长的技术需求,如何改善多核处理器的并行处理能力,缩短数据访问延迟,如何快速实现多核间的数据通信和一致性处理。技术方案为:包括如下步骤:(1)核间独占数据的一致性信息以向量指针的形式保存在目录中,目录采用差分编址机制,加速访问速度;(2)核间的共享数据以数据的形式保存于额外数据缓存中,额外数据缓存根据内存地址区间被分成四组,每组只能存储对应地址空间中的数据信息,实现并行访问。
Description
技术领域
本发明涉及计算机体系结构中多核处理器数据一致性领域,具体地说是一种基于独占数据的一致性协议设计方法。
背景技术
随着高性能计算、云技术、以及大数据处理等新型技术的广泛应用,人们对多核处理器的并行处理能力和数据访问延迟的要求越来越高。因此,如何满足日益增长的技术需求,如何改善多核处理器的并行处理能力,缩短数据访问延迟,如何快速实现多核间的数据通信和一致性处理,已经成为了目前亟待解决的技术难题。
目前,传统的多核处理器多采用基于目录的一致性协议方法来记录所有的本地数据信息,所有的本地访问未命中数据都会通过目录来定位数据在系统结构中的位置,以此来实现程序的多核并行,完成多核间的数据通信和一致性处理。但是,这种方式会在核与核之间产生了大量的通信,增加了系统的通信压力,而且核间的数据访问延迟和协议复杂度较大。
发明内容
本发明的技术任务是提供一种基于独占数据的一致性协议设计方法,来解决如何满足日益增长的技术需求,如何改善多核处理器的并行处理能力,缩短数据访问延迟,如何快速实现多核间的数据通信和一致性处理的问题。
本发明解决其技术问题所采用的技术方案是:一种基于独占数据的一致性协议设计方法,包括如下步骤:
(1)核间独占数据的一致性信息以向量指针的形式保存在目录中,目录采用差分编址机制,加速访问速度;
(2)核间的共享数据以数据的形式保存于额外数据缓存中,额外数据缓存根据内存地址区间被分成四组,每组只能存储对应地址空间中的数据信息,实现并行访问;
(3)步骤(1)中的目录与其下级共享缓存同步处理同一个请求命令,在目录处理完该请求之前,下级共享缓存已经完成了对该请求的处理,并将数据存储于提前访问存储中,缩短了数据访问延迟,简化了核间协议的复杂度。
作为优选,该设计方法包括如下七个部分:
(1)处理器部分:进行数据的运算和请求发送;
(2)本地高速缓存:负责缓存本地独占数据;
(3)互联网络系统:系统的互联系统,为系统通信自适应的提供物理通道;
(4)目录系统:核间的通信提供信息储备,保存各个核中本地缓存数据的状态信息;
(5)下级共享缓存:包含所有核的本地缓存数据以及系统的预取数据;
(6)提前访问存储:负责缓存下级共享缓存处理请求命令后得到的数据;
(7)额外数据缓存:用于缓存被两个及两个以上核访问过的数据。
更优地,所述核间数据的通信为基于异地独占数据请求,本地高速缓存和额外数据缓存都发生访问请求失效,且目录请求命中,系统将读取并作废异地独占数据,更新额外数据缓存和下级共享缓存;然后,异地核对该数据的访问可以在额外数据缓存中直接取得,无需产生核间通信。
本发明的一种基于独占数据的一致性协议设计方法和现有技术相比,具有以下有益效果:
1、本发明能够明显减少核间的通信数量,通过对目录的结构优化,以及额外数据缓存(XStore)的添加,降低系统的通信压力和协议复杂度,缩短数据的访问延迟;采用本发明的设计方法,各个核间的本地缓存只能存储本地的独占数据,对于共享数据的读写不需要与异地核进行通信,大大降低了核间的通信数量,减小了数据的访问延迟;
2、本发明令目录与下级共享缓存同步处理命令请求,在目录处理完该请求之前,下级共享缓存已经完成了对该请求的处理,并将目标数据存储于提前访问存储(YStore)内,在接收到目录的确认应答后,可将其直接传递给目录,无需与异地核进行通信,与传统的目录和下级共享缓存顺序执行方式相比,缩短了数据访问延迟,简化了协议复杂度。
本发明具有设计合理、结构简单、使用方便的特点,因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种基于独占数据的一致性协议设计方法的框图;
附图2为附图1的通信情况分析框图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步说明。
如附图1所示,本发明的一种基于独占数据的一致性协议设计方法,该设计方法包括如下七个部分:
(1)处理器部分(Core1—Core4):进行数据的运算和请求发送;
(2)本地高速缓存(LocalC):负责缓存本地独占数据;
(3)互联网络系统:系统的互联系统,为系统通信自适应的提供物理通道;
(4)目录系统:核间的通信提供信息储备,保存各个核中本地缓存数据的状态信息;
(5)下级共享缓存:包含所有核的本地缓存数据以及系统的预取数据;
(6)提前访问存储(YStore):负责缓存下级共享缓存处理请求命令后得到的数据;
(7)额外数据缓存(XStore):用于缓存被两个及两个以上核访问过的数据。
其中,处理器部分负责进行数据和指令的运算和请求发送,处理器核发出的请求可以直接访问XStore和LocalC,若命中,则可以直接读写;若不命中,则访问目录和下级共享缓存。写请求在更新XStore或LocalC时,也要更新下级共享存储。
LocalC负责缓存本地独占数据,若异地核访问本地独占数据,则将其更新于XStore中,并作废该数据。此后,对该数据的访问都可以在XStore中直接取得,无需再产生核间通信。
目录系统为核间的通信提供信息储备,保存各个核中本地缓存数据的状态信息。由于协议规定了目录的指针向量中最多只可能存在1bit为1,所以指针位数只需要log2N为(N为核的数量)即可,节省了大量硬件资源。此外,为加速目录访问速度,设计将目录访问流水化,目录表被分为两个banks并进行交叉编址,以充分利用程序访问局部性原理。目录在对命令的处理过程中会向YStore发送响应,以确认是否读取其中的数据,减少数据访问延迟。
下级共享缓存内包含着所有LocalC内的数据以及系统的预取数据。设计中下级共享缓存与目录同时处理同意请求,保证其先于目录完成对请求处理,并将数据存储于YStore中,发给目录一个确认信号,等待数据从YStore中读取数据,缩短了数据访问的相对延迟。
YStore负责缓存下级共享缓存处理请求命令后得到的数据,负责加数据传给目录,以及对下级共享缓存做出更新响应。
XStore用于缓存被两个及以上核访问过的数据。设计将XStore分为4个banks,各映射1/4的内存地址空间,不同地址空间内的数据只能保存到与其相映射的bank中,以防止过多的请求堵塞XStore访问通道,实现XStore并行访问。处理器发出的请求要首先访问XStore,在其未命中时才会访问目录和下级共享缓存。
处理器请求在部件之间进行通信,完成数据的请求。请求会根据各个部件的情况进入不同的状态。根据系统处理请求的通信过程是否会产生核间通信,可以将系统的通信情核间通信和非核间通信。
如附图2所示,核间通信的发生只有一种情况,那就是基于异地独占数据请求。此时,LocalC和XStore都发生访问请求失效,且目录请求命中,系统将读取并作废异地独占数据,更新XStore和下级共享缓存。此后,异地核对该数据的访问可以在XStore中直接取得,无需产生核间通信。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (2)
1.一种基于独占数据的一致性协议设计方法,其特征在于:包括如下步骤:
(1)核间独占数据的一致性信息以向量指针的形式保存在目录中,目录采用差分编址机制,加速访问速度;
(2)核间的共享数据以数据的形式保存于额外数据缓存中,额外数据缓存根据内存地址区间被分成四组,每组只能存储对应地址空间中的数据信息,实现并行访问;
(3)步骤(1)中的目录与其下级共享缓存同步处理同一个请求命令,在目录处理完该请求之前,下级共享缓存已经完成了对该请求的处理,并将数据存储于提前访问存储中,缩短了数据访问延迟,简化了核间协议的复杂度;
该设计方法包括如下七个部分:
(1)处理器部分:进行数据的运算和请求发送;处理器核发出的请求直接访问额外数据缓存和本地高速缓存,若命中,则直接读写;若不命中,则访问目录和下级共享缓存;写请求在更新额外数据缓存或本地高速缓存时,也要更新下级共享存储;
本地高速缓存负责缓存本地独占数据,若异地核访问本地独占数据,则将其更新于额外数据缓存中,并作废该数据;此后,对该数据的访问都可以在额外数据缓存中直接取得,无需再产生核间通信;额外数据缓存用于缓存被两个及以上核访问过的数据;设计将额外数据缓存分为4个banks,各映射1/4的内存地址空间,不同地址空间内的数据只能保存到与其相映射的bank中,以防止过多的请求堵塞额外数据缓存访问通道,实现额外数据缓存并行访问;处理器发出的请求要首先访问额外数据缓存,在其未命中时才会访问目录和下级共享缓存;
处理器请求在部件之间进行通信,完成数据的请求;请求会根据各个部件的情况进入不同的状态;根据系统处理请求的通信过程是否会产生核间通信,将系统的通信分为核间通信和非核间通信;
(2)本地高速缓存:负责缓存本地独占数据;
(3)互联网络系统:系统的互联系统,为系统通信自适应的提供物理通道;
(4)目录系统:核间的通信提供信息储备,保存各个核中本地缓存数据的状态信息;为加速目录访问速度,设计将目录访问流水化,目录表被分为两个banks并进行交叉编址,以充分利用程序访问局部性原理;目录在对命令的处理过程中会向提前访问存储发送响应,以确认是否读取其中的数据,减少数据访问延迟;
(5)下级共享缓存:包含所有核的本地缓存数据以及系统的预取数据;设计中下级共享缓存与目录同时处理同意请求,保证其先于目录完成对请求处理,并将数据存储于提前访问存储中,发给目录一个确认信号,等待数据从提前访问存储中读取数据,缩短了数据访问的相对延迟;提前访问存储负责缓存下级共享缓存处理请求命令后得到的数据,负责加数据传给目录,以及对下级共享缓存做出更新响应;
(6)提前访问存储:负责缓存下级共享缓存处理请求命令后得到的数据;
(7)额外数据缓存:用于缓存被两个及两个以上核访问过的数据。
2.根据权利要求1所述的一种基于独占数据的一致性协议设计方法,其特征在于:所述核间通信为基于异地独占数据请求,本地高速缓存和额外数据缓存都发生访问请求失效,且目录请求命中,系统将读取并作废异地独占数据,更新额外数据缓存和下级共享缓存;然后,异地核对该数据的访问可以在额外数据缓存中直接取得,无需产生核间通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510899775.1A CN105488012B (zh) | 2015-12-09 | 2015-12-09 | 一种基于独占数据的一致性协议设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510899775.1A CN105488012B (zh) | 2015-12-09 | 2015-12-09 | 一种基于独占数据的一致性协议设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105488012A CN105488012A (zh) | 2016-04-13 |
CN105488012B true CN105488012B (zh) | 2021-05-18 |
Family
ID=55674996
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510899775.1A Active CN105488012B (zh) | 2015-12-09 | 2015-12-09 | 一种基于独占数据的一致性协议设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105488012B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114238171B (zh) * | 2021-12-21 | 2022-09-30 | 海光信息技术股份有限公司 | 电子设备、数据处理方法和装置、计算机系统 |
CN116049031A (zh) * | 2023-02-28 | 2023-05-02 | 海光信息技术股份有限公司 | 数据处理方法、装置、电子设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623632A (en) * | 1995-05-17 | 1997-04-22 | International Business Machines Corporation | System and method for improving multilevel cache performance in a multiprocessing system |
CN101859281A (zh) * | 2009-04-13 | 2010-10-13 | 廖鑫 | 基于集中式目录的嵌入式多核缓存一致性方法 |
CN101958834A (zh) * | 2010-09-27 | 2011-01-26 | 清华大学 | 支持高速缓存一致的片上网络系统及数据请求方法 |
CN102819420A (zh) * | 2012-07-31 | 2012-12-12 | 中国人民解放军国防科学技术大学 | 基于命令取消的高速缓存流水线锁步并发执行方法 |
CN103440223A (zh) * | 2013-08-29 | 2013-12-11 | 西安电子科技大学 | 一种实现高速缓存一致性协议的分层系统及其方法 |
CN104360981A (zh) * | 2014-11-12 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 面向多核多处理器平台的Cache一致性协议的设计方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101510191B (zh) * | 2009-03-26 | 2010-10-06 | 浙江大学 | 具备缓存窗口的多核体系架构的实现方法 |
-
2015
- 2015-12-09 CN CN201510899775.1A patent/CN105488012B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5623632A (en) * | 1995-05-17 | 1997-04-22 | International Business Machines Corporation | System and method for improving multilevel cache performance in a multiprocessing system |
CN101859281A (zh) * | 2009-04-13 | 2010-10-13 | 廖鑫 | 基于集中式目录的嵌入式多核缓存一致性方法 |
CN101958834A (zh) * | 2010-09-27 | 2011-01-26 | 清华大学 | 支持高速缓存一致的片上网络系统及数据请求方法 |
CN102819420A (zh) * | 2012-07-31 | 2012-12-12 | 中国人民解放军国防科学技术大学 | 基于命令取消的高速缓存流水线锁步并发执行方法 |
CN103440223A (zh) * | 2013-08-29 | 2013-12-11 | 西安电子科技大学 | 一种实现高速缓存一致性协议的分层系统及其方法 |
CN104360981A (zh) * | 2014-11-12 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 面向多核多处理器平台的Cache一致性协议的设计方法 |
Non-Patent Citations (2)
Title |
---|
多核处理器目录缓存结构设计;王恩东等;《计算机研究与发展》;20150615;第52卷(第6期);第1242-1252页 * |
目录协议的研究与优化;常大龙等;《第十七届计算机工程与工艺年会暨第三届微处理器技术论坛论文集(下册)》;20130720;第44-48页 * |
Also Published As
Publication number | Publication date |
---|---|
CN105488012A (zh) | 2016-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2476051B1 (en) | Systems and methods for processing memory requests | |
US9665486B2 (en) | Hierarchical cache structure and handling thereof | |
US10230542B2 (en) | Interconnected ring network in a multi-processor system | |
US7814279B2 (en) | Low-cost cache coherency for accelerators | |
CN109240945B (zh) | 一种数据处理方法及处理器 | |
US20120102273A1 (en) | Memory agent to access memory blade as part of the cache coherency domain | |
US9563568B2 (en) | Hierarchical cache structure and handling thereof | |
JP7443344B2 (ja) | 外部メモリベースのトランスレーションルックアサイドバッファ | |
US9208088B2 (en) | Shared virtual memory management apparatus for providing cache-coherence | |
WO2024066195A1 (zh) | 缓存管理方法及装置、缓存装置、电子装置和介质 | |
KR20230028145A (ko) | 상호 연결된 장치들 간의 데이터 전송을 위한 시스템, 방법 및 장치 | |
CN105488012B (zh) | 一种基于独占数据的一致性协议设计方法 | |
JP6343722B2 (ja) | マルチコアシステムにおいてデータ訪問者ディレクトリにアクセスするための方法及びデバイス | |
WO2021143154A1 (zh) | 一种缓存管理方法及装置 | |
US10754791B2 (en) | Software translation prefetch instructions | |
CN110737407A (zh) | 一种支持混合写策略的数据缓冲存储器实现方法 | |
KR101155127B1 (ko) | 멀티코어 시스템의 메모리 관리 장치 및 방법 | |
US10216640B2 (en) | Opportunistic cache injection of data into lower latency levels of the cache hierarchy | |
US20240211402A1 (en) | Condensed Coherence Directory Entries for Processing-in-Memory | |
CN114218132B (zh) | 信息预取方法、处理器、电子设备 | |
CN113435153B (zh) | 一种gpu缓存子系统互联的数字电路设计方法 | |
US9983995B2 (en) | Delayed write through cache (DWTC) and method for operating the DWTC | |
CN116049031A (zh) | 数据处理方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |