CN102110019A - 一种基于众核处理器和分区结构的事务存储方法 - Google Patents
一种基于众核处理器和分区结构的事务存储方法 Download PDFInfo
- Publication number
- CN102110019A CN102110019A CN 201010617535 CN201010617535A CN102110019A CN 102110019 A CN102110019 A CN 102110019A CN 201010617535 CN201010617535 CN 201010617535 CN 201010617535 A CN201010617535 A CN 201010617535A CN 102110019 A CN102110019 A CN 102110019A
- Authority
- CN
- China
- Prior art keywords
- affairs
- processor
- data
- buffer zone
- subregion
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于众核处理器和分区结构的事务存储方法,该方法中众核处理器采用瓦片化结构,每个节点为瓦片Tile{TL1,TL2,TL3}中的一种,所有瓦片通过片上网络互连到一起,每种瓦片的数量可根据应用需要调整。线程执行事务时不再使用L2cache,片上路由将处理器事务读写请求路由至事务缓冲区存储,由分区策略为该事务线程划分一部分可用区域,对事务的读写操作记录在事务缓冲区中,并根据事务读写集合的增长动态扩充分区大小。本发明的事务存储方法解决了硬件型事务存储系统中资源浪费、缓冲区利用率低的问题,解决了事务缓冲区不支持线程切换和迁移的问题,一定程度上缓解了事务缓冲区溢出问题。
Description
技术领域
本发明涉及一种属于计算机系统结构中的多线程并行编程模型,特别涉及一种基于众核处理器和分区结构的硬件型事务存储方法。
背景技术
随着处理器的迅速发展,多核处理器成为当今处理器发展的主流,即便是对性能要求较低的桌面型应用也已经进入了多核时代。业界已经推出了几款众核处理器,计算核的数目进一步增加。在处理器已经提供了充裕的硬件并行能力的情况下硬件系统对上层软件提出了更高的要求,即软件能够有效利用处理器所提供的并行处理能力。目前,多线程编程中关键的共享资源同步技术仍然在锁机制的基础上实现,如信号量、互斥量等。然而基于锁的同步机制存在着死锁、优先权倒置、编程困难的缺点,这使得面向众核的并行程序的编写难度和调试复杂性相对于串行程序都要高很多。
事务存储(Transactional Memory,TM)模型借鉴了数据库中“事务”的概念,提供了一种在CMP(Chip multiprocessors,片上多处理)/SMP(Symmetrical Multi-Processing,对称多处理)结构上程序并行执行和同步的方法,将程序中的有限机器指令序列作为一个事务,在系统结构层面保证事务执行的原子性,并提供相应的操作原语,如提交、放弃,以及配套的回滚操作。它能够解决锁机制带来的种种问题,极大地提高了多线程编程的正确性和效率,使得程序员可以集中精力于多核程序的设计。由于采用硬件机制能够带来速度和效率的优势,目前已有大量的研究工作致力于多核环境的硬件型事务存储模型(Hardware Transactional Memory,HTM)的研究。
现有的硬件事务存储结构是基于多核处理器结构,在处理器核内增加支持事务执行的硬件部件,处理器核的其他部分与传统处理器保持一致。然而这种结构扩展到众核结构时将面临资源浪费、缓冲区利用率低的问题和缓冲区溢出的问题,因此,针对众核处理器环境,设计一种有效的事务存储结构是有十分重要的。
发明内容
本发明的目的是提供一种基于众核处理器和分区结构的事务存储方法,该方法将事务缓冲区同二级共享高速缓存一样组织成一定数量的单元,由处理器芯片上所有处理核共享使用,为每个执行事务的线程在事务缓冲区中划分一部分连续可用空间,并可以根据事务读写集合的大小在一定范围内动态调整空间大小,解决了硬件型事务存储系统中资源浪费、缓冲区利用率低的问题,解决了事务缓冲区不支持线程切换和迁移的问题,一定程度上缓解了事务缓冲区溢出问题。
本发明的一种基于众核处理器和分区结构的事务存储方法,该方法是通过构建系统结构、定制分区机制和事务执行模式三部分实现,具体有下列步骤:
步骤一:构建系统结构
建模步骤1-1,众核处理器采用瓦片化结构,每个节点为瓦片Tile{TL1,TL2,TL3}中的一种,所有瓦片通过片上网络互连到一起,每种瓦片的数量可根据应用需要调整;其中L2cache瓦片TL2与事务缓冲区瓦片TL3供所有处理器核共享使用,处理器核内还存在支持事务执行的其他硬件如事务状态寄存器、检查点寄存器等;
建模步骤1-2,新增事务缓冲区,其结构与L2cache类似,数据的存储以行为单位,但同时保持事务数据的新旧版本,读写集合由新增的R/W位表示,事务缓冲区采用数据表项进行事务缓存;
建模步骤1-3,执行事务的处理器节点不使用L2cache,而由事务缓冲区代替L2cache缓存事务数据;
建模步骤1-4,L1cache通过Write-through方法,修改的事务数据直接更新到事务缓冲区中;
步骤二:定制分区机制
分区步骤2-1,对事务缓冲区的分配以分区单元(partition unit,PU)为单位,PU在事务缓冲区中对应连续的多行,其大小为事务缓冲区容量/处理器核数,一个分区可以包含一个或多个连续的PU,初始分配时每个分区含一个PU;
分区步骤2-2,每个事务线程分配一个分区,分区的大小根据事务读写集合的增长动态调整,事务线程首次执行事务时创建分区,事务线程终止时回收分区;
分区步骤2-3,对分区的管理需要硬件记录分区与事务线程的关联关系,如每个事务线程的分区在事务缓冲区中的起始位置和空间大小,以便于事务提交或回滚时的访问操作;
分区步骤2-4,当事务读写集合过大导致分区不够使用时,如果从该分区末尾起存在连续的PU大小的空间,那么可分配给该事务线程,否则,事务采取基于事务提交锁的部分提交进行处理;
步骤三:事务执行模式
执行步骤3-1,处理器执行事务前访问的数据可能会在事务代码中再次访问到,因此事务开始前先将各级高速缓存中的数据依次写回下一级存储器中,即L1cache中数据写回L2cache,L2cache中数据写回主存,然后置L1cache中各行无效,此后,处理器的访存开始使用事务缓冲区;
执行步骤3-2,事务在执行过程中,由L1cache和事务缓冲区缓存事务预测执行的数据,读缺失或写缺失的内存块依次加载到事务缓冲区和L1cache中,事务缓冲区中的数据保存为old版本,对L1cache更改过的行直接更新到事务缓冲区中,对事务数据的所有读写操作,在事务缓冲区中记录相应的R/W位,事务修改的数据还要在事务缓冲区new版本中写入新值;
执行步骤3-3,事务提交时将事务缓冲区中本分区内的新值写入主存;
执行步骤3-4,事务因冲突而需要回滚时,清除事务缓冲区中的R/W标志位,同时将各行数据从old拷到new中,置L1cache中各行无效;
执行步骤3-5,采用事务冲突检测策略来检测事务执行过程中与其他节点是否存在的冲突;所述的事务冲突检测策略:
(a)第一处理器P为空闲状态时,目录Directory为空闲状态Idle;
(b)当处理器P写缺失时,向目录Directory发出请求写GETX,则目录Directory响应其请求,并将数据DATA发给处理器P;处理器P收到数据DATA后发送确认消息ACK给目录Directory,同时将事务缓冲区中W位置位;
(c)当第二处理器Q请求读GETS一个被处理器P修改的数据块时,目录Directory转发请求Fwd_GETS至处理器P,由于存在读写冲突因此拒绝处理器Q的请求,处理器Q向目录Directory发送失败消息NACK;
(d)当处理器P读缺失时,向目录Directory发出请求读GETS,则目录Directory响应其请求,并将数据DATA发给处理器P;处理器P收到数据DATA后发送确认消息ACK给目录Directory,同时将事务缓冲区中R位置位;
(e)当第二处理器Q请求读GETS一个被处理器P修改的数据块时,目录Directory转发请求Fwd_GETS至处理器P,由于不存在读写冲突则发送消息ACK给目录Directory;目录Directory向第二处理器Q发送数据DATA,处理器Q收到数据后向目录Directory发送消息ACK进行确认。
本发明基于众核处理器和分区结构的事务存储方法的优点在于:
①本发明基于片上网络的众核处理器结构,并利用事务缓冲区同二级共享高速缓存一样组织成单元阵列形式由所有核共享,改变了现有的每个处理器核拥有一个事务缓冲区的结构。本发明一方面解决了资源浪费、缓冲区利用率低的问题,另一方面分区结构便于事务线程切换和迁移。
②本发明分区机制能够为每个执行事务的线程在缓冲区内划分一个分区,分区的大小可在一定范围内动态增长,每个处理器核拥有的缓冲区容量不再是固定大小,在一定程度上缓解了缓冲区溢出问题。
附图说明
图1是本发明事务存储方法的流程图。
图2是处理器芯片上的网络阵列结构图。
图3是本发明事务冲突检测的过程图。
具体实施方式
本发明是基于片上网络的众核处理器结构的,并利用事务缓冲区同二级共享高速缓存(L2cache)一样组织成单元(bank)阵列形式由所有核共享,改变了现有的每个处理器核拥有一个事务缓冲区的结构。本发明一方面解决了资源浪费、缓冲区利用率低的问题,另一方面分区结构便于事务线程切换和迁移。
参见图1所示,本发明是一种基于众核处理器和分区结构的事务存储方法,该方法通过构建系统结构、定制分区机制和事务执行模式三部分实现,具体有下列处理步骤:
步骤一:构建系统结构
建模步骤1-1,众核处理器采用瓦片化结构,每个节点为瓦片Tile{TL1,TL2,TL3}中的一种,所有瓦片通过片上网络互连到一起,每种瓦片的数量可根据应用需要调整;其中L2cache瓦片TL2与事务缓冲区瓦片TL3供所有处理器核共享使用,处理器核内还存在支持事务执行的其他硬件如事务状态寄存器、检查点寄存器等。
所述的瓦片Tile{TL1,TL2,TL3}中的物理意义为:
TL1表示处理器核瓦片,包含处理器核与一级私有高速缓存(L1cache)及片上路由;
TL2表示二级共享高速缓存(L2cache)瓦片(简称为L2cache瓦片),包含二级共享高速缓存的一个单元与片上路由;
TL3表示事务缓冲区瓦片,包含事务缓冲区的一个单元(bank)与片上路由。
参见图2所示的片上网络阵列结构图,Rij表示位于阵列结构中第i行第j列的节点路由器,且i=1,2,……,m,j=1,2,……,n,m和n分别表示阵列结构的行列数。每个Rij连接在片上资源上,片上资源包括处理器核、一级私有高速缓存(L1cache)、二级共享高速缓存(L2cache)、事务缓冲区。
建模步骤1-2,新增事务缓冲区,其结构与L2cache类似,数据的存储以行为单位,但同时保持事务数据的新旧版本,读写集合由新增的R/W位表示,事务缓冲区采用数据表项进行事务缓存,所述的数据表项具有如下结构形式;
注:Tag表示地址标志,State表示数据块状态,Data表示数据域,old表示数据的原始版本,new表示更新过的数据版本,R与W分别标表示读写位。
建模步骤1-3,执行事务的处理器节点不使用L2cache,而由事务缓冲区代替L2cache缓存事务数据;
建模步骤1-4,L1cache通过Write-through方法,修改的事务数据直接更新到事务缓冲区中。
Write-through方法为《计算机系统结构:一种定量的方法》一书中介绍。
在本发明中,构建系统结构采用瓦片化结构并增加了事务缓冲区来缓存事务执行过程中的新旧数据,所有处理器核共享使用事务缓冲区,解决了资源浪费、缓冲区利用率低的问题。
步骤二:定制分区机制
分区步骤2-1,对事务缓冲区的分配以分区单元(partition unit,PU)为单位,PU在事务缓冲区中对应连续的多行,其大小为事务缓冲区容量/处理器核数,一个分区可以包含一个或多个连续的PU,初始分配时每个分区含一个PU;
分区步骤2-2,每个事务线程分配一个分区,分区的大小根据事务读写集合的增长动态调整,事务线程首次执行事务时创建分区,事务线程终止时回收分区;
分区步骤2-3,对分区的管理需要硬件记录分区与事务线程的关联关系,如每个事务线程的分区在事务缓冲区中的起始位置和空间大小,以便于事务提交或回滚时的访问操作;
分区步骤2-4,当事务读写集合过大导致分区不够使用时,如果从该分区末尾起存在连续的PU大小的空间,那么可分配给该事务线程,否则,事务采取“基于事务提交锁的部分提交”进行处理。
在本发明中,“基于事务提交锁的部分提交”是为保证事务的原子性,并避免回滚,让事务在I/O操作前进行部分提交(即提交事务缓冲区中的当前内容),并设置事务提交锁(commit-lock)直到该事务结束。事务提交锁保证系统中同一时刻只能有一个事务能进行提交操作,即其他事务提交时必须等待。参考文献2009年2月第2期《电子学报》出版的“一种支持事务内I/O操作的事务存储系统结构”。
在本发明中,定制分区机制通过对事务缓冲区划分区域分配给每个执行事务的线程,分区的大小可以根据事务读写集合动态调整,缓解了事务缓冲区溢出问题。步骤一和步骤二联合,使得事务能够支持线程切换和迁移。
步骤三:事务执行模式
执行步骤3-1,处理器执行事务前访问的数据可能会在事务代码中再次访问到,因此事务开始前先将各级高速缓存中的数据依次写回下一级存储器中,即L1cache中数据写回L2cache,L2cache中数据写回主存,然后置L1cache中各行无效,此后,处理器的访存开始使用事务缓冲区;
执行步骤3-2,事务在执行过程中,由L1cache和事务缓冲区缓存事务预测执行的数据,读缺失或写缺失的内存块依次加载到事务缓冲区和L1cache中,事务缓冲区中的数据保存为old版本,对L1cache更改过的行直接更新到事务缓冲区中,对事务数据的所有读写操作,在事务缓冲区中记录相应的R/W位,事务修改的数据还要在事务缓冲区new版本中写入新值;
执行步骤3-3,事务提交时将事务缓冲区中本分区内的新值写入主存;
执行步骤3-4,事务因冲突而需要回滚时,清除事务缓冲区中的R/W标志位,同时将各行数据从old拷到new中,置L1cache中各行无效;
执行步骤3-5,采用事务冲突检测策略来检测事务执行过程中与其他节点是否存在的冲突;
参见图3所示,事务冲突检测策略:
(a)第一处理器P为空闲状态时,目录Directory为空闲状态Idle;
(b)当处理器P写缺失时,向目录Directory发出请求写GETX,则目录Directory响应其请求,并将数据DATA发给处理器P;处理器P收到数据DATA后发送确认消息ACK给目录Directory,同时将事务缓冲区中W位置位;
(c)当第二处理器Q请求读GETS一个被处理器P修改的数据块时,目录Directory转发请求Fwd_GETS至处理器P,由于存在读写冲突因此拒绝处理器Q的请求,处理器Q向目录Directory发送失败消息NACK;
(d)当处理器P读缺失时,向目录Directory发出请求读GETS,则目录Directory响应其请求,并将数据DATA发给处理器P;处理器P收到数据DATA后发送确认消息ACK给目录Directory,同时将事务缓冲区中R位置位;
(e)当第二处理器Q请求读GETS一个被处理器P修改的数据块时,目录Directory转发请求Fwd_GETS至处理器P,由于不存在读写冲突则发送消息ACK给目录Directory;目录Directory向第二处理器Q发送数据DATA,处理器Q收到数据后向目录Directory发送消息ACK进行确认。
在本发明中,事务执行模式解决了事务执行过程中各级高速缓存和事务缓冲区的一致性问题,采用冲突检测策略保证事务执行的隔离性和原子性。
本发明的一种基于众核处理器和分区结构的事务存储方法,该方法中众核处理器采用瓦片化结构,每个节点为瓦片Tile{TL1,TL2,TL3}中的一种,所有瓦片通过片上网络互连到一起,每种瓦片的数量可根据应用需要调整。线程执行事务时不再使用L2cache,片上路由将处理器事务读写请求路由至事务缓冲区存储,由分区策略为该事务线程划分一部分可用区域,对事务的读写操作记录在事务缓冲区中,并根据事务读写集合的增长动态扩充分区大小。本发明的事务存储方法解决了硬件型事务存储系统中资源浪费、缓冲区利用率低的问题,解决了事务缓冲区不支持线程切换和迁移的问题,一定程度上缓解了事务缓冲区溢出问题。
Claims (1)
1.一种基于众核处理器和分区结构的事务存储方法,其特征在于该方法是通过构建系统结构、定制分区机制和事务执行模式三部分实现,具体有下列步骤:
步骤一:构建系统结构
建模步骤1-1,众核处理器采用瓦片化结构,每个节点为瓦片Tile{TL1,TL2,TL3}中的一种,所有瓦片通过片上网络互连到一起,每种瓦片的数量可根据应用需要调整;其中L2cache瓦片TL2与事务缓冲区瓦片TL3供所有处理器核共享使用,处理器核内还存在支持事务执行的其他硬件如事务状态寄存器、检查点寄存器等;
建模步骤1-2,新增事务缓冲区,其结构与L2cache类似,数据的存储以行为单位,但同时保持事务数据的新旧版本,读写集合由新增的R/W位表示,事务缓冲区采用数据表项进行事务缓存;
建模步骤1-3,执行事务的处理器节点不使用L2cache,而由事务缓冲区代替L2cache缓存事务数据;
建模步骤1-4,L1cache通过Write-through方法,修改的事务数据直接更新到事务缓冲区中;
步骤二:定制分区机制
分区步骤2-1,对事务缓冲区的分配以分区单元(partition unit,PU)为单位,PU在事务缓冲区中对应连续的多行,其大小为事务缓冲区容量/处理器核数,一个分区可以包含一个或多个连续的PU,初始分配时每个分区含一个PU;
分区步骤2-2,每个事务线程分配一个分区,分区的大小根据事务读写集合的增长动态调整,事务线程首次执行事务时创建分区,事务线程终止时回收分区;
分区步骤2-3,对分区的管理需要硬件记录分区与事务线程的关联关系,如每个事务线程的分区在事务缓冲区中的起始位置和空间大小,以便于事务提交或回滚时的访问操作;
分区步骤2-4,当事务读写集合过大导致分区不够使用时,如果从该分区末尾起存在连续的PU大小的空间,那么可分配给该事务线程,否则,事务采取基于事务提交锁的部分提交进行处理;
步骤三:事务执行模式
执行步骤3-1,处理器执行事务前访问的数据可能会在事务代码中再次访问到,因此事务开始前先将各级高速缓存中的数据依次写回下一级存储器中,即L1cache中数据写回L2cache,L2cache中数据写回主存,然后置L1cache中各行无效,此后,处理器的访存开始使用事务缓冲区;
执行步骤3-2,事务在执行过程中,由L1cache和事务缓冲区缓存事务预测执行的数据,读缺失或写缺失的内存块依次加载到事务缓冲区和L1cache中,事务缓冲区中的数据保存为old版本,对L1cache更改过的行直接更新到事务缓冲区中,对事务数据的所有读写操作,在事务缓冲区中记录相应的R/W位,事务修改的数据还要在事务缓冲区new版本中写入新值;
执行步骤3-3,事务提交时将事务缓冲区中本分区内的新值写入主存;
执行步骤3-4,事务因冲突而需要回滚时,清除事务缓冲区中的R/W标志位,同时将各行数据从old拷到new中,置L1cache中各行无效;
执行步骤3-5,采用事务冲突检测策略来检测事务执行过程中与其他节点是否存在的冲突;所述的事务冲突检测策略:
(a)第一处理器P为空闲状态时,目录Directory为空闲状态Idle;
(b)当处理器P写缺失时,向目录Directory发出请求写GETX,则目录Directory响应其请求,并将数据DATA发给处理器P;处理器P收到数据DATA后发送确认消息ACK给目录Directory,同时将事务缓冲区中W位置位;
(c)当第二处理器Q请求读GETS一个被处理器P修改的数据块时,目录Directory转发请求Fwd_GETS至处理器P,由于存在读写冲突因此拒绝处理器Q的请求,处理器Q向目录Directory发送失败消息NACK;
(d)当处理器P读缺失时,向目录Directory发出请求读GETS,则目录Directory响应其请求,并将数据DATA发给处理器P;处理器P收到数据DATA后发送确认消息ACK给目录Directory,同时将事务缓冲区中R位置位;
(e)当第二处理器Q请求读GETS一个被处理器P修改的数据块时,目录Directory转发请求Fwd_GETS至处理器P,由于不存在读写冲突则发送消息ACK给目录Directory;目录Directory向第二处理器Q发送数据DATA,处理器Q收到数据后向目录Directory发送消息ACK进行确认。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010617535 CN102110019B (zh) | 2010-12-31 | 2010-12-31 | 一种基于众核处理器和分区结构的事务存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201010617535 CN102110019B (zh) | 2010-12-31 | 2010-12-31 | 一种基于众核处理器和分区结构的事务存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102110019A true CN102110019A (zh) | 2011-06-29 |
CN102110019B CN102110019B (zh) | 2013-01-30 |
Family
ID=44174190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201010617535 Expired - Fee Related CN102110019B (zh) | 2010-12-31 | 2010-12-31 | 一种基于众核处理器和分区结构的事务存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102110019B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136038A (zh) * | 2011-12-01 | 2013-06-05 | 财团法人资讯工业策进会 | 嵌入式系统及其线程与缓冲区管理方法 |
WO2013118010A1 (en) * | 2012-02-08 | 2013-08-15 | International Business Machines Corporation | Forward progress mechanism for stores in the presence of load contention in a system favoring loads |
CN104572501A (zh) * | 2015-01-08 | 2015-04-29 | 北京航空航天大学 | 一种基于访存踪迹局部性分析的多核环境下共享缓存优化方法 |
CN107003898A (zh) * | 2014-12-19 | 2017-08-01 | Arm 有限公司 | 包括至少一个具有线程模式和事务模式的资源的设备及方法 |
CN113761049A (zh) * | 2020-05-27 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 读写分离下的数据同步方法和装置 |
CN113946567A (zh) * | 2021-12-21 | 2022-01-18 | 中科南京智能技术研究院 | 一种基于众核系统的数据迁移系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577294A (zh) * | 2003-06-25 | 2005-02-09 | 国际商业机器公司 | 具有多个一致性区域的多处理器计算机系统及其方法 |
US20090172690A1 (en) * | 2007-12-31 | 2009-07-02 | Zimmer Vincent J | System and Method for supporting metered clients with manycore |
CN101739291A (zh) * | 2009-12-02 | 2010-06-16 | 北京航空航天大学 | 一种支持有条件部分回滚的硬件事务嵌套处理方法 |
-
2010
- 2010-12-31 CN CN 201010617535 patent/CN102110019B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1577294A (zh) * | 2003-06-25 | 2005-02-09 | 国际商业机器公司 | 具有多个一致性区域的多处理器计算机系统及其方法 |
US20090172690A1 (en) * | 2007-12-31 | 2009-07-02 | Zimmer Vincent J | System and Method for supporting metered clients with manycore |
CN101739291A (zh) * | 2009-12-02 | 2010-06-16 | 北京航空航天大学 | 一种支持有条件部分回滚的硬件事务嵌套处理方法 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103136038A (zh) * | 2011-12-01 | 2013-06-05 | 财团法人资讯工业策进会 | 嵌入式系统及其线程与缓冲区管理方法 |
WO2013118010A1 (en) * | 2012-02-08 | 2013-08-15 | International Business Machines Corporation | Forward progress mechanism for stores in the presence of load contention in a system favoring loads |
US8793442B2 (en) | 2012-02-08 | 2014-07-29 | International Business Machines Corporation | Forward progress mechanism for stores in the presence of load contention in a system favoring loads |
US8799589B2 (en) | 2012-02-08 | 2014-08-05 | International Business Machines Corporation | Forward progress mechanism for stores in the presence of load contention in a system favoring loads |
GB2512804A (en) * | 2012-02-08 | 2014-10-08 | Ibm | Forward progress mechanism for stores in the presence of load contention in a system favoring loads |
GB2512804B (en) * | 2012-02-08 | 2015-03-04 | Ibm | Forward progress mechanism for stores in the presence of load contention in a system favoring loads |
CN107003898A (zh) * | 2014-12-19 | 2017-08-01 | Arm 有限公司 | 包括至少一个具有线程模式和事务模式的资源的设备及方法 |
CN104572501A (zh) * | 2015-01-08 | 2015-04-29 | 北京航空航天大学 | 一种基于访存踪迹局部性分析的多核环境下共享缓存优化方法 |
CN104572501B (zh) * | 2015-01-08 | 2017-05-17 | 北京航空航天大学 | 一种基于访存踪迹局部性分析的多核环境下共享缓存优化方法 |
CN113761049A (zh) * | 2020-05-27 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 读写分离下的数据同步方法和装置 |
CN113946567A (zh) * | 2021-12-21 | 2022-01-18 | 中科南京智能技术研究院 | 一种基于众核系统的数据迁移系统及方法 |
CN113946567B (zh) * | 2021-12-21 | 2022-03-25 | 中科南京智能技术研究院 | 一种基于众核系统的数据迁移系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102110019B (zh) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Boroumand et al. | CoNDA: Efficient cache coherence support for near-data accelerators | |
US20220174130A1 (en) | Network attached memory using selective resource migration | |
Joshi et al. | Atom: Atomic durability in non-volatile memory through hardware logging | |
US11487435B1 (en) | System and method for non-volatile memory-based optimized, versioned, log-structured metadata storage with efficient data retrieval | |
Adve et al. | A unified formalization of four shared-memory models | |
US8832174B2 (en) | System and method for dynamic task migration on multiprocessor system | |
CN102110019B (zh) | 一种基于众核处理器和分区结构的事务存储方法 | |
US11656878B2 (en) | Fast boot | |
Hoefler et al. | Leveraging MPI’s one-sided communication interface for shared-memory programming | |
Li et al. | Improved MPI collectives for MPI processes in shared address spaces | |
CN102681890B (zh) | 一种应用于线程级推测并行的限制性值传递方法和装置 | |
Boroumand et al. | LazyPIM: Efficient support for cache coherence in processing-in-memory architectures | |
Harris | Hardware trends: Challenges and opportunities in distributed computing | |
Ren et al. | High-performance GPU transactional memory via eager conflict detection | |
Ferri et al. | A hardware/software framework for supporting transactional memory in a MPSoC environment | |
Cavé et al. | Traleika glacier: A hardware-software co-designed approach to exascale computing | |
Oancea et al. | A new approach to parallelising tracing algorithms | |
Calciu et al. | How to implement any concurrent data structure | |
Fu et al. | Hardware transactional memory: A high performance parallel programming model | |
Duan et al. | BulkCompactor: Optimized deterministic execution via conflict-aware commit of atomic blocks | |
Fu | Architectural Support for Large-scale Shared Memory Systems | |
Devi et al. | Tile-based Multi-core Processor with Transactional Memory for Efficient Resource Utilization | |
Ren | Efficient synchronization mechanisms for scalable GPU architectures | |
Shahid et al. | Hardware transactional memories: A survey | |
Soares et al. | Macrodb: Scaling database engines on multicores |
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 | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130130 Termination date: 20131231 |