一种缓存数据控制方法、节点控制器和系统技术方案

技术编号:12034303 阅读:168 留言:0更新日期:2015-09-10 23:17
本发明专利技术实施例公开了一种缓存数据控制方法,节点控制器接收源节点发送的数据访问请求;其中,数据访问请求携带访问地址和访问类型;若访问类型为共享请求,节点控制器查询第一目录中是否存在访问地址的第一目录项,若为是,确定访问地址对应的缓存数据为独占态;根据第一目录项中的存储位置确定缓存数据所在的目标节点;节点控制器向目标节点发送第一侦听消息,第一侦听消息用于指示目标节点将缓存数据返回给节点控制器;节点控制器将缓存数据返回至源节点,并删除第一目录中第一目录项。本发明专利技术实施例还公开了一种节点控制器。采用本发明专利技术,能较少目录对存储空间的需求。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种缓存数据控制方法、节点控制器和系统
技术介绍
在高性能处理器组建的CC-NUMA系统中,由于处理器本身的扩展能力有限,需要将处理器分成多个节点,利用节点内的NC (Node Controller,节点控制器,简称NC)进行多处理器扩展,以增加并行处理的处理器个数,提升系统性能。CC-NUMA系统中,处理器通常具有大容量的扩展内存和较大容量的高速缓存(例如,L3缓存)。例如,常见的CC-NUMA系统中,单个处理器的扩展内存达到IT以上,L3缓存的容量达到30MB左右,一个节点的扩展内存的容量通常在几个TB,以一个16个处理器的CC-NUMA系统为例,节点的处理器的L3缓存的总容量达到30*16 = 480MB左右,缓存的容量远远小于内存容量。在NC中为每一个Cache Line都设置一个目录项记录是没有,NC—般会采用压缩目录的方式,以减少目录的容量。但是随着节点内扩展内存的急剧增加,目录的容量也急剧增加,现有的压缩目录的方式无法很好的减少目录存储空间的需求。
技术实现思路
本专利技术实施例所要解决的技术问题在于,提供一种一种缓存数据控制方法、节点控制器和系统。可减少目录对存储空间的需求。为了解决上述技术问题,本专利技术实施例第一方面提供了一种多处理器系统的缓存数据控制方法,包括:节点控制器接收源节点发送的数据访问请求;其中,所述数据访问请求携带访问地址和访问类型;若所述访问类型为共享请求,所述节点控制器查询第一目录中是否存在所述访问地址的第一目录项,若为是,确定所述访问地址对应的缓存数据为独占态;根据所述第一目录项中的存储位置确定所述缓存数据所在的目标节点;所述节点控制器向所述目标节点发送第一侦听消息,所述第一侦听消息用于指示所述目标节点将所述缓存数据返回给所述节点控制器;所述节点控制器将所述缓存数据返回至所述源节点,并删除所述第一目录中所述第一目录项。结合第一方面,在第一种可能的实现方式中,还包括:若所述访问类型为独占请求且所述第一目录中存在所述访问地址的第一目录项,确定所述访问地址对应的缓存数据为独占态;根据所述第一目录项中的存储位置确定所述缓存数据所在的目标节点;所述节点控制器向所述目标节点节点发起第二侦听消息,所述第二侦听消息用于指示所述目标节点将所述数据缓存返回给所述节点控制器;所述节点控制器将所述访问地址对应的缓存数据返回至所述源节点,并更新所述第一目录中所述访问地址的目录项。结合第一方面,在第二种可能的实现方式中,还包括:若所述访问类型为共享请求且所述第一目录中不存在所述访问地址的第一目录项,查询所述访问地址对应的目标处理器;所述节点控制器向所述目标处理器发送所述共享请求,所述共享请求用于指示所述目标处理器在第二目录中查询所述访问地址的第二目录项,若根据所述第二目录项确定所述缓存数据为共享态且所述目标处理器关联的缓存中存在所述缓存数据,所述目标处理器向所述节点控制器返回所述缓存数据;所述节点控制器所述缓存数据返回至所述源节点。结合第一方面的第一种可能的实现方式,在第三种可能的实现方式中,还包括:若所述访问类型为独占请求且所述第一目录中不存在所述访问地址的第一目录项,查询所述访问地址对应的目标处理器; 所述节点控制器向所述目标处理器发送所述独占请求,所述独占请求用于指示所述目标处理器在第二目录中查询所述访问地址的第二目录项,在所述第二目录项中确定所述缓存数据的存储状态和存储位置,若所述数据缓存为共享态,所述目标处理器向所述目标处理器所在的节点内的其他处理器和所述存储位置对应的节点发送第三侦听消息,所述第三侦听消息用于指示所述其他处理器或所述存储位置对应的其他节点返回所述数据缓存;所述节点控制器将所述数据缓存返回至所述源节点,并在所述第一目录中创建所述访问地址的第三目录项。结合第一方面至第三种可能的实现方式中的任意一种,在第四种可能的实现方式中,所述数据访问请求可以由本地节点中的任意一个处理器发出或所述至少一个远端节点中任意一个远端节点发出。本专利技术实施例第二方面提供了一种节点控制器,包括:接收模块,用于接收源节点发送的数据访问请求;其中,所述数据访问请求携带访问地址和访问类型,所述节点控制器位于本地节点;第一查询模块,用于若所述访问类型为共享请求,查询第一目录中是否存在所述访问地址的第一目录项,若为是,确定所述访问地址对应的缓存数据为独占态;第一确定模块,用于根据所述第一目录项中的存储位置确定所述缓存数据所在的第一远端目标节点;第一发送模块,用于向所述目标节点发送第一侦听消息,所述第一侦听消息用于指示所述目标节点将所述缓存数据返回给所述节点控制器;删除模块,用于将所述缓存数据返回至所述源节点,并删除所述第一目录中所述第一目录项。结合第二方面,在第一种可能的实现方式中,还包括:第二查询模块,用于若所述访问类型为独占请求且所述第一目录中存在所述访问地址的第一目录项,确定所述访问地址对应的缓存数据为独占态;第二确定模块,用于根据所述第一目录项中的存储位置确定所述缓存数据所在的目标节点;第二发送模块,用于向所述目标节点节点发起第二侦听消息,所述第二侦听消息用于指示所述目标节点将所述数据缓存返回给所述节点控制器;更新模块,用于将所述访问地址对应的缓存数据返回至所述源节点,并更新所述第一目录中所述访问地址的目录项。结合第二方面,在第二种可能的实现方式中,还包括:第三查询模块,用于若所述访问类型为共享请求且所述第一目录中不存在所述访问地址的第一目录项,查询所述访问地址对应的目标处理器;第三发送模块,用于向所述目标处理器发送所述共享请求,所述共享请求用于指示所述目标处理器在第二目录中查询所述访问地址的第二目录项,若根据所述第二目录项确定所述缓存数据为共享态且所述目标处理器关联的缓存中存在所述缓存数据,所述目标处理器向所述节点控制器返回所述缓存数据;返回模块,用于所述缓存数据返回至所述源节点。结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:第四查询模块,用于若所述访问类型为独占请求且所述第一目录中不存在所述访问地址的第一目录项,查询所述访问地址对应的目标处理器;第四发送模块,用于向所述目标处理器发送所述独占请求,所述独占请求用于指示所述目标处理器在第二目录中查询所述访问地址的第二目录项,在所述第二目录项中确定所述缓存数据的存储状态和存储位置,若所述数据缓存为共享态,所述目标处理器向所述目标处理器所在的节点内的其他处理器和所述存储位置对应的节点发送第三侦听消息,所述第三侦听消息用于指示所述其他处理器或所述存储位置对应的其他节点返回所述数据缓存;创建模块,用于将所述数据缓存返回至所述源节点,并在所述第一目录中创建所述访问地址的第三目录项。本专利技术实施例第三方面提供了一种多处理器系统,其特征在于,包括至少两个节点,其中,每个节点中有两个上述任意一项所述的节点控制器。实施本专利技术实施例,具有如下有益效果:节点控制器的目录中只记录独占态的缓存数据的目录项,不再记录共享态的缓存数据的目录项,这样减少目录对存储空间的需求,提高节点内存储器的利用率。【附图说明】为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附本文档来自技高网...

【技术保护点】
一种多处理器系统的缓存数据控制方法,其特征在于,包括:节点控制器接收源节点发送的数据访问请求;其中,所述数据访问请求携带访问地址和访问类型;若所述访问类型为共享请求,所述节点控制器查询第一目录中是否存在所述访问地址的第一目录项,若为是,确定所述访问地址对应的缓存数据为独占态;根据所述第一目录项中的存储位置确定所述缓存数据所在的目标节点;所述节点控制器向所述目标节点发送第一侦听消息,所述第一侦听消息用于指示所述目标节点将所述缓存数据返回给所述节点控制器;所述节点控制器将所述缓存数据返回至所述源节点,并删除所述第一目录中所述第一目录项。

【技术特征摘要】

【专利技术属性】
技术研发人员:程永波
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1