CN102063407A - 用于多核处理器的网络牺牲Cache及基于该Cache的数据请求方法 - Google Patents
用于多核处理器的网络牺牲Cache及基于该Cache的数据请求方法 Download PDFInfo
- Publication number
- CN102063407A CN102063407A CN2010106210698A CN201010621069A CN102063407A CN 102063407 A CN102063407 A CN 102063407A CN 2010106210698 A CN2010106210698 A CN 2010106210698A CN 201010621069 A CN201010621069 A CN 201010621069A CN 102063407 A CN102063407 A CN 102063407A
- Authority
- CN
- China
- Prior art keywords
- cache
- request
- catalogue
- node
- data block
- 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
- 238000000034 method Methods 0.000 title claims abstract description 21
- 230000004048 modification Effects 0.000 claims description 24
- 238000012986 modification Methods 0.000 claims description 24
- 230000004044 response Effects 0.000 claims description 18
- 230000008034 disappearance Effects 0.000 claims description 16
- 238000012423 maintenance Methods 0.000 claims description 6
- 238000004321 preservation Methods 0.000 claims description 6
- 230000015556 catabolic process Effects 0.000 claims description 3
- 238000006731 degradation reaction Methods 0.000 claims description 3
- 230000017702 response to host Effects 0.000 claims description 3
- 230000007812 deficiency Effects 0.000 abstract 1
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241000252506 Characiformes Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种用于多核处理器的网络牺牲Cache及基于该网络牺牲Cache的数据请求方法,该网络牺牲Cache设置于网络接口部件中,包括:牺牲Cache,用于存放从L1 Cache替换出来的数据块;活跃目录Cache,用于保存以及维护目录信息。本发明的网络牺牲Cache及数据请求方法能够加快L1 Cache缺失访问的速度,提高多核处理器的性能。
Description
技术领域
本发明涉及计算机系统结构技术领域,尤其涉及一种用于多核处理器的网络牺牲高速缓冲存储器(Cache)及基于该网络牺牲Cache的数据请求方法。
背景技术
商业和科学计算应用对大数据量的需求使共享L2 Cache结构在多核处理器(CMP)中得到了广泛应用,共享L2 Cache结构可以最大限度的利用片上Cache的容量并减少对片外存储器的访问,Piranha、Niagara、XLR和Power 5等商用处理器都采用共享L2 Cache结构。出于物理布局以及芯片制造的考虑,未来大规模多核处理器通常采用分片的结构,每片包含一个处理器内核、一个私有的L1 Cache、一个L2Cache Bank和一个路由器,这些片通过路由器连接到片上网络,其中物理分布的L2 Cache Bank通过地址交叉组成一个大容量的共享L2Cache。共享L2 Cache的多核处理器中一般采用基于目录的一致性协议来维护私有L1 Cache的一致性。
在共享L2 Cache的多核处理器中,目录分布在每个片的L2 CacheBank中,且通常包含在L2 Cache Bank的标签(Tag)阵列中。通过这种方式,L2 Cache为其每一个数据块保存一个目录向量,用以跟踪缓存该数据块的L1 Cache的位置,L1 Cache的缺失会引起对宿主节点L2Cache Bank的访问,查找目录信息,并执行相应的一致性操作。在共享L2 Cache的多核处理器中,目录访问延迟与L2 Cache Bank的访问延迟相同。
随着多核处理器规模的扩大,目录的存储开销会随着处理器核的数目和L2 Cache的大小线性增加,将消耗宝贵的片上资源,严重影响多核处理器的扩展性。以全目录为例,当L2 Cache中数据块的大小为64字节时,16核多核处理器的目录存储开销占L2 Cache的3%;当多核处理器的核数增加到64核时,目录存储开销增加到12.5%;进一步增加多核处理器的核数到512核时,目录存储开销增加到100%。目录会消耗大量的片上Cache资源,严重影响多核处理器的可用性。
实际上,在多核处理器运行过程时,L2 Cache中只有很小一部分数据被缓存在L1 Cache中,只有这部分数据的目录向量中记录着L1Cache的位置信息,其他数据的目录向量是空的。在最坏的情况下,L2 Cache中使用的目录向量的数目等于L1 Cache所能容纳的数据块的数目。由于L1 Cache的容量远小于L2 Cache的容量,大部分的目录向量处于空闲状态,目录的利用率很低,大量目录存储空间被浪费了。
活跃目录结构取消了L2 Cache中的目录结构,减小了目录存储空间,提高了目录访问速度,也能满足绝大部分的目录访问请求,加快一部分L1 Cache缺失访问的速度。随着处理器规模的扩大,L1 Cache缺失访问的延迟越来越大,而活跃目录Cache结构节省的L2 Cache访问延迟占L1 Cache缺失访问延迟的比例会越来越小,其性能优势会降低,性能的扩展性不好。如果减少L1 Cache到宿主节点的缺失访问请求的数目,则可以降低L1 Cache缺失访问的延迟,提高系统的性能,且扩展性比单纯降低单次L1 Cache缺失访问延迟更具优势。
发明内容
(一)要解决的技术问题
本发明所要解决的技术问题是:如何加快L1 Cache缺失访问的速度,提高多核处理器的性能。
(二)技术方案
为解决上述问题,本发明提供了一种用于多核处理器的网络牺牲Cache,设置于网络接口部件中,该网络牺牲Cache包括:牺牲Cache,用于存放从L1 Cache替换出来的数据块;活跃目录Cache,用于保存以及维护目录信息。
其中,所述活跃目录Cache进一步包括:目录存储部件,为Cache结构,Cache行由地址标签、目录状态、以及目录向量组成;目录控制器,用于维护所述目录存储部件中每一个Cache行的目录状态以及目录向量;L2 Cache接口,为所述活跃目录Cache与L2 Cache的接口。
本发明还提供了一种基于上述用于多核处理器的网络牺牲Cache的数据请求方法,其特征在于,该方法包括步骤:
当接收到L1 Cache的替换请求时,牺牲Cache为请求的地址分配一个Cache行,保存要替换的数据块,将分配的Cache行的目录状态设为共享状态,并向L1 Cache返回替换回应信号;
当接收到L1 Cache的写回请求时,牺牲Cache为请求的地址分配一个Cache行,保存要写回的数据块,将分配的Cache行的目录状态设为修改状态,并向L1 Cache返回写回回应信号;
当接收到L1 Cache的读请求时,查找牺牲Cache,若请求的地址存在且其所在Cache行的目录状态为共享状态,则向L1 Cache返回请求的数据块,并把该地址从牺牲Cache中删除;若请求的地址存在且其所在的Cache行的目录状态为修改状态,则向L1 Cache返回请求的数据块,标识该数据块为脏数据,并将该地址从牺牲Cache中删除;若请求的地址不存在或处于无效状态,则把所述读请求转发给宿主节点;
当接收到L1 Cache的写请求时,查找牺牲Cache,若请求的地址存在且其所在的Cache行的目录状态为共享状态,则把该地址从牺牲Cache中删除,把所述写请求转发给宿主节点;若请求的地址存在且其所在的Cache行的目录状态为修改状态,则向L1 Cache返回写授权以及请求的数据块,并把该地址从牺牲Cache中删除;若该请求的地址不存在或处于无效状态,则把所述写请求转发给宿主节点;
当接收到来自宿主节点的无效请求时,查找牺牲Cache,若请求的地址所在的Cache行的目录状态为共享状态,则把该Cache行从牺牲Cache中删除,并向宿主节点返回无效回应消息;若请求的地址所在的Cache行的目录状态为修改状态,则把该Cache行从牺牲Cache中删除,并向宿主节点返回相应的数据块;若请求的地址不存在或处于无效状态,则把所述无效请求转发给处理器;
当牺牲Cache由于容量冲突必须进行替换时,若要替换的Cache行的目录状态为共享状态,则向宿主节点发出替换请求,接收到宿主节点的替换回应信号后,将所述Cache行从牺牲Cache中删除;若要替换的Cache行的目录状态为修改状态,则向宿主节点发出写回请求,接收到宿主节点的写回回应信号后,将所述Cache行从牺牲Cache中删除。
其中,所有处理器的读写缺失请求都引发对宿主节点L2 Cache的访问,这些访问由目录控制器捕获,所述目录控制器首先查找活跃目录Cache中的目录信息,然后根据请求的类型决定是否向本地L2Cache发送读写请求。
其中,当请求为读请求时:
如果活跃目录Cache命中,在目录向量中加入请求节点的位置,如果命中的Cache行的目录状态为共享状态,则向本地L2 Cache发出读数据请求,得到L2 Cache的数据回应后,将请求的数据块转发给请求节点,完成读操作;如果命中的Cache行的目录状态为修改状态,则向拥有该数据块的共享节点发出降级写回请求,目录控制器接收到写回的数据时,将写回的数据块转发给请求节点,并把该数据块写回本地L2 Cache,目录状态变为修改状态;如果活跃目录Cache缺失,则在活跃目录Cache中添加目录项,然后向本地L2 Cache发出读请求,得到L2 Cache的数据回应后,把请求的数据块转发给请求节点,目录状态变为共享状态。
其中,当请求为写请求时:
如果活跃目录Cache命中且命中的Cache行的目录状态为共享状态,则向所有共享节点发出无效信号,并向本地L2 Cache发出读请求,目录控制器收集到所有的无效回应消息后,将相应的节点位置从目录向量中删除,把从本地L2 Cache返回的数据块回应转发给请求节点,把目录状态改变为修改状态,在目录向量中加入请求节点的位置;如果命中的Cache的目录状态为修改状态,则向共享节点发出无效并写回请求,目录控制器收到写回的数据块时,相应的节点位置从目录向量中删除,把数据块转发给请求节点,在目录向量中加入请求节点的位置;如果活跃目录Cache未命中,则在活跃目录Cache中添加目录项,向本地L2 Cache发出读请求,得到本地L2 Cache的数据回应后,把请求的数据块转发给请求节点,目录状态变为修改状态,在目录向量中加入请求节点的位置。
其中,当请求为替换请求时:
将相应的节点位置从目录向量中删除,并向请求节点返回替换回应信号;如果请求的地址是唯一的共享节点,则把该目录向量从活跃目录Cache中删除。
其中,当请求为写回请求时:
将相应的节点位置从目录向量中删除,把要写回的数据块写回到本地L2 Cache,并向请求节点返回写回回应信号,把该目录向量从活跃目录Cache中删除。
其中,当活跃目录Cache由于容量冲突而发生替换时,进行替换操作:向所有共享节点发出无效请求,如果目录状态为共享状态,则目录控制器收集到所有的无效回应后,把该目录向量从活跃目录Cache中删除;如果目录状态为修改状态,则目录控制器收到写回的数据块后,把该数据块写回到本地L2 Cache中,然后删除该目录向量。
其中,当接收到本地L2 Cache的无效请求时,如果活跃目录Cache不命中,则直接向本地L2 Cache返回无效回应信号;如果活跃目录Cache命中,则进行活跃目录Cache的替换操作,替换操作完成后,向本地L2 Cache返回无效回应信号或写回信号,把目录向量从活跃目录Cache中删除。
(三)有益效果
本发明的用于多核处理器的网络牺牲Cache结构是在网络接口部件中增加一个牺牲Cache,存放从L1 Cache替换出来的数据。根据数据的局部性原理,从L1 Cache替换出来的数据通常会被再次访问。后续对该地址的访问可以在牺牲Cache中得到满足,从而减少到宿主节点的缺失访问请求的数目,降低了L1 Cache缺失访问延迟。在网络牺牲Cache结构中,目录信息由网络接口部件中的活跃目录Cache维护,L2 Cache中不保存和维护目录信息,提高了目录的使用效率,减少了目录的浪费。实验结果表明,在采用网络牺牲Cache结构的16核处理器中,系统的性能平均提高了24%,系统的存储开销降低了1%。网络牺牲Cache通过减少远程访问来提高系统的性能,随着处理器规模的扩大,其性能优势会更加显著。。
附图说明
图1为依照本发明一种实施方式的用于多核处理器的网络牺牲Cache结构示意图;
图2为依照本发明一种实施方式的基于图1的网络牺牲Cache的数据请求方法示意图。
具体实施方式
对于本发明所提出的用于多核处理器的网络牺牲Cache及基于该网络牺牲Cache的数据请求方法,结合附图和实施例详细说明。
本发明提供了一种用于多核处理器的网络牺牲Cache结构,在网络接口部件中增加一个牺牲Cache(Victim Cache),存放从L1 Cache替换出来的数据。根据数据的局部性原理,从L1 Cache替换出来的数据通常会被再次访问。后续对该地址的访问可以在牺牲Cache中得到满足,从而减少到宿主节点的缺失访问请求的数目,降低L1 Cache缺失访问的延迟,提高多核处理器的性能。目录信息由网络接口中的活跃目录Cache维护,L2 Cache中不再保存和维护目录信息,目的是降低片上目录存储开销。
如图1所示,依照本发明一种实施方式的用于多核处理器的网络牺牲Cache,该网络牺牲Cache设置于网络接口部件中,包括:
牺牲Cache,用于存放从L1 Cache替换出来的数据块;L1 Cache的缺失访问请求经过网络接口部件时,首先查找牺牲Cache,如果请求能够满足,则把数据返回给处理器,并把数据块从牺牲Cache中删除。
活跃目录Cache,用于保存以及维护目录信息,进一步包括:目录存储部件、目录控制器、以及L2 Cache接口。
目录存储部件,为Cache结构,Cache行由地址标签、目录状态、以及目录向量组成;目录向量的目的是跟踪缓存该地址的私有Cache的位置。目录向量中为每一个包含私有L1 Cache的处理器核保留一个共享位。
目录控制器的作用是维护目录存储部件中每一个Cache行的目录状态和目录向量。处理器的读写缺失请求都会引发对宿主节点L2Cache的访问,这些访问被网络接口上的目录控制器捕获。目录控制器首先查找活跃目录Cache中的目录信息,然后根据请求的类型决定是否向本地L2 Cache发送读写请求。
L2 Cache接口,为所述活跃目录Cache与L2 Cache的接口。处理器的读写缺失请求在访问活跃目录Cache后,把必要的L2 Cache读写请求通过L2 Cache接口发送给L2 Cache,把L2 Cache的回应信号返回给活跃目录Cache。
本发明还提供了一种基于上述用于多核处理器的网络牺牲Cache的路由方法,如图2所示,该方法包括步骤:
当接收到L1 Cache的替换请求时,牺牲Cache为请求的地址分配一个Cache行,保存要替换的数据块,将分配的Cache行的目录状态设为共享(S)状态,并向L1 Cache返回替换回应信号;
当接收到L1 Cache的写回请求时,牺牲Cache为请求的地址分配一个Cache行,保存要写回的数据块,将分配的Cache行的目录状态设为修改(M)状态,并向L1 Cache返回写回回应信号;
当接收到L1 Cache的读请求时,查找牺牲Cache,若请求的地址存在且其所在Cache行的目录状态为S,则向L1 Cache返回请求的数据块,并把该地址从牺牲Cache中删除,L1 Cache接收到该数据后把状态修改为修改(M)状态;若请求的地址存在且其所在的Cache行的目录状态为M,则向L1 Cache返回请求的数据块,标识该数据块为脏数据,并将该地址从牺牲Cache中删除;若请求的地址不存在或处于无效状态,则把所述读请求转发给宿主节点;
当接收到L1 Cache的写请求时,查找牺牲Cache,若请求的地址存在且其所在的Cache行的目录状态为S,则把该地址从牺牲Cache中删除,把所述写请求转发给宿主节点;若请求的地址存在且其所在的Cache行的目录状态为M,则向L1 Cache返回写授权以及请求的数据块,并把该地址从牺牲Cache中删除;若该请求的地址不存在或处于无效状态,则把所述写请求转发给宿主节点;
当接收到来自宿主节点的无效请求时,查找牺牲Cache,若请求的地址所在的Cache行的目录状态为S,则把该Cache行从牺牲Cache中删除,并向宿主节点返回无效回应消息;若请求的地址所在的Cache行的目录状态为M,则把该Cache行从牺牲Cache中删除,并向宿主节点返回相应的数据块;若请求的地址不存在或处于无效状态,则把所述无效请求转发给处理器;
当牺牲Cache由于容量冲突必须进行替换时,若要替换的Cache行的目录状态为S,则向宿主节点发出替换请求,接收到宿主节点的替换回应信号后,将所述Cache行从牺牲Cache中删除;若要替换的Cache行的目录状态为M,则向宿主节点发出写回请求,接收到宿主节点的写回回应信号后,将所述Cache行从牺牲Cache中删除。
所有处理器的读写缺失请求都引发对宿主节点L2 Cache的访问,这些访问由目录控制器捕获,所述目录控制器首先查找活跃目录Cache中的目录信息,然后根据请求的类型决定是否向本地L2 Cache发送读写请求。
当请求为读请求时:
如果活跃目录Cache命中,在目录向量中加入请求节点的位置,如果命中的Cache行的目录状态为S,则向本地L2 Cache发出读数据请求,得到L2 Cache的数据回应后,将请求的数据块转发给请求节点,完成读操作;如果命中的Cache行的目录状态为M,则向拥有该数据块的共享节点发出降级写回请求,目录控制器接收到写回的数据时,将写回的数据块转发给请求节点,并把该数据块写回本地L2 Cache,目录状态变为M;如果活跃目录Cache缺失,则在活跃目录Cache中添加目录项,然后向本地L2 Cache发出读请求,得到L2 Cache的数据回应后,把请求的数据块转发给请求节点,目录状态变为S。
当请求为写请求时:
如果活跃目录Cache命中且命中的Cache行的目录状态为共享状态,则向所有共享节点发出无效信号,并向本地L2 Cache发出读请求,目录控制器收集到所有的无效回应消息后,将相应的节点位置从目录向量中删除,把从本地L2 Cache返回的数据块回应转发给请求节点,把目录状态改变为M,在目录向量中加入请求节点的位置;如果命中的Cache的目录状态为M,则向共享节点发出无效并写回请求,目录控制器收到写回的数据块时,相应的节点位置从目录向量中删除,把数据块转发给请求节点,在目录向量中加入请求节点的位置;如果活跃目录Cache未命中,则在活跃目录Cache中添加目录项,向本地L2Cache发出读请求,得到L2 Cache的数据回应后,把请求的数据块转发给请求节点,目录状态变为M,在目录向量中加入请求节点的位置。
当请求为替换请求时:
将相应的节点位置从目录向量中删除,并向请求节点返回替换回应信号;如果请求的地址是唯一的共享节点,则把该目录向量从活跃目录Cache中删除。
当请求为写回请求时:
将相应的节点位置从目录向量中删除,把要写回的数据块写回到本地L2 Cache,并向请求节点返回写回回应信号,把该目录向量从活跃目录Cache中删除。
当活跃目录Cache由于容量冲突而发生替换时,进行替换操作:向所有共享节点发出无效请求,如果目录状态为S,则目录控制器收集到所有的无效回应后,把该目录向量从活跃目录Cache中删除;如果目录状态为M,则目录控制器收到写回的数据块后,把该数据块写回到本地L2 Cache中,然后删除该目录向量。
当接收到本地L2 Cache的无效请求时,如果活跃目录Cache不命中,则直接向本地L2 Cache返回无效回应信号;如果活跃目录Cache命中,则进行活跃目录Cache的替换操作,替换操作完成后,向本地L2 Cache返回无效回应信号或写回信号,把目录向量从活跃目录Cache中删除。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (10)
1.一种用于多核处理器的网络牺牲Cache,设置于网络接口部件中,其特征在于,该网络牺牲Cache包括:
牺牲Cache,用于存放从L1 Cache替换出来的数据块;
活跃目录Cache,用于保存以及维护目录信息。
2.如权利要求1所述的用于多核处理器的网络牺牲Cache,其特征在于,所述活跃目录Cache进一步包括:
目录存储部件,为Cache结构,Cache行由地址标签、目录状态、以及目录向量组成;
目录控制器,用于维护所述目录存储部件中每一个Cache行的目录状态以及目录向量;
L2 Cache接口,为所述活跃目录Cache与L2 Cache的接口。
3.一种基于权利要求1-2任一项所述的用于多核处理器的网络牺牲Cache的数据请求方法,其特征在于,该方法包括步骤:
当接收到L1 Cache的替换请求时,牺牲Cache为请求的地址分配一个Cache行,保存要替换的数据块,将分配的Cache行的目录状态设为共享状态,并向L1 Cache返回替换回应信号;
当接收到L1 Cache的写回请求时,牺牲Cache为请求的地址分配一个Cache行,保存要写回的数据块,将分配的Cache行的目录状态设为修改状态,并向L1 Cache返回写回回应信号;
当接收到L1 Cache的读请求时,查找牺牲Cache,若请求的地址存在且其所在Cache行的目录状态为共享状态,则向L1 Cache返回请求的数据块,并把该地址从牺牲Cache中删除;若请求的地址存在且其所在的Cache行的目录状态为修改状态,则向L1 Cache返回请求的数据块,标识该数据块为脏数据,并将该地址从牺牲Cache中删除;若请求的地址不存在或处于无效状态,则把所述读请求转发给宿主节点;
当接收到L1 Cache的写请求时,查找牺牲Cache,若请求的地址存在且其所在的Cache行的目录状态为共享状态,则把该地址从牺牲Cache中删除,把所述写请求转发给宿主节点;若请求的地址存在且其所在的Cache行的目录状态为修改状态,则向L1 Cache返回写授权以及请求的数据块,并把该地址从牺牲Cache中删除;若该请求的地址不存在或处于无效状态,则把所述写请求转发给宿主节点;
当接收到来自宿主节点的无效请求时,查找牺牲Cache,若请求的地址所在的Cache行的目录状态为共享状态,则把该Cache行从牺牲Cache中删除,并向宿主节点返回无效回应消息;若请求的地址所在的Cache行的目录状态为修改状态,则把该Cache行从牺牲Cache中删除,并向宿主节点返回相应的数据块;若请求的地址不存在或处于无效状态,则把所述无效请求转发给处理器;
当牺牲Cache由于容量冲突必须进行替换时,若要替换的Cache行的目录状态为共享状态,则向宿主节点发出替换请求,接收到宿主节点的替换回应信号后,将所述Cache行从牺牲Cache中删除;若要替换的Cache行的目录状态为修改状态,则向宿主节点发出写回请求,接收到宿主节点的写回回应信号后,将所述Cache行从牺牲Cache中删除。
4.如权利要求3所述的数据请求方法,其特征在于,所有处理器的读写缺失请求都引发对宿主节点L2 Cache的访问,这些访问由目录控制器捕获,所述目录控制器首先查找活跃目录Cache中的目录信息,然后根据请求的类型决定是否向本地L2 Cache发送读写请求。
5.如权利要求4所述的数据请求方法,其特征在于,当请求为读请求时:
如果活跃目录Cache命中,在目录向量中加入请求节点的位置,如果命中的Cache行的目录状态为共享状态,则向本地L2 Cache发出读数据请求,得到L2 Cache的数据回应后,将请求的数据块转发给请求节点,完成读操作;如果命中的Cache行的目录状态为修改状态,则向拥有该数据块的共享节点发出降级写回请求,目录控制器接收到写回的数据时,将写回的数据块转发给请求节点,并把该数据块写回本地L2 Cache,目录状态变为修改状态;如果活跃目录Cache缺失,则在活跃目录Cache中添加目录项,然后向本地L2 Cache发出读请求,得到L2 Cache的数据回应后,把请求的数据块转发给请求节点,目录状态变为共享状态。
6.如权利要求4所述的数据请求方法,其特征在于,当请求为写请求时:
如果活跃目录Cache命中且命中的Cache行的目录状态为共享状态,则向所有共享节点发出无效信号,并向本地L2 Cache发出读请求,目录控制器收集到所有的无效回应消息后,将相应的节点位置从目录向量中删除,把从本地L2 Cache返回的数据块回应转发给请求节点,把目录状态改变为修改状态,在目录向量中加入请求节点的位置;如果命中的Cache的目录状态为修改状态,则向共享节点发出无效并写回请求,目录控制器收到写回的数据块时,相应的节点位置从目录向量中删除,把数据块转发给请求节点,在目录向量中加入请求节点的位置;如果活跃目录Cache未命中,则在活跃目录Cache中添加目录项,向本地L2 Cache发出读请求,得到本地L2 Cache的数据回应后,把请求的数据块转发给请求节点,目录状态变为修改状态,在目录向量中加入请求节点的位置。
7.如权利要求4所述的数据请求方法,其特征在于,当请求为替换请求时:
将相应的节点位置从目录向量中删除,并向请求节点返回替换回应信号;如果请求的地址是唯一的共享节点,则把该目录向量从活跃目录Cache中删除。
8.如权利要求4所述的数据请求方法,其特征在于,当请求为写回请求时:
将相应的节点位置从目录向量中删除,把要写回的数据块写回到本地L2 Cache,并向请求节点返回写回回应信号,把该目录向量从活跃目录Cache中删除。
9.如权利要求4所述的数据请求方法,其特征在于,当活跃目录Cache由于容量冲突而发生替换时,进行替换操作:向所有共享节点发出无效请求,如果目录状态为共享状态,则目录控制器收集到所有的无效回应后,把该目录向量从活跃目录Cache中删除;如果目录状态为修改状态,则目录控制器收到写回的数据块后,把该数据块写回到本地L2 Cache中,然后删除该目录向量。
10.如权利要求9所述的数据请求方法,其特征在于,当接收到本地L2 Cache的无效请求时,如果活跃目录Cache不命中,则直接向本地L2 Cache返回无效回应信号;如果活跃目录Cache命中,则进行活跃目录Cache的替换操作,替换操作完成后,向本地L2 Cache返回无效回应信号或写回信号,把目录向量从活跃目录Cache中删除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106210698A CN102063407B (zh) | 2010-12-24 | 2010-12-24 | 用于多核处理器的网络牺牲Cache及基于该Cache的数据请求方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010106210698A CN102063407B (zh) | 2010-12-24 | 2010-12-24 | 用于多核处理器的网络牺牲Cache及基于该Cache的数据请求方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102063407A true CN102063407A (zh) | 2011-05-18 |
CN102063407B CN102063407B (zh) | 2012-12-26 |
Family
ID=43998688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106210698A Expired - Fee Related CN102063407B (zh) | 2010-12-24 | 2010-12-24 | 用于多核处理器的网络牺牲Cache及基于该Cache的数据请求方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102063407B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729309A (zh) * | 2014-01-15 | 2014-04-16 | 浪潮电子信息产业股份有限公司 | 一种目录Cache一致性方法 |
CN104360982A (zh) * | 2014-11-21 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 一种基于可重构芯片技术的主机系统目录结构实现方法和系统 |
CN108781170A (zh) * | 2016-03-03 | 2018-11-09 | 华为技术有限公司 | 一种配置装置及方法 |
EP3588310A1 (en) * | 2018-06-30 | 2020-01-01 | INTEL Corporation | Technologies for demoting cache lines to shared cache |
CN114020656A (zh) * | 2021-11-05 | 2022-02-08 | 中国电子科技集团公司第五十八研究所 | 多核SOC中非阻塞L1 Cache |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003102781A1 (en) * | 2002-06-04 | 2003-12-11 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy |
CN101859281A (zh) * | 2009-04-13 | 2010-10-13 | 廖鑫 | 基于集中式目录的嵌入式多核缓存一致性方法 |
-
2010
- 2010-12-24 CN CN2010106210698A patent/CN102063407B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003102781A1 (en) * | 2002-06-04 | 2003-12-11 | Sandbridge Technologies, Inc. | Method and apparatus for multithreaded cache with simplified implementation of cache replacement policy |
CN101859281A (zh) * | 2009-04-13 | 2010-10-13 | 廖鑫 | 基于集中式目录的嵌入式多核缓存一致性方法 |
Non-Patent Citations (1)
Title |
---|
《IPCCC of IEEE 28th》 20091216 Jinglei Wang etc. Network Caching for Chip Multiprocessors 第341-348页 1-2 , 2 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729309A (zh) * | 2014-01-15 | 2014-04-16 | 浪潮电子信息产业股份有限公司 | 一种目录Cache一致性方法 |
CN103729309B (zh) * | 2014-01-15 | 2017-06-30 | 浪潮电子信息产业股份有限公司 | 一种目录Cache一致性方法 |
CN104360982A (zh) * | 2014-11-21 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 一种基于可重构芯片技术的主机系统目录结构实现方法和系统 |
WO2016078205A1 (zh) * | 2014-11-21 | 2016-05-26 | 浪潮(北京)电子信息产业有限公司 | 一种主机系统目录结构实现方法和系统 |
CN104360982B (zh) * | 2014-11-21 | 2017-11-10 | 浪潮(北京)电子信息产业有限公司 | 一种基于可重构芯片技术的主机系统目录结构实现方法和系统 |
US9892042B2 (en) | 2014-11-21 | 2018-02-13 | Inspur (Beijing) Electronic Information Industry Co., Ltd. | Method and system for implementing directory structure of host system |
CN108781170A (zh) * | 2016-03-03 | 2018-11-09 | 华为技术有限公司 | 一种配置装置及方法 |
CN108781170B (zh) * | 2016-03-03 | 2020-12-08 | 华为技术有限公司 | 一种配置装置及方法 |
EP3588310A1 (en) * | 2018-06-30 | 2020-01-01 | INTEL Corporation | Technologies for demoting cache lines to shared cache |
US10657056B2 (en) | 2018-06-30 | 2020-05-19 | Intel Corporation | Technologies for demoting cache lines to shared cache |
CN114020656A (zh) * | 2021-11-05 | 2022-02-08 | 中国电子科技集团公司第五十八研究所 | 多核SOC中非阻塞L1 Cache |
Also Published As
Publication number | Publication date |
---|---|
CN102063407B (zh) | 2012-12-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102063406B (zh) | 用于多核处理器的网络共享Cache及其目录控制方法 | |
JP6314355B2 (ja) | メモリ管理方法およびデバイス | |
KR102204751B1 (ko) | 클러스터 레벨에서의 데이터 일관성 모델 및 프로토콜 | |
US7502889B2 (en) | Home node aware replacement policy for caches in a multiprocessor system | |
CN100373353C (zh) | 具有储存远程快取存在信息的处理器高速缓存的计算机系统 | |
CN101382953B (zh) | 在用户空间访问文件系统的接口系统与文件读、写方法 | |
US5434993A (en) | Methods and apparatus for creating a pending write-back controller for a cache controller on a packet switched memory bus employing dual directories | |
CN102804152B (zh) | 对存储器层次结构中的闪存的高速缓存一致性支持 | |
US6408362B1 (en) | Data processing system, cache, and method that select a castout victim in response to the latencies of memory copies of cached data | |
US8539164B2 (en) | Cache coherency within multiprocessor computer system | |
KR100978156B1 (ko) | 스누프 필터에서의 실효를 감소시키기 위한 라인 스와핑 스킴을 위한 방법, 장치, 시스템 및 컴퓨터 판독 가능 기록 매체 | |
KR101442091B1 (ko) | 가상화 시스템에서의 메모리 관리 방법 | |
CN102150147A (zh) | 存储器服务器 | |
US20120290786A1 (en) | Selective caching in a storage system | |
CN101593160A (zh) | 减少来自侦听过滤器的后无效事务 | |
CN102063407B (zh) | 用于多核处理器的网络牺牲Cache及基于该Cache的数据请求方法 | |
CN103597455A (zh) | 用于大型数据缓存的有效标签存储 | |
CN102207830A (zh) | 一种缓存动态分配管理方法及装置 | |
CN102262512A (zh) | 一种实现磁盘阵列缓存分区管理的系统、装置及方法 | |
CN103294611A (zh) | 一种基于有限数据一致性状态的服务器节点数据缓存方法 | |
US20170364442A1 (en) | Method for accessing data visitor directory in multi-core system and device | |
US8930640B2 (en) | Multiprocessor computer system with reduced directory requirement | |
CN101377788B (zh) | 一种机群文件系统中缓存管理的方法及系统 | |
JPH11143779A (ja) | 仮想記憶装置におけるページング処理システム | |
CN103246622B (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20121226 |
|
CF01 | Termination of patent right due to non-payment of annual fee |