一种精简目录及利用该精简目录实现Cache一致性监听的方法技术

技术编号:16605474 阅读:42 留言:0更新日期:2017-11-22 15:15
本发明专利技术公开了一种精简目录及利用该精简目录实现Cache一致性监听的方法,精简目录包括内存表项和目录表项,所述内存表项的每项表示内存存储块,与目录表项的每项一一对应,所述目录表项的每项仅记录Cache块的状态信息。利用该精简目录进行Cache一致性监听的方法为,内存宿主查询精简目录的Cache状态后,判断需要进行监听广播时,通过监听扇出策略保证有且仅有1笔相关的监听报文在互连网络上传播。与现有技术相比,本发明专利技术的精简目录大幅度见笑了目录实现的存储开销,可扩展性良好,利用精简目录进行报文监听时,利用监听扇出原则,减少报文数量,保证互联网络带宽不受影响。

A simplified directory and the use of the reduced directory to achieve Cache consistency monitoring method

The invention discloses a streamlined directory and a method using the streamlined directory implementation of Cache conformance monitoring, including streamlining directory entries and memory directory entry, the memory table each said memory blocks, and directory entries for each corresponding to the directory entry for each item only record Cache block state information. Using the simplified directory for Cache consistency monitoring method, the memory host query to simplify the directory Cache state, to determine the need to monitor the broadcast, by monitoring fan out strategy to ensure that there are only 1 pen related monitoring packets spread over the interconnection network. Compared with the prior art, the invention greatly reduced the directory in the directory at the storage overhead, good scalability, with simplified directory message monitoring, monitor the use of fanout principle, reduce the message number, ensure Internet bandwidth is not affected.

【技术实现步骤摘要】
一种精简目录及利用该精简目录实现Cache一致性监听的方法
本专利技术涉及计算机
,具体地说是一种精简目录及利用该精简目录实现Cache一致性监听的方法。
技术介绍
随着芯片工艺和制造技术突飞猛进,处理器技术也随之不断发展和进步。几十个处理器计算核心甚至是一个完整的计算机系统都能够被集成在一颗硅片上。共享内存架构得益于其相对集群架构在同等结点规模下更加紧凑,计算性能更高的优势,成为当前科学计算中主流的编程模型。在分布式共享内存多处理器系统中,同一内存单元可能在多个处理器均有Cache(缓存)副本,带来Cache数据一致性问题。多处理器间的Cache一致性维护不仅关系到系统正确性,也影响系统的性能。Cache一致性协议可采用源监听(SourceSnooping)或目录监听(DirectorySnooping)的方式维护多处理器间Cache一致性。相比于源监听,目录监听适用于CA(CachingAgent,缓存代理)数目、规模更大的多处理器系统,由于其以额外的存储器开销为代价,记录簇内各CA的Cache状态,因此避免了监听报文广播和不必要的总线传输协议处理开销,提供了更好的可扩展性。因此基于目录监听的一致性协议成为目前实现共享内存多处理器系统的主流方法,减少Cache一致性目录实现的开销也变得愈发重要。目录监听利用位向量目录,位向量目录的基本思想是内存中的每个存储器块对应一个目录表项,每个目录表项包含N个指针和状态,N指处理器的个数,这些指针通过位向量标识。位向量的每一位对应于一个处理器,用于指出该处理器中有无该存储器块的拷贝。由于每个内存宿主中都需要有一个占用大量自身存储器空间的完整目录,因此位向量目录主要应用于处理器数较少的系统中。位向量目录的缺点是可扩展性较差。当系统中的处理器个数越多,位向量宽度对应增加,对应的存储开销也就越大。如图1所示,在常规的位向量目录实现方法中,目录表项和系统的内存存储块为一一对应关系,每一个目录表项中都记录与其对应缓存块的共享状态和共享者列表,其中共享者列表(PresenceBit)的每一位对应于一个处理器。一般地,假设系统中处理器数为N,每个结点的局部存储器中有M个存储块,则目录的存储开销为NxMxN=MN2,与系统规模的平方成正比。显然,当系统规模较大时,位向量目录的硬件代价将变得无法容忍。
技术实现思路
为克服上述现有技术存在的不足,本专利技术的目的在于提供一种扩展性良好、存储开销小的精简目录及利用该精简目录实现Cache一致性监听的方法。本专利技术解决其技术问题所采用的技术方案是:一种精简目录,包括内存表项和目录表项,所述内存表项的每项表示内存存储块,与目录表项的每项一一对应,所述目录表项的每项仅记录与相应内存存储块对应的Cache块的状态信息。优选地,所述Cache块的状态信息共2位。优选地,2位状态信息表示为state[1]和state[0];state[0]用于指示远端处理器的Cache块是否有对应内存存储块的拷贝,state[1]用于指示远端处理器的Cache块的状态是否为独占。优选地,所述state[0]的值为1或0,若state[0]的值为1,则指示远端处理器的Cache块有对应内存存储块的拷贝,否则指示远端处理器的Cache块没有对应内存存储块的拷贝;所述state[1]为1或0,若state[1]的值为1则指示远端处理器的Cache块状态为独占,否则指示远端处理器的Cache块状态为共享。利用所述的精简目录实现Cache一致性监听的方法,包括以下步骤:内存宿主根据接收的一致性报文获取对应内存存储块的位置;内存控制器获取内存存储块对应的目录表项中Cache块的状态信息;判断state[0]的值,若state[0]为0,则向内存控制器直接推送针对内存存储块的访问请求,使该内存存储块进行读写操作;若state[0]为1,则进一步判断state[1]的值及一致性报文的类型;若state[1]的值为1,或者一致性报文的类型为独占读或失效,则内存宿主向系统中所有处理器发起监听操作,若state[1]的值为0,且一致性报文的类型为独占读或失效时,内存控制器直接推送针内存存储块的访问请求,使该内存存储块进行读写操作。优选地,在内存控制器获取内存存储块对应的目录表项中Cache块的状态信息失败时,内存宿主向系统中所有处理器发起监听操作。优选地,所述内存宿主向系统中所有处理器发起监听操作时,根据监听扇出原则,内存宿主在每个端口上发出1笔监听报文,与内存宿主直连的处理器接收并处理该监听报文,并向下一级处理器传播该监听报文。利用本专利技术的技术方案获得的有益效果是:1、本专利技术将目录表项中的内容进行精简,使目录表项的每项仅记录Cache块的状态信息,大幅度减少了目录实现的存储开销,且存储开销与处理器个数呈线性关系,精简目录的可扩展性良好。2、在内存控制器获取内存存储块对应的目录表项中Cache块的状态信息失败时,内存宿主向系统中所有处理器发起监听操作,避免了目录和Cache块状态不一致的风险,保证处理器获取到的数据为最新数据。3、内存宿主向系统中所有处理器发起监听操作是,根据监听扇出原则,发出监听报文,避免目录精简后内存宿主不能精确指出哪些处理器拥有数据拷贝带来的不必要监听增多的问题,保证互联网络带宽性能不受影响。附图说明图1是现有技术中位向量目录的表项示意图。图2是本专利技术精简目录的表项示意图。图3是本专利技术的方法流程图。具体实施方式为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本专利技术进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本专利技术的不同结构。为了简化本专利技术的公开,下文中对特定例子的部件和设置进行描述。此外,本专利技术可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本专利技术省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本专利技术。如图2所示,本专利技术提供了一种实现Cache一致性的精简目录,精简目录包括内存表项和目录表项,其中内存表项的每项表示内存存储块,在数量上与目录表项的每项一一对应,目录表项的每项仅记录与相应内存存储块对应Cache块的状态信息。Cache块的状态信息有2位(2bit),用State[1:0]表示。每位的编码信息具体为:state[0]:用于指示任意远端处理器的Cache块是否有对应内存存储块的拷贝,若state[0]的值为0,则指示无,针对该内存存储块的访问请求被直接推送到内存控制器,进行相应的DRAM读/写操作;若state[0]的值为1,则指示有,需要进一步查询state[1]的信息,决定是否由内存宿主向系统中的所有处理器发起监听操作。state[1]:用于指示远端处理器的Cache块的状态是否为独占,若state[1]的值为0,则指示为共享,当且仅当针对该内存存储块的访问请求为独占读(RFO)或失效(INV)时,内存宿主向系统中所由处理器发起监听操作,否则针对该内存存储块的访问请求被直接推送到内存控制器,进行相应的DRAM读/写操作;若state[1]的值为1,则指示为独占,任何针对该内存本文档来自技高网
...
一种精简目录及利用该精简目录实现Cache一致性监听的方法

【技术保护点】
一种精简目录,包括内存表项和目录表项,所述内存表项的每项表示内存存储块,与目录表项的每项一一对应,其特征是:所述目录表项的每项仅记录与相应内存存储块对应的Cache块的状态信息。

【技术特征摘要】
1.一种精简目录,包括内存表项和目录表项,所述内存表项的每项表示内存存储块,与目录表项的每项一一对应,其特征是:所述目录表项的每项仅记录与相应内存存储块对应的Cache块的状态信息。2.根据权利要求1所述的一种精简目录,其特征是:所述Cache块的状态信息共2位。3.根据权利要求2所述的一种精简目录,其特征是:2位状态信息表示为state[1]和state[0];state[0]用于指示远端处理器的Cache块是否有对应内存存储块的拷贝,state[1]用于指示远端处理器的Cache块的状态是否为独占。4.根据权利要求3所述的一种精简目录,其特征是:所述state[0]的值为1或0,若state[0]的值为1,则指示远端处理器的Cache块有对应内存存储块的拷贝,否则指示远端处理器的Cache块没有对应内存存储块的拷贝;所述state[1]为1或0,若state[1]的值为1则指示远端处理器的Cache块状态为独占,否则指示远端处理器的Cache块状态为共享。5.利用权利要求4所述的精简目录实现Cache一致性监听的方法,其特征是:包...

【专利技术属性】
技术研发人员:周恒钊童元满李仁刚
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1