CN103279428A - 一种显式的面向流应用的多核Cache一致性主动管理方法 - Google Patents
一种显式的面向流应用的多核Cache一致性主动管理方法 Download PDFInfo
- Publication number
- CN103279428A CN103279428A CN2013101663835A CN201310166383A CN103279428A CN 103279428 A CN103279428 A CN 103279428A CN 2013101663835 A CN2013101663835 A CN 2013101663835A CN 201310166383 A CN201310166383 A CN 201310166383A CN 103279428 A CN103279428 A CN 103279428A
- Authority
- CN
- China
- Prior art keywords
- cache
- lock
- read
- data
- write
- 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
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种显式的面向流应用的多核Cache一致性主动管理方法,为私有数据Cache设置标识Cache对共享数据读写状态的可选的整体状态描述符和共享数据操作位;所述整体状态描述符用来标识私有数据Cache整体当前对共享数据的操作状态,根据Cache可同时加锁的数目需要配置成Y组,每组保存每个加锁区域的特征信息,可以是共享地址区间或锁标志信息;所述共享数据操作位是一个二维数组寄存器,宽度为N,深度为M;N用来区分该Cache行或者块所对应的N个不同加锁共享数据区域,M和私有数据Cache行或块数目相同,以标识相应Cache行或者块是否对共享数据进行了读写。本发明具有原理简单、操作方便、硬件实现代价小、可扩展性好、可配置性强、能提高系统效率等优点。
Description
技术领域
本发明主要涉及到单片多核微处理器中Cache一致性的实现策略和方法设计领域,特指一种面向具有计算密集性和数据并行性的流应用时,多核微处理器中单核私有的数据Cache维护共享存储数据一致性的主动管理方法。
背景技术
随着计算机应用领域不断发展,一种典型的数据密集型应用——流应用,正成为多核处理器的重要负载。流应用主要分为两类:一类是媒体应用,如无线通信、图像处理领域需要进行音频、视频、编码与解码等实时数字信号处理应用;另一类是科学计算,主要用于高精度科学建模,典型的应用包括流体力学、分子动力学、有限元分析、生物技术等。这些流应用具有很高的数据并行性、计算密集性和数据局部性特点。与传统的桌面应用相比,流应用对每次从内存取出的数据都要进行密集的算术运算:大多数的运算可以进行数据级、线程级、任务级并行;其数据访问局部性通常表现为生产者消费者的局域性,即对大数据块的相邻或跨距访问,在运算的不同阶段中,某个生产者生产出的数据被其他消费者访问并进行其他运算,对于生产者而言,本地的数据重用性低。在多核处理器中,流应用的密集性数据运算的多个阶段被分解在不同的处理器核中进行,以充分利用片上多核资源,开发更多的线程级、任务级并行,获得更高的应用性能。
当前商用多核微处理器多为具有较强继承性的复杂处理器核同构集成,即集成少数几个成熟的、结构相同、功能强大的通用处理核心,如IBM 的Power7集成了8 个处理器核心;Sun 推出的UltraSparc T2 片内实现了8个单 核;Intel的Many Integrated Core(MIC) KNF协处理器片内集成了32个单核。这些多核处理器的基本结构如图1所示,单片集成了N个单核处理器,每个单核拥有私有的一级数据Cache或私有的一级、二级数据Cache(下面的私有数据Cache指的是单核最后一级私有Cache),多核通过核间互联网络访问共享的二级或三级Cache(下面简称共享Cache);目标是捕获更多的时间局部性,尽量减小存储器的平均访问延迟。
由于多核私有数据Cache存在多个数据副本,为维护多核Cache一致性,硬件一般会采用基于总线监听或基于目录协议两种实现方法。监听协议将维护多核处理器Cache一致性的责任分布到各个单核的私有数据Cache上。当某一个核的私有数据Cache行上完成了一个写操作时,它必须通过一种广播的方式通知到其他核的所有私有数据Cache;每个核的私有数据Cache应能实现广播的监听,以便对来自其他核的广播做出反应。随着处理器核数的增多,广播监听协议存在如下几个问题:(1)随着处理器核的增大,核间广播的互连硬件开销增大,线延迟巨大;(2) 每个单核的私有数据Cache都需要监听来自所有其它核的广播,被太多的监听事务干扰;采用Cache的获益被抵消。而目录协议将在多核处理器的共享Cache中收集并维护有关数据块副本驻存在何处的信息,即在共享Cache上维护一个影子目录结构,记录各个核最后一级私有数据Cache行的全局性状态信息,并保持状态的更新,当某个核的私有数据Cache产生访存请求时,该影子目录将检查此请求,并向相关核的私有数据Cache发出必要的操作,使相应的数据副本无效。与监听协议相比,目录协议减少了广播请求的盲目性;但随着单片集成的处理器核数的增加,片上Cache存储容量的不断增大,基于目录协议的维护一致性的硬件逻辑呈线性增长;一致性消息量剧增,严重影响了算法实现的效率。而且该方法可扩展性差,难以满足当前多核处理器核数越来越多的发展趋势。
在常用的基于软件管理的Cache一致性方案中,硬件需设置程序员可编程的多核共享的锁同步控制寄存器;当片上多核处理器中的某个核Pi需要读取共享数据区域A1(Area 1)时,程序员首先对该区域上加读锁,加读锁成功后方可开始访存,此时硬件拒绝来自它核的写锁请求,以保证数据一致性。具体流程如图2所示。
当核Pi要对共享数据区域A1进行写操作时,程序员先要对该区域加写锁,即首先检查被加锁区域是否已被加上读锁或写锁;如果是,则需等待其锁释放后才可以加写锁成功,然后开始写访存操作,此时拒绝其它核的加锁请求,直至写操作完成并释放写锁,具体流程见图3所示。
在释放写锁的时候,需要向其他所有核广播数据作废操作,要求其他核作废私有数据 Cache中相应区域的数据拷贝,保证数据一致性。在面向流应用的多核处理器中,由于核间存在大量的生产者消费者局部性,不同核间存在大量不同的共享数据,随着处理器核数的不断增多,大量的数据广播作废操作带来以下问题:
(1)大量的维护数据一致性的广播请求导致核间通信带宽紧张,数据传输压力增加,同时增加了控制复杂性;
(2)广播请求的盲目性极易导致系统资源的不合理浪费。多核在并行执行不同的任务时,多数情况下都存在相当数目的无关核不需要接收处理来自其他核的某次维护一致性的广播请求,而且这些一致性维护事务将打断正在运行的正常处理任务;因此传统架构上为了维护一致性所需采用的广播方式给系统资源带来了不必要的浪费;而且大幅降低了运算效能;
(3)进行加锁写操作的核只有在其广播作废请求被其余所有核接收并且操作完成才可以释放写锁,多核处理过程带来的不可预见的额外延时,增加了程序员编程的难度;在广播完成后即释放写锁可以少量缓解,但会带来新的一致性问题;
(4)接收方处理来自其它核的维护一致性事务需要的处理时间冗长。当某个单核收到以Cache行为粒度的作废请求后,该请求要和私有数据 Cache内所有行的地址一一进行比较判决,以决定相应行是否需要作废。在目前私有数据Cache以存储体构建Tag位并容量逐渐增大的情况下,这个处理时间变得十分漫长。对较大的以区域为粒度的请求处理时,作废的数据块将包含多个Cahce行,整个处理时间已无法接受;
(5)核内私有数据Cache为了处理作废请求需要专用的地址计算比较结构,同时考虑到多核通信开销,还需要较大的缓冲结构和专用通信控制模块,导致私有数据Cache控制器设计复杂,面积、功耗开销较大。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、操作方便、硬件实现代价小、可扩展性好、可配置性强、能提高系统效率的显式的面向流应用的多核Cache一致性主动管理方法。
为解决上述技术问题,本发明采用以下技术方案:
一种显式的面向流应用的多核Cache一致性主动管理方法,为私有数据Cache设置标识Cache对共享数据读写状态的可选的整体状态描述符和共享数据操作位;所述整体状态描述符用来标识私有数据Cache整体当前对共享数据的操作状态,根据Cache可同时加锁的数目需要配置成Y组,Y可为大于等于0的整数,每组保存每个加锁区域的特征信息,可以是共享地址区间或锁标志信息;所述共享数据操作位是一个二维数组寄存器,宽度为N,深度为M;N用来区分该Cache行或者块所对应的N个不同加锁共享数据区域,M和私有数据Cache行或块数目相同,M、N均为大于等于1的整数,以标识相应Cache行或者块是否对共享数据进行了读写。
作为本发明的进一步改进:
在设置可编程的多核共享的锁同步控制寄存器基础上,增加两种特殊的解锁指令:解读锁、解写锁指令;当需要访问共享数据地址空间时,分为两种访存行为:只读访问、写访问,分别需要加读锁或写锁后才能进行数据访存操作,而且只有在未加写锁时方可加读锁,未加读锁和写锁时方可加写锁;同一时刻可有多把读锁,同一时刻只有一把写锁。
所述加读锁或加写锁指令为一个原子操作,是对锁同步控制寄存器的读写操作,由正常的访存指令完成;完成加锁读或加锁写操作后,可开始数据读或写访问;完成读写操作后,使用解读锁或解写锁指令,结束本次共享数据访问,同时私有数据Cache根据解锁指令检查相应的共享数据操作位是否有效;若有效则修改为无效,且将对应Cache行进行有效脏行写回、有效位清零操作。
与现有技术相比,本发明的优点在于:
1、采用本发明的主动管理方法,维护一致性所需要的时间更短,且可以精确计算。当状态寄存器采用每Cache行一位并且在只读标识释放时立即作废的策略下,只读操作完毕作废时间可以缩短到一拍以内。
2、本发明可配置为无广播策略,缓解互联网络压力。维护一致性请求不在核间互联网络广播,缓解了日趋复杂的互联网络通信和布局布线压力。
3、本发明中无关核不需要接收维护一致性请求,完全消除了来自其它核的一致性请求事务带来的延迟和停顿,提高了系统效率。
4、本发明能够降低程序员编程复杂度。由于延时精确可控,程序员编程时对系统的不确定性降低,有利于提高系统利用率。
5、本发明的硬件实现代价小。采用本发明,无需再使用专门的核间广播通道,Cache内区域判断、地址比较、作废请求计算的等硬件功能,Cache只需设置共享数据操作位,并在只读或者读写共享区域数据时对修改的行或者多行的共享数据操作位做相应操作即可,这个功能用选择开关等简单电路即可实现;硬件代价大幅减少。
6、本发明的可扩展性好,可配置性强。随着单片内核数的增加,该方法可扩展性好,无需增加额外硬件就满足不同情况下的多核间维护一致性的需求。可配置的内容包括是否使用维护一致性请求缓冲、维护一致性寄存器的种类和位数设置、维护一致性共享数据操作位寄存器和整体状态描述符寄存器的内容、维护一致性共享数据操作位寄存器和整体状态描述符寄存器在Cache中的组织方式、流水线中维护一致性请求执行的时机等。
附图说明
图1是单片多核处理器的基本结构示意图。
图2是传统对共享空间只读操作的基本流程示意图。
图3是传统对共享空间写操作的基本流程示意图。
图4是本发明在具体应用实例中的一种具体Cache结构的示意图。
图5是本发明在具体应用实例中的另一种具体Cache结构的示意图。
图6是本发明中进行只读共享数据操作时的流程示意图,图中虚线描述的框和箭头表示可选流程,是否需要取决于整体状态描述符寄存器是否使用。
图7是本发明中进行读写共享数据操作时的流程示意图,图中虚线描述的框和箭头表示可选流程,是否需要取决于整体状态描述符寄存器是否使用。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
本发明是针对目前主流的多核微处理器采用的Cache一致性协议带来的巨大硬件开销、以及其大量的维护数据一致性事务延迟降低了流应用性能等问题,设计一种符合流应用数据局部性特点,能较好适应其生产者、消费者局部性的多核处理器Cache一致性主动管理方法。在该方法中,多核处理器中的每个单核私有数据Cache只需根据需要自主管理其私有数据Cache行中的共享数据,无需广播请求操作,这大幅降低了维护Cache 一致性的硬件与通信开销,减少了大量数据一致性事务延迟;进一步,加速了流应用计算;随着处理器向多核、众核方向的发展,该方法还具有良好的可扩展性。
本发明的方法是针对目前单片多核处理器的存储结构,改进其单核私有数据Cache的硬件结构。如图4所示,为本发明应用后的一种具体Cache结构的示意图,其中本发明为私有数据Cache设置标识Cache对共享数据读写状态的可选的整体状态描述符和必需的共享数据操作位,整体状态描述符用来标识私有数据Cache整体当前对共享数据的操作状态,根据Cache可同时加锁的数目需要配置成Y组(Y可为大于等于0的整数),每组保存每个加锁区域的特征信息,可以是共享地址区间或锁标志信息;共享数据操作位是一个二维数组寄存器,宽度为N,深度为M;N用来区分该Cache行或者块所对应的N个不同加锁共享数据区域,M和私有数据Cache行或块数目相同(M、N均为大于等于1的整数),以标识相应Cache行或者块是否对共享数据进行了读写。
进一步,本发明在设置可编程的多核共享的锁同步控制寄存器基础上,增加两种特殊的解锁指令:解读锁、解写锁指令,供编程使用。当需要访问共享数据地址空间时,分为两种访存行为:只读访问、写访问;分别需要加读锁或写锁后才能进行数据访存操作,而且只有在未加写锁时,方可加读锁;未加读锁和写锁时方可加写锁;同一时刻可有多把读锁,同一时刻只有一把写锁。加读锁或加写锁指令为一个原子操作,是对锁同步控制寄存器的读写操作,由正常的访存指令完成。完成加锁读或加锁写操作后,可开始数据读或写访问;完成读写操作后,使用解读锁或解写锁指令,结束本次共享数据访问,同时私有数据Cache根据解锁指令检查相应的共享数据操作位是否有效;若有效则修改为无效,且将对应Cache行进行有效脏行写回、有效位清零操作。本发明的方法使得某个单核对共享数据进行写操作时,只有该核私有Cache拥有该共享数据的单一拷贝,且最新共享数据被其他核访问前已写回共享Cache,保证了多核Cache一致性。
本方法具体实施流程分成只读流程和写流程,这里叙述的流程不仅仅适用于图4所示的Cache结构,同时适用于其他的利用N*M个共享数据操作位寄存器和整体状态描述符寄存器实现数据一致性的Cache结构。
如图6所示,为当某单核进行只读操作时候的流程:
1、利用加锁指令向系统添加共享区域的只读标识(读锁)。
2、加锁成功后,Cache改写整体状态描述符寄存器。
3、对共享区域进行只读访存操作。这里根据是否设有整体状态描述符寄存器分别叙述。
①、若设置有整体状态描述符寄存器,在对共享区域进行访存整个过程中如果夹有对私有空间的访存,需要根据整体状态描述符寄存器判断当次访存是否是访问共享区域的。
如果访存是针对共享区域的并且访存地址在该私有数据Cache中命中,处理方式和传统Cache相同;如果访存地址在Cache发生缺失,需要从共享Cache中请求数据,在数据返回后修改有效位等状态位的同时将该行对应的共享数据操作位置有效,若已有效则无需修改。
如果访存是针对私有空间的,则Cache对访存的处理和传统Cache相同。
②、若没有设置整体状态描述符寄存器,则在向系统添加只读标识到利用解锁指令释放只读标识之间的访存操作,都同上述对共享区域访存操作一样处理。
4、访存中根据需要可修改整体状态描述符寄存器实现更精确的数据一致性维护。
5、对共享区域进行只读访存操作结束后,利用专用的解读锁指令在系统中释放该共享区域的只读标识。
6、Cache将改写整体状态描述符寄存器,以保证后续指令的正确执行。
7、Cache检查Cache内所有的相应的共享数据操作位,若相应的共享数据操作位有效则修改为无效,同时将该共享数据操作位对应的Cache行的数据有效位置为无效。
当多个核同时对相同区域加读锁时,它们的操作是相同的。经过以上流程,就完成了对共享区域进行只读访存的带多核一致性维护的操作。
如图7所示,为当某单核进行写操作时的流程:
1、利用加锁指令向系统添加共享区域的读写标识(写锁)。
2、加锁成功后Cache改写整体状态描述符寄存器。
3、对共享区域进行读写访存操作。这里根据是否设有整体状态描述符寄存器分别叙述。
①、若设置有整体状态描述符寄存器,在对共享区域进行访存整个过程中如果夹有对私有空间的访存,需要根据整体状态描述符寄存器判断当次访存是否是访存共享区域的。
如果访存是针对共享区域的并且访存地址在该私有数据Cache中读命中,处理方式和传统Cache相同,若是写命中,则在需要将共享数据操作位置有效,之后的处理同传统Cache相同;如果访存地址在Cache发生读缺失或者写缺失,都需要从共享Cache中请求数据,在数据返回后修改有效位等状态位的同时将该行对应的共享数据操作位置有效,若已有效则无需修改。
如果访存是针对私有空间的,则Cache对访存的处理和传统Cache相同。
②、若没有设置整体状态描述符寄存器,则在向系统添加读写标识到利用解锁指令释放读写标识之间的访存操作,都同上述对共享区域访存操作一样处理。
4、访存中根据需要可修改整体状态描述符寄存器实现更精确的数据一致性维护。
5、对共享区域进行读写访存操作结束后,利用专用的解读锁指令在系统中释放该共享区域的只读标识。
6、Cache将改写整体状态描述符寄存器,以保证后续指令的正确执行。
Cache检查Cache内所有的相应的共享数据操作位,若相应的共享数据操作位有效则修改为无效,同时将该共享数据操作位对应的Cache行的数据有效位置为无效,若共享数据操作位有效并且该Cache行脏位有效,除修改状态位还需要将对应行的Cache数据写回下一级存储器。
如图5所示,为本发明应用后另一种实施方式的原理示意图。某些情况下单核需要同时访存私有空间和两块共享空间数据,图5的结构就是为了满足这种需求。在这种实施方式中,在传统Cache状态位上添加的共享数据操作位有两位OP1和OP0,分别对应记录两块共享区域的共享数据操作信息;整体状态描述符也有两部分Msg1和Msg0,分别记录两块共享区域的地址范围等可以用于区分访存目标的特征信息。Msg1标识的共享区域A1对应的共享数据操作位OP1,同样Msg0标识的共享区域A0对应的共享数据操作位OP0。
对两块共享数据区域同时访存需要对两块数据区域都加相应的只读(加读锁)或者读写(加写锁)标识,采用该实施方式,并不限制两次加锁和相应解锁的时机以及类型。由于每块区域都有自己的整体状态描述符和共享数据操作位,只读和读写共享区域的操作中也只涉及各自的整体状态描述符和共享数据操作位,所以对两块共享数据区域的访存流程相同且相对独立。只是在“判断是否共享区域访存”需要区分当次访存针对A0区域、A1区域还是私有空间。若当次访存属于A0区域并需要修改共享数据操作位时,修改Msg0对应的OP0操作位,若当次访存属于A1区域并需要修改共享数据操作位时,修改Msg1对应的OP1操作位,若当次访存属于私有数据,则对应Cache行的OP0、OP1操作位要修改为无效。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (3)
1.一种显式的面向流应用的多核Cache一致性主动管理方法,其特征在于,为私有数据Cache设置标识Cache对共享数据读写状态的可选的整体状态描述符和共享数据操作位;所述整体状态描述符用来标识私有数据Cache整体当前对共享数据的操作状态,根据Cache可同时加锁的数目需要配置成Y组,Y为大于等于0的整数,每组保存每个加锁区域的特征信息,是共享地址区间或锁标志信息;所述共享数据操作位是一个二维数组寄存器,宽度为N,深度为M;N用来区分该Cache行或者块所对应的N个不同加锁共享数据区域,M和私有数据Cache行或块数目相同,M、N均为大于等于1的整数,以标识相应Cache行或者块是否对共享数据进行了读写。
2.根据权利要求1所述的显式的面向流应用的多核Cache一致性主动管理方法,其特征在于,在设置可编程的多核共享的锁同步控制寄存器基础上,增加两种特殊的解锁指令:解读锁、解写锁指令;当需要访问共享数据地址空间时,分为两种访存行为:只读访问、写访问,分别需要加读锁或写锁后才能进行数据访存操作,而且只有在未加写锁时方可加读锁,未加读锁和写锁时方可加写锁;同一时刻可有多把读锁,同一时刻只有一把写锁。
3.根据权利要求2所述的显式的面向流应用的多核Cache一致性主动管理方法,其特征在于,所述加读锁或加写锁指令为一个原子操作,是对锁同步控制寄存器的读写操作,由正常的访存指令完成;完成加锁读或加锁写操作后,开始数据读或写访问;完成读写操作后,使用解读锁或解写锁指令,结束本次共享数据访问,同时私有数据Cache根据解锁指令检查相应的共享数据操作位是否有效;若有效则修改为无效,且将对应Cache行进行有效脏行写回、有效位清零操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310166383.5A CN103279428B (zh) | 2013-05-08 | 2013-05-08 | 一种显式的面向流应用的多核Cache一致性主动管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310166383.5A CN103279428B (zh) | 2013-05-08 | 2013-05-08 | 一种显式的面向流应用的多核Cache一致性主动管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103279428A true CN103279428A (zh) | 2013-09-04 |
CN103279428B CN103279428B (zh) | 2016-01-27 |
Family
ID=49061954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310166383.5A Active CN103279428B (zh) | 2013-05-08 | 2013-05-08 | 一种显式的面向流应用的多核Cache一致性主动管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103279428B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103810139A (zh) * | 2014-01-24 | 2014-05-21 | 浙江众合机电股份有限公司 | 一种多处理器的数据交换方法和装置 |
CN104461932A (zh) * | 2014-11-04 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种面向大数据应用的目录缓存管理方法 |
CN104572568A (zh) * | 2013-10-15 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 读锁操作方法、写锁操作方法及系统 |
CN105095144A (zh) * | 2015-07-24 | 2015-11-25 | 中国人民解放军国防科学技术大学 | 基于栅栏和锁的多核Cache一致性维护的方法和装置 |
CN105718242A (zh) * | 2016-01-15 | 2016-06-29 | 中国人民解放军国防科学技术大学 | 多核dsp中支持软硬件数据一致性的处理方法及系统 |
CN106201939A (zh) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 面向gpdsp架构的多核目录一致性装置 |
CN108228801A (zh) * | 2017-12-29 | 2018-06-29 | 安徽慧视金瞳科技有限公司 | 一种基于多核处理器的跳跃表多线程优化方法及设备 |
CN110727464A (zh) * | 2019-09-11 | 2020-01-24 | 无锡江南计算技术研究所 | 一种针对访存空间独立的多核处理器的信息处理方法 |
CN111788562A (zh) * | 2018-07-11 | 2020-10-16 | 华为技术有限公司 | 原子操作的执行方法及装置 |
CN112130904A (zh) * | 2020-09-22 | 2020-12-25 | 黑芝麻智能科技(上海)有限公司 | 处理系统、处理器间通信方法、以及共享资源管理方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545034A (zh) * | 2003-11-26 | 2004-11-10 | 中国人民解放军国防科学技术大学 | 片内多处理器局部cache一致性的双环监听方法 |
CN1758229A (zh) * | 2005-10-28 | 2006-04-12 | 中国人民解放军国防科学技术大学 | 异构多核微处理器局部空间共享存储方法 |
CN101859281A (zh) * | 2009-04-13 | 2010-10-13 | 廖鑫 | 基于集中式目录的嵌入式多核缓存一致性方法 |
US7877549B1 (en) * | 2007-06-12 | 2011-01-25 | Juniper Networks, Inc. | Enforcement of cache coherency policies using process synchronization services |
JP2012038236A (ja) * | 2010-08-11 | 2012-02-23 | Toshiba Corp | マルチコアプロセッサシステムおよびマルチコアプロセッサ |
-
2013
- 2013-05-08 CN CN201310166383.5A patent/CN103279428B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545034A (zh) * | 2003-11-26 | 2004-11-10 | 中国人民解放军国防科学技术大学 | 片内多处理器局部cache一致性的双环监听方法 |
CN1758229A (zh) * | 2005-10-28 | 2006-04-12 | 中国人民解放军国防科学技术大学 | 异构多核微处理器局部空间共享存储方法 |
US7877549B1 (en) * | 2007-06-12 | 2011-01-25 | Juniper Networks, Inc. | Enforcement of cache coherency policies using process synchronization services |
CN101859281A (zh) * | 2009-04-13 | 2010-10-13 | 廖鑫 | 基于集中式目录的嵌入式多核缓存一致性方法 |
JP2012038236A (ja) * | 2010-08-11 | 2012-02-23 | Toshiba Corp | マルチコアプロセッサシステムおよびマルチコアプロセッサ |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104572568B (zh) * | 2013-10-15 | 2021-07-23 | 蚂蚁金服(杭州)网络技术有限公司 | 读锁操作方法、写锁操作方法及系统 |
CN104572568A (zh) * | 2013-10-15 | 2015-04-29 | 阿里巴巴集团控股有限公司 | 读锁操作方法、写锁操作方法及系统 |
CN103810139B (zh) * | 2014-01-24 | 2017-04-26 | 浙江众合科技股份有限公司 | 一种多处理器的数据交换方法和装置 |
CN103810139A (zh) * | 2014-01-24 | 2014-05-21 | 浙江众合机电股份有限公司 | 一种多处理器的数据交换方法和装置 |
CN104461932A (zh) * | 2014-11-04 | 2015-03-25 | 浪潮电子信息产业股份有限公司 | 一种面向大数据应用的目录缓存管理方法 |
CN104461932B (zh) * | 2014-11-04 | 2017-05-10 | 浪潮电子信息产业股份有限公司 | 一种面向大数据应用的目录缓存管理方法 |
CN105095144A (zh) * | 2015-07-24 | 2015-11-25 | 中国人民解放军国防科学技术大学 | 基于栅栏和锁的多核Cache一致性维护的方法和装置 |
CN105095144B (zh) * | 2015-07-24 | 2018-08-24 | 中国人民解放军国防科学技术大学 | 基于栅栏和锁的多核Cache一致性维护的方法和装置 |
CN105718242A (zh) * | 2016-01-15 | 2016-06-29 | 中国人民解放军国防科学技术大学 | 多核dsp中支持软硬件数据一致性的处理方法及系统 |
CN105718242B (zh) * | 2016-01-15 | 2018-08-17 | 中国人民解放军国防科学技术大学 | 多核dsp中支持软硬件数据一致性的处理方法及系统 |
CN106201939A (zh) * | 2016-06-30 | 2016-12-07 | 中国人民解放军国防科学技术大学 | 面向gpdsp架构的多核目录一致性装置 |
CN106201939B (zh) * | 2016-06-30 | 2019-04-05 | 中国人民解放军国防科学技术大学 | 面向gpdsp架构的多核目录一致性装置 |
CN108228801A (zh) * | 2017-12-29 | 2018-06-29 | 安徽慧视金瞳科技有限公司 | 一种基于多核处理器的跳跃表多线程优化方法及设备 |
CN108228801B (zh) * | 2017-12-29 | 2021-08-31 | 安徽慧视金瞳科技有限公司 | 一种基于多核处理器的跳跃表多线程优化方法及设备 |
CN111788562A (zh) * | 2018-07-11 | 2020-10-16 | 华为技术有限公司 | 原子操作的执行方法及装置 |
CN110727464A (zh) * | 2019-09-11 | 2020-01-24 | 无锡江南计算技术研究所 | 一种针对访存空间独立的多核处理器的信息处理方法 |
CN110727464B (zh) * | 2019-09-11 | 2022-01-07 | 无锡江南计算技术研究所 | 一种针对访存空间独立的多核处理器的信息处理方法 |
CN112130904A (zh) * | 2020-09-22 | 2020-12-25 | 黑芝麻智能科技(上海)有限公司 | 处理系统、处理器间通信方法、以及共享资源管理方法 |
CN112130904B (zh) * | 2020-09-22 | 2024-04-30 | 黑芝麻智能科技(上海)有限公司 | 处理系统、处理器间通信方法、以及共享资源管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103279428B (zh) | 2016-01-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103279428B (zh) | 一种显式的面向流应用的多核Cache一致性主动管理方法 | |
CN101059783B (zh) | 事务型存储器的虚拟化 | |
EP3441886B1 (en) | Method and processor for processing data | |
US9304920B2 (en) | System and method for providing cache-aware lightweight producer consumer queues | |
US20080208558A1 (en) | System and method for simulating a multiprocessor system | |
CN103547993A (zh) | 通过使用由可分割引擎实例化的虚拟核来执行指令序列代码块 | |
US8898395B1 (en) | Memory management for cache consistency | |
CN101788922B (zh) | 基于辅助线程实现事务存储系统的方法和装置 | |
CN103597455A (zh) | 用于大型数据缓存的有效标签存储 | |
US20080229009A1 (en) | Systems and methods for pushing data | |
CN104813293B (zh) | 使用动态分配的脏掩码空间的存储器管理 | |
US6711651B1 (en) | Method and apparatus for history-based movement of shared-data in coherent cache memories of a multiprocessor system using push prefetching | |
US20130067160A1 (en) | Producer-consumer data transfer using piecewise circular queue | |
CN103049392A (zh) | 缓存目录的实现方法及装置 | |
US20230161704A1 (en) | Computing system with direct invalidation in a hierarchical cache structure based on at least one designated key identification code | |
CN101645034A (zh) | 用于检测数据存取违例的方法和装置 | |
CN101571836A (zh) | 用于替换缓存块的方法和系统 | |
CN106201918B (zh) | 一种基于大数据量和大规模缓存快速释放的方法和系统 | |
CN102681890A (zh) | 一种应用于线程级推测并行的限制性值传递方法和装置 | |
US20090083496A1 (en) | Method for Improved Performance With New Buffers on NUMA Systems | |
CN107003932B (zh) | 多核处理器系统的缓存目录处理方法和目录控制器 | |
CN101872299A (zh) | 冲突预测实现方法及所用冲突预测处理装置事务存储器 | |
CN100520737C (zh) | 高速缓存系统、方法及计算机系统 | |
DE102020132893A1 (de) | Vorrichtungen, verfahren und systeme für einen duplikationsbeständigen on-die-prefetcher für unregelmässige daten | |
CN101847128A (zh) | 管理tlb的方法和装置 |
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 |