CN102880584B - 一种多核处理器cas/swap原子操作实现方法 - Google Patents

一种多核处理器cas/swap原子操作实现方法 Download PDF

Info

Publication number
CN102880584B
CN102880584B CN201210322804.4A CN201210322804A CN102880584B CN 102880584 B CN102880584 B CN 102880584B CN 201210322804 A CN201210322804 A CN 201210322804A CN 102880584 B CN102880584 B CN 102880584B
Authority
CN
China
Prior art keywords
llpc
cache
dcu
request
atomic
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
Application number
CN201210322804.4A
Other languages
English (en)
Other versions
CN102880584A (zh
Inventor
邓让钰
衣晓飞
李永进
周宏伟
晏小波
张英
窦强
曾坤
谢伦国
马卓
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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN201210322804.4A priority Critical patent/CN102880584B/zh
Publication of CN102880584A publication Critical patent/CN102880584A/zh
Application granted granted Critical
Publication of CN102880584B publication Critical patent/CN102880584B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种多核处理器CAS/SWAP原子操作实现方法,其步骤为:(1)最外层私有CacheLLPC接收到对称处理核SPC的CAS/SWAP原子操作请求;(2)目录控制器DCU处理最外层私有CacheLLPC与原子请求操作相关的请求;(3)最外层私有CacheLLPC收到目录控制器DCU的更新监听请求后,用监听报文中的数据更新Cache块数据,向源目录控制器DCU发送更新完成应答;(4)目录控制器DCU收到最外层私有CacheLLPC的更新完成应答后,产生完成响应给源请求LLPC;(5)最外层私有CacheLLPC收到目录控制器DCU的响应后进行处理;(6)目录控制器DCU处理LLPCAtomicUpdateCmplRspACK。本发明能够避免产生活锁、减少原子操作的通信量、提高多核处理器原子操作可扩展性。

Description

一种多核处理器CAS/SWAP原子操作实现方法
技术领域
本发明主要涉及到多核处理器体系结构的设计领域,特指一种适用于多核处理器。
背景技术
多核微处理器为具有较强继承性的同构集成,即集成少数几个成熟的、结构相同的通用处理器核心。例如:IBM Power7集成了8个处理器核心;Intel在2010年推出的Nehalem处理器集成了8个处理器核心;Intel Tukwila处理器则采用4核结构;AMD Opteron Magny-Cours微处理器集成了12个处理器核心。
这些处理器芯片上均集成了多级Cache和存储控制器,见下表1所示。
表1 
Core Architecture Intel Tukwila AMD Magny-cours IBM POWER7 Intel Xeon Nehalem-EX
Core 4 12 8 8
L1DCache/core 32KB 64KB 32KB 32KB
L2Cache/core 256KB 512KB 256KB 256KB
L3Cache 24MB 12MB 32MB 24MB
如图1所示,上述结构中的存储层次有一个共同特点,即每个核都有自己的多级私有Cache,然后通过片上互联网络访问共享的最外层Cache(Last Level Cache,LLCache)或者存储控制器(Memory Controller, MC)。多个私有Cache是通过Cache一致性协议来实现数据一致性操作。例如,AMD Magny-cores处理器是采用基于广播的Cache一致性作废协议,IBM和Intel的处理器则是采用基于目录的Cache一致性作废协议。
“软件同步”是多核处理器任务并行处理过程中的重要手段,它主要分为两个阶段:第一阶段加锁(lock),然后进入临界区;第二阶段释放锁(unlock),基本形式为:
Lock(a);                        //加锁          
Critical_Section;              //进入临界区
Unlock(a);                     //解锁
“软件同步”还可以使用原子操作实现加锁,例如:使用CAS原子操作可实现如下:
while (a==CAS(addr,a,1));  // 查看CAS是否数据交换成功
critical_section;                // 进入临界区           
store(addr,0);                   // 解锁
CAS(addr,a,b)比较addr存储单元的数据和数据a,如果相等,则将数据b写入addr地址存储单元中,无论是否相等,都需要将addr未交换前的数据返回给处理器核。
上述“软件同步”过程也可以使用SWAP原子操作实现。即,SWAP(addr,a)将数据a写入addr地址对应的存储单元中,同时将addr未更新前的数据返回给处理器核。
在传统的Cache一致性作废协议中,CAS/SWAP原子操作在私有Cache中完成,其完成条件是必须获得数据副本的所有权。多个核竞争锁时,参与竞争的每个私有Cache都试图作废其它Cache中的副本,以获得所有权。当参与竞争的私有Cache数量比较多时,将出现如下几种情况:
(1)大量无效竞争:在传统的Cache一致性作废协议中,CAS/SWAP原子操作只有在获得数据副本的所有权后,才能进行数据交换。由于每次最多只有一个能够获得所有权,其余的竞争都属无效竞争;
(2)已经加锁的一方,没有释放锁的机会:释放锁(unlock)操作在修改锁变量前,需要获得锁变量的所有权,因此试图释放锁的Cache需要与其它试图上锁的Cache进行竞争。由于网络延迟差异,访问延迟不对等,试图释放锁的Cache竞争到锁变量的所有权的机会较小,很容易导致活锁。
由此可见,以上基于Cache一致性作废协议的CAS/SWAP原子操作实现方式将产生大量的网络通信报文,造成网络压力很大,而且容易导致“活锁”,成为影响到多核处理器可扩展性的重要因素。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种能够避免产生活锁、减少原子操作的通信量、提高多核处理器原子操作可扩展性的多核处理器CAS/SWAP原子操作实现方法。
为解决上述技术问题,本发明采用以下技术方案:
一种多核处理器CAS/SWAP原子操作实现方法,其步骤为:
(1)最外层私有Cache LLPC接收到对称处理核SPC的CAS/SWAP原子操作请求后:
若Cache命中,且原子操作满足数据交换条件,向目录控制器DCU发送LLPC Atomic Update Request请求,该请求中携带交换的数据,置Cache块状态为锁定态A;所述Cache块处于锁定态A时,表示该Cache块被占用或处于中间状态,不能被替换;
若Cache失效,则向目录控制器DCU发送LLPC Atomic Read Shared Request请求,需要分配Cache块,且置Cache块为锁定态A;
(2)目录控制器DCU处理最外层私有Cache LLPC与原子请求操作相关的请求:
如果目录控制器DCU对应位向量处于忙状态,则根据请求类型LLPC Atomic Read Shared Request和LLPC Atomic Update Request分别返回DCU Atomic Read Shared NRSP和DCU Atomic Update NRSP响应给源请求LLPC;
若目录控制器DCU对应位向量处于不忙状态,且请求是LLPC Atomic Read Shared Request,目录控制器DCU从LLPC数据副本和memory数据副本中选取最新副本,向请求源返回DCU Atomic Read Shared RSP响应,并置对应位向量;
若目录控制器DCU对应位向量处于不忙状态,且请求是LLPC Atomic Update Request,目录控制器DCU向各个LLPC副本发送DCU Atomic Update Snp监听请求,同时还需要更新Memory副本;
(3)最外层私有Cache LLPC收到目录控制器DCU的更新监听请求后:
最外层私有Cache LLPC收到目录控制器DCU的DCU Atomic Update Snp监听请求后,用监听报文中的数据更新Cache块数据,然后向源目录控制器DCU发送LLPC Atomic Update Snp Ack更新完成应答;
(4)目录控制器DCU收到最外层私有Cache LLPC的更新完成应答后:
等待所有副本的LLPC的LLPC Atomic Update Snp Ack更新完成应答;所有副本的更新完成时,产生完成DCU A tomic Update Cmpl Rsp响应给源请求LLPC;
(5)最外层私有Cache LLPC收到目录控制器DCU的响应后:
若最外层私有Cache LLPC接收到目录控制器DCU产生的DCU Atomic Read Shared NRSP和DCU Atomic Update NRSP响应,重发原请求;
若最外层私有Cache LLPC接收到目录控制器DCU产生的DCU Atomic Read Shared RSP响应,重新处理CAS/SWAP原子操作请求;
若最外层私有Cache LLPC接收到目录控制器DCU产生的DCU Atomic Update Cmpl Rsp响应,完成数据交换操作,置Cache块状态为共享态S,并向目录控制器DCU发送LLPC Atomic Update Cmpl Rsp ACK;所述Cache块处于共享态S时,表示该Cache数据有多个副本;
(6)目录控制器DCU处理LLPC Atomic Update Cmpl Rsp ACK:
目录控制器DCU接收到LLPC Atomic Update Cmpl Rsp ACK后,清空对应位向量的状态位。
作为本发明的进一步改进:
所述目录控制器DCU记录加载到最外层私有Cache LLPC中的所有Cache块的情况;每个进入最外层私有Cache LLPC的数据副本对应一个位向量,该位向量中的每一位对应数据块的一个或多个LLPC副本。
所述多核处理器的结构包括多个对称处理核SPC、每个对称处理核SPC上均有的最外层私有Cache LLPC、目录控制器DCU以及网络NOC,所述对称处理核SPC用于发送CAS/SWAP原子操作请求到最外层私有Cache LLPC,最外层私有Cache LLPC和目录控制器DCU将会协同完成Cache一致性协议;所述最外层私有Cache LLPC负责加载数据并处理原子操作请求,所述目录控制器DCU负责记录加载到各个最外层私有Cache LLPC的所有Cache块的信息,并控制对LLC/memory的访问;所述网络NOC负责最外层私有Cache LLPC和目录控制器DCU之间的通信。
与现有技术相比,本发明的优点在于:本发明的多核处理器CAS/SWAP原子操作实现方法,原理简单、操作简便,在基于目录的Cache一致性作废协议中,利用目录信息来实现;在使用本发明的方法加锁时,没有锁变量竞争过程,加锁方在解锁时也不需要通过竞争来获得锁的所有权,避免了产生活锁,减少原子操作的通信量,从而提高了多核处理器原子操作的可扩展性。
附图说明
图1是现有多核处理器的基本结构示意图。
图2是本发明在具体应用实例中多核处理器的构成示意图。
图3是本发明在具体应用实例中一个N位位向量的示意图。
图4是在具体应用实例中当目录控制器DCU的位向量B位为1时,接收到LLPC Atomic Update Request请求时的响应示意图。
图5是在具体应用实例中当目录控制器DCU的位向量B位为1时,接收到LLPC Atomic Read Shared Request请求时的响应示意图。
图6是在具体应用实例中当目录控制器DCU的位向量B位为0时,接收到LLPC Atomic Read Shared Request请求、有其它LLPC数据副本时的响应示意图。
 图7是在具体应用实例中当目录控制器DCU的位向量B位为0时,接收到LLPC Atomic Read Shared Request请求、没有其它LLPC数据副本时的响应示意图。
 图8是在具体应用实例中当目录控制器DCU的位向量B位为1时,接收到LLPC Atomic Update Request请求时的响应示意图。
图9是在具体应用实例中当目录控制器DCU的位向量B位为1时,接收到LLPC Atomic Update Request请求时的响应示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
如图2所示,以基于目录Cache一致性作废协议的多核处理器为例,该多核处理器的结构中,包括多个对称处理核SPC(Symmetric Process Core)、每个对称处理核SPC上均有的最外层私有Cache LLPC(Last Level Private Cache)、目录控制器DCU(Directory Controller Unit)以及网络NOC(Network on chip)。对称处理核SPC发送CAS/SWAP原子操作请求到最外层私有Cache LLPC,最外层私有Cache LLPC和目录控制器DCU将会协同完成Cache一致性协议。其中,最外层私有Cache LLPC负责加载数据并处理原子操作请求;目录控制器DCU负责记录加载到各个最外层私有Cache LLPC的所有Cache块的信息,并控制对LLC/memory的访问;网络NOC负责最外层私有Cache LLPC和目录控制器DCU之间的通信。当LLC/Memory的数据不是旧副本时,可向LLPC提供数据。
最外层私有Cache LLPC中除存储加载的Cache块数据外,还需记录Cache块的状态。最外层私有Cache LLPC中每个Cache块的状态至少包括:无效态I(Invalid)、锁定态A(Alloc)、共享态S(Shared)和修改态。为了追求更高性能,还可以将修改态进一步分解成独占态E和修改态M。
一般地,Cache块处于无效态I时,表示该Cache块无效;Cache块处于锁定态A时,表示该Cache块被占用或处于中间状态,不能被替换;Cache块处于共享态S时,表示该Cache数据有多个副本;除CAS/SWAP原子操作外,最外层私有Cache LLPC只能直接修改处于独占态E和修改态M的Cache块。如果要更新状态不是处于独占态E和修改态M的Cache块,就需进行必要的状态调整,直到状态转换成独占态E和修改态M。对于CAS/SWAP原子操作,数据交换完成后,Cache块状态需调整成共享态S。
目录控制器DCU是目录和存储控制器。为了能够较好跟踪数据副本的轨迹,目录控制器DCU需要记录加载到最外层私有Cache LLPC中的所有Cache块的情况。一般地,每个进入最外层私有Cache LLPC的数据副本对应一个位向量,该位向量中的每一位对应数据块的一个或多个LLPC副本。例如,参见图3为一个记录n个副本的位向量(一位对应一个副本),B表示该位向量忙,不能处理新请求。
本发明的多核处理器CAS/SWAP原子操作实现方法主要包括以下步骤:
(1)最外层私有Cache LLPC接收到对称处理核SPC的CAS/SWAP原子操作请求后:
若Cache命中,且原子操作满足数据交换条件,向目录控制器DCU发送LLPC Atomic Update Request请求,该请求中携带交换的数据,置Cache块状态为锁定态A。
若Cache失效,则向目录控制器DCU发送LLPC Atomic Read Shared Request请求,需要分配Cache块,且置Cache块为锁定态A。
(2)目录控制器DCU处理最外层私有Cache LLPC与原子请求操作相关的请求:
如果目录控制器DCU对应位向量处于忙状态(即:B=1),则根据请求类型LLPC Atomic Read Shared Request和LLPC Atomic Update Request分别返回DCU Atomic Read Shared NRSP和DCU Atomic Update NRSP响应给源LLPC。即:参见图4,当目录控制器DCU的位向量B位为1时,接收到LLPC Atomic Update Request请求时,它产生DCU Atomic Update NRSP响应给LLPC。参见图5,当目录控制器DCU的位向量B位为1时,接收到LLPC Atomic Read Shared Request请求时,它产生DCU Atomic Read Shared NRSP响应给LLPC。
若目录控制器DCU对应位向量处于不忙状态(即:B=0),且请求是LLPC Atomic Read Shared Request,目录控制器DCU从LLPC数据副本和memory数据副本中选取最新副本,向请求源返回DCU Atomic Read Shared RSP响应,并置对应位向量。
若目录控制器DCU对应位向量处于不忙状态(即:B=0),且请求是LLPC Atomic Update Request,目录控制器DCU向各个LLPC副本发送DCU Atomic Update Snp监听请求,同时还需要更新Memory副本。
(3)最外层私有Cache LLPC收到目录控制器DCU的更新监听请求:
最外层私有Cache LLPC收到目录控制器DCU的DCU Atomic Update Snp监听请求后,用监听报文中的数据更新Cache块数据,然后向源目录控制器DCU发送LLPC Atomic Update Snp Ack更新完成应答。
(4)目录控制器DCU收到最外层私有Cache LLPC的更新完成应答:
等待所有副本的LLPC Atomic Update Snp Ack更新完成应答。所有副本的更新完成时,产生完成DCU Atomic Update Cmpl Rsp响应给源请求LLPC。
(5)最外层私有Cache LLPC收到目录控制器DCU的响应:
若最外层私有Cache LLPC接收到目录控制器DCU产生的DCU Atomic Read Shared NRSP和DCU Atomic Update NRSP响应,重发原请求。
若最外层私有Cache LLPC接收到目录控制器DCU产生的DCU Atomic Read Shared RSP响应,重新处理CAS/SWAP原子操作请求。
若最外层私有Cache LLPC接收到目录控制器DCU产生的DCU Atomic Update Cmpl Rsp响应,完成数据交换操作,置Cache块状态为共享态S,并向DCU发送LLPC Atomic Update Cmpl Rsp ACK。
(6)目录控制器DCU处理LLPC Atomic Update Cmpl Rsp ACK:
目录控制器DCU接收到LLPC Atomic Update Cmpl Rsp ACK后,清空对应位向量的B位。
在具体应用实例中,参见图6,当目录控制器DCU的位向量B位为0时,接收到LLPC Atomic Read Shared Request请求,由于有其它LLPC数据副本,它向LLPC副本发送DCU Read Shared Snp监听请求,等待LLPC数据副本返回LLPC Read Shared Snp ACK报文,然后产生DCU Atomic Read Shared RSP响应给源LLPC。
参见图7,当目录控制器DCU的位向量B位为0时,接收到LLPC Atomic Read Shared Request请求,由于没有其它LLPC数据副本,它向LLC/Memory发送Memory Read(读存储器)请求,数据返回后产生DCU Atomic Read Shared RSP响应给源LLPC。
参见图8,当目录控制器DCU的位向量B位为1时,接收到LLPC Atomic Update Request请求,目录控制器DCU向拥有副本的LLPC发送DCU Atomic Update Snp监听,监听完后(接收到LLPC Atomic Update Snp Ack),向LLPC请求源产生DCU Atomic Update Cmpl Rsp响应。LLPC接收响应后,交换数据,置Cache块状态为修改态M,然后产生LLPC Atomic Update Cmpl Rsp ACK应答给目录控制器DCU,清空目录控制器DCU的目录忙标识B。
参见图9,当目录控制器DCU的位向量B位为1时,接收到LLPC Atomic Update Request请求,由于没有其它LLPC拥有该地址的数据副本,就向LLC/Memory发送Memory Write(写存储器)请求,更新LLC/memory数据副本,并向LLPC请求源产生DCU Atomic Update Cmpl Rsp响应。源LLPC接收响应后,交换数据,置Cache块状态为修改态M,然后产生LLPC Atomic Update Cmpl Rsp ACK应答给目录控制器DCU,清空目录控制器DCU的目录忙标识B。
由上可知,本发明利用目录信息,有针对性地把锁变量的修改直接更新到各个Cache副本,而不需要通过竞争,获得所有权,从而避免了锁变量在多个私有Cache中来回迁移,确保试图释放锁的Cache很容易获得锁的所有权,以释放锁。
例如,当多个核进行同步操作、每个核执行lock时,将锁变量加载到私有Cache LLPC中,加载过程不需要所有权,因此不存在竞争。第一个完成数据加载的私有Cache LLPC执行原子操作时(如Cache0,Core0的私有Cache),如果满足数据交换条件,要更新其它私有Cache副本,然后进入临界区。这样,其它核不断访问私有Cache副本,私有Cache命中,但不满足数据交换条件,因此不产生网络报文。当Core0执行Unlock(a)时,由于Cache0中已经有锁变量的数据副本,Cache0作废其它Cache副本以获得所有权(这个过程没有竞争,因为只有进入了临界段的私有Cache会发送作废请求),然后释放锁。Core0释放锁后,其余Core继续进行同步操作。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

Claims (3)

1.一种多核处理器CAS/SWAP原子操作实现方法,其特征在于,步骤为:
(1)最外层私有Cache LLPC接收到对称处理核SPC的CAS/SWAP原子操作请求后:
若Cache命中,且原子操作满足数据交换条件,向目录控制器DCU发送LLPC Atomic Update Request最外层私有Cache原子更新请求,该请求中携带交换的数据,置Cache块状态为锁定态A;所述Cache块处于锁定态A时,表示该Cache块被占用或处于中间状态,不能被替换;
若Cache失效,则向目录控制器DCU发送LLPC Atomic Read Shared Request最外层私有Cache原子读写请求,需要分配Cache块,且置Cache块为锁定态A;
(2)目录控制器DCU处理最外层私有Cache LLPC与原子请求操作相关的请求:
如果目录控制器DCU对应位向量处于忙状态,则根据请求类型LLPC Atomic Read Shared Request最外层私有Cache原子读写请求和LLPC Atomic Update Request最外层私有Cache原子更新请求分别返回DCU Atomic Read Shared NRSP和DCU Atomic Update NRSP响应给源请求LLPC;
若目录控制器DCU对应位向量处于不忙状态,且请求是LLPC Atomic Read Shared Request最外层私有Cache原子读写请求,目录控制器DCU从LLPC数据副本和memory数据副本中选取最新副本,向请求源返回DCU Atomic Read Shared RSP响应,并置对应位向量;
若目录控制器DCU对应位向量处于不忙状态,且请求是LLPC Atomic Update Request最外层私有Cache原子更新请求,目录控制器DCU向各个LLPC副本发送DCU Atomic Update Snp目录控制器原子更新监听请求,同时还需要更新Memory副本;
(3)最外层私有Cache LLPC收到目录控制器DCU的更新监听请求后:
最外层私有Cache LLPC收到目录控制器DCU的DCU Atomic Update Snp目录控制器原子更新监听请求后,用监听报文中的数据更新Cache块数据,然后向源目录控制器DCU发送LLPC Atomic Update Snp Ack最外层私有Cache原子更新确认应答;
(4)目录控制器DCU收到最外层私有Cache LLPC的更新完成应答后:
等待所有副本的LLPC的LLPC Atomic Update Snp Ack最外层私有Cache原子更新更新完成应答;所有副本的更新完成时,产生完成DCU Atomic Update Cmpl Rsp响应给源请求LLPC;
(5)最外层私有Cache LLPC收到目录控制器DCU的响应后:
若最外层私有Cache LLPC接收到目录控制器DCU产生的DCU Atomic Read Shared NRSP和DCU Atomic Update NRSP响应,重发原请求;
若最外层私有Cache LLPC接收到目录控制器DCU产生的DCU Atomic Read Shared RSP响应,重新处理CAS/SWAP原子操作请求;
若最外层私有Cache LLPC接收到目录控制器DCU产生的DCU Atomic Update Cmpl Rsp响应,完成数据交换操作,置Cache块状态为共享态S,并向目录控制器DCU发送LLPC Atomic Update Cmpl Rsp ACK;所述Cache块处于共享态S时,表示该Cache数据有多个副本;
(6)目录控制器DCU处理LLPC Atomic Update Cmpl Rsp ACK:
目录控制器DCU接收到LLPC Atomic Update Cmpl Rsp ACK后,清空对应位向量的状态位。
2.根据权利要求1所述的多核处理器CAS/SWAP原子操作实现方法,其特征在于,所述目录控制器DCU记录加载到最外层私有Cache LLPC中的所有Cache块的情况;每个进入最外层私有Cache LLPC的数据副本对应一个位向量,该位向量中的每一位对应数据块的一个或多个LLPC副本。
3.根据权利要求1或2所述的多核处理器CAS/SWAP原子操作实现方法,其特征在于,所述多核处理器的结构包括多个对称处理核SPC、每个对称处理核SPC上均有的最外层私有Cache LLPC、目录控制器DCU以及网络NOC,所述对称处理核SPC用于发送CAS/SWAP原子操作请求到最外层私有Cache LLPC,最外层私有Cache LLPC和目录控制器DCU将会协同完成Cache一致性协议;所述最外层私有Cache LLPC负责加载数据并处理原子操作请求,所述目录控制器DCU负责记录加载到各个最外层私有Cache LLPC的所有Cache块的信息,并控制对LLC/memory的访问;所述网络NOC负责最外层私有Cache LLPC和目录控制器DCU之间的通信。
CN201210322804.4A 2012-09-04 2012-09-04 一种多核处理器cas/swap原子操作实现方法 Active CN102880584B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210322804.4A CN102880584B (zh) 2012-09-04 2012-09-04 一种多核处理器cas/swap原子操作实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210322804.4A CN102880584B (zh) 2012-09-04 2012-09-04 一种多核处理器cas/swap原子操作实现方法

Publications (2)

Publication Number Publication Date
CN102880584A CN102880584A (zh) 2013-01-16
CN102880584B true CN102880584B (zh) 2015-02-25

Family

ID=47481914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210322804.4A Active CN102880584B (zh) 2012-09-04 2012-09-04 一种多核处理器cas/swap原子操作实现方法

Country Status (1)

Country Link
CN (1) CN102880584B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116962259B (zh) * 2023-09-21 2024-02-13 中电科申泰信息科技有限公司 一种基于监听-目录两层协议的一致性处理方法及系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101266561A (zh) * 2008-04-29 2008-09-17 中兴通讯股份有限公司 一种在多核多线程处理器中的核间消息通信方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101266561A (zh) * 2008-04-29 2008-09-17 中兴通讯股份有限公司 一种在多核多线程处理器中的核间消息通信方法

Also Published As

Publication number Publication date
CN102880584A (zh) 2013-01-16

Similar Documents

Publication Publication Date Title
CN103744799B (zh) 一种内存数据访问方法、装置和系统
Karlin et al. Competitive snoopy caching
KR100641988B1 (ko) 비대칭형 단일 칩 이종 멀티프로세서 컴퓨터 시스템, 공유 메모리의 직접 메모리 액세스를 아토믹 업데이트하는 방법, 및 아토믹 업데이트 장치
CN103150220B (zh) 进程间的通信方法和通信系统
CN106575238B (zh) 支持页面隐式锁的共享存储架构中的并发控制
US7581068B2 (en) Exclusive ownership snoop filter
US6625698B2 (en) Method and apparatus for controlling memory storage locks based on cache line ownership
JP5116418B2 (ja) マルチプロセッサ・データ処理システムにおいて、データを処理する方法、マルチプロセッサ・データ処理システムのための処理ユニット、およびデータ処理システム
US7584329B2 (en) Data processing system and method for efficient communication utilizing an Ig coherency state
US20060179248A1 (en) Data processing system and method for efficient storage of metadata in a system memory
US7480772B2 (en) Data processing system and method for efficient communication utilizing an Tn and Ten coherency states
CN107577678A (zh) 处理数据库事务的方法、客户端和服务器
WO2002027497A2 (en) Method and apparatus for scalable disambiguated coherence in shared storage hierarchies
CN105718242B (zh) 多核dsp中支持软硬件数据一致性的处理方法及系统
US9208088B2 (en) Shared virtual memory management apparatus for providing cache-coherence
JP2004531005A (ja) データベースへのアクセスを制御するための異なったデータベースサーバ間のデータベースのオーナーシップのパーティション化
US7774555B2 (en) Data processing system and method for efficient coherency communication utilizing coherency domain indicators
WO2024032632A1 (zh) 一种事务的处理方法、设备及存储介质
CN102880584B (zh) 一种多核处理器cas/swap原子操作实现方法
CN104937576B (zh) 协调存储在基于非易失性存储器的系统中的数据的复制
CN1829974B (zh) 借助于非失败节点的并行恢复
US7366844B2 (en) Data processing system and method for handling castout collisions
CN104636260B (zh) 一种用于计费业务的数据管理方法及系统
CN105354153B (zh) 一种紧耦合异构多处理器数据交换缓存的实现方法
CN101339527A (zh) 影子内存的备份方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant