一种一致性目录构建方法、系统及多处理器计算机系统技术方案

技术编号:13989704 阅读:99 留言:0更新日期:2016-11-13 15:23
本申请公开了一种一致性目录构建方法、系统及多处理器计算机系统,该方法应用于包含N个处理器的多处理器计算机系统;该方法包括:对上述N个处理器进行分组,得到T组处理器,其中,每组处理器均包括n个处理器;利用布隆过滤器,将T组处理器对数据共享情况一对一地映射至T组位向量,得到相应的共享目录向量,其中,每组位向量均包括m位,m小于n。可见,一方面本申请是基于布隆过滤器进行映射处理的,这样确保了一致性目录所占空间较低;另一方面,本申请将不同组的处理器与不同组的位向量进行映射对应,这样相当于使得每组位向量之间处于割裂状态,避免了它们之间产生互相的影响,从而使得不同组位向量之间不会产生映射冲突。

【技术实现步骤摘要】

本专利技术涉及多处理器计算机
,特别涉及一种一致性目录构建方法、系统及多处理器计算机系统
技术介绍
当前,在多处理器计算机系统中,为了维护不同处理器私有Cache(即高速缓冲存储器)中数据的一致性,需要使用Cache一致性协议。基于目录的Cache一致性由于其良好的扩展性,在现代大型计算机系统中得到普遍应用。目前,多处理器计算机系统中的一致性目录的实现形式有全映射目录和通过布隆过滤器产生的一致性目录。其中,全映射目录的实现方式简单,但目录本身所占用的存储空间较大。而通过布隆过滤器产生的一致性目录可以显著地压缩目录所占空间,但不同处理器在目录上的映射位之间可能会产生映射冲突,从而导致伪共享,也即导致某些不具有数据副本的处理器被误判为包含相应的数据副本,这种情况下,被误判的处理器就不得不被迫与外界进行通讯,由此产生了冗余消息。综上所述可以看出,如何在保证一致性目录所占空间较低的前提下,减少由于映射冲突所产生的冗余消息是目前有待解决的问题。
技术实现思路
有鉴于此,本专利技术的目的在于提供一种一致性目录构建方法、系统及多处理器计算机系统,在保证一致性目录所占空间较低的前提下,减少了由于映射冲突所产生的冗余消息。其具体方案如下:一种一致性目录构建方法,应用于包含N个处理器的多处理器计算机系统,其中,N为不小于2的整数;所述方法包括:对所述N个处理器进行分组,得到T组处理器,其中,每组处理器均包括n个处理器;利用布隆过滤器,将所述T组处理器对数据共享情况一对一地映射至T组位向量,得到相应的共享目录向量,其中,每组位向量均包括m位,m小于n。优选的,所述利用布隆过滤器,将所述T组处理器对数据共享情况一对一地映射至T组位向量的过程,包括:预先对所述T组位向量进行初始化,以将所述T组位向量中的每一位均置为0;分别在每组处理器中均执行k次哈希运算,以将每组处理器对所述数据共享情况均映射至与该组处理器对应的一组位向量,其中,k小于m。优选的,每组处理器之间所采用的哈希运算为相同的哈希运算或不相同的哈希运算。优选的,将任一处理器对数据共享情况映射至对应的一组位向量上过程,包括:若该处理器需要读取目标数据块,则将相应的数据块副本发送至该处理器,并将该处理器对应的一组位向量上的映射位置为1;若该处理器需要对目标数据块进行写入操作,则查找出所有具有对应的数据块副本的处理器,向查找出的所有处理器发送用于指示该数据块副本无效的无效命令,并对相应的映射位进行更新,然后允许该需要进行写入操作的处理器进行相应的写入操作。优选的,所述查找出所有具有对应的数据块副本的处理器的过程,包括:通过结合当前每一处理器在自身对应的位向量上的映射情况以及当前所述共享目录向量上每一位的具体数值,查找出所有具有对应的数据块副本的处理器。本专利技术还公开了一种一致性目录构建系统,应用于包含N个处理器的多处理器计算机系统,其中,N为不小于2的整数;所述构建系统包括:处理器分组模块,用于对所述N个处理器进行分组,得到T组处理器,其中,每组处理器均包括n个处理器;共享情况映射模块,用于利用布隆过滤器,将所述T组处理器对数据共享情况一对一地映射至T组位向量,得到相应的共享目录向量,其中,每组位向量均包括m位,m小于n。优选的,所述共享情况映射模块,包括:初始化单元,用于预先对所述T组位向量进行初始化,以将所述T组位向量中的每一位均置为0;映射子模块,用于分别在每组处理器中均执行k次哈希运算,以将每组处理器对所述数据共享情况均映射至与该组处理器对应的一组位向量,其中,k小于m。优选的,所述映射子模块包括:第一映射子模块,用于当所述N个处理器中的任一处理器需要读取目标数据块,则将相应的数据块副本发送至该处理器,并将该处理器对应的一组位向量上的映射位置为1;第二映射子模块,用于当所述N个处理器中的任一处理器需要对目标数据块进行写入操作,则查找出所有具有对应的数据块副本的处理器,向查找出的所有处理器发送用于指示该数据块副本无效的无效命令,并对相应的映射位进行更新,然后允许该需要进行写入操作的处理器进行相应的写入操作。优选的,所述第二映射子模块包括:处理器查找单元,用于当所述N个处理器中的任一处理器需要对目标数据块进行写入操作,则通过结合当前每一处理器在自身对应的位向量上的映射情况以及当前所述共享目录向量上每一位的具体数值,查找出所有具有对应的数据块副本的处理器。本专利技术进一步公开了一种多处理器计算机系统,包括前述的一致性目录构建系统。本专利技术中,一致性目录构建方法,应用于包含N个处理器的多处理器计算机系统;该方法包括:对上述N个处理器进行分组,得到T组处理器,其中,每组处理器均包括n个处理器;利用布隆过滤器,将T组处理器对数据共享情况一对一地映射至T组位向量,得到相应的共享目录向量,其中,每组位向量均包括m位,m小于n。可见,本专利技术在利用布隆过滤器对数据共享情况进行映射之前,先对多处理器计算机系统中的所有处理器进行了分组,然后再利用布隆过滤器,将T组处理器对数据共享情况一对一地映射至T组位向量,也即,一方面本专利技术是基于布隆过滤器进行映射处理的,这样确保了一致性目录所占空间较低;另一方面,本专利技术将不同组的处理器与不同组的位向量进行映射对应,这样相当于使得每组位向量之间处于割裂状态,避免了它们之间产生互相的影响,从而使得不同组位向量之间不会产生映射冲突,由此减少了由于映射冲突所产生的冗余消息。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例公开的一种一致性目录构建方法流程图;图2为本专利技术实施例公开的一种一致性目录构建系统结构示意图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。本专利技术实施例公开了一种一致性目录构建方法,应用于包含N个处理器的多处理器计算机系统,其中,N为不小于2的整数;参见图1所示,该方法包括:步骤S11:对N个处理器进行分组,得到T组处理器,其中,每组处理器均包括n个处理器。需要指出的是,上述分组过程是一种不重复且不遗漏的分组过程,也即,基于不重复且不遗漏的分组原则,对上述N个处理器进行分组,相应地得到T组处理器,其中每组处理器均包括n个处理器,由此可见,N=T×n。另外,可根据N值的具体数值以及用户的实际需要,对T值进行设定,在此不对T值进行具体数值上的限定。步骤S12:利用布隆过滤器,将T组处理器对数据共享情况一对一地映射至T组位向量,得到相应的共享目录向量,其中,每组位向量均包括m位,m小于n。需要说明的是,上述每组位向量均包括m位,也即是指m位二进制。上述m值需要小于每组处理器中的处理器个数,也即,m需要小于n。另外,上述所谓的数据共享情况是指处理器对Cache数据的共享情况。本专利技术实施例中,一致性目本文档来自技高网...

【技术保护点】
一种一致性目录构建方法,其特征在于,应用于包含N个处理器的多处理器计算机系统,其中,N为不小于2的整数;所述方法包括:对所述N个处理器进行分组,得到T组处理器,其中,每组处理器均包括n个处理器;利用布隆过滤器,将所述T组处理器对数据共享情况一对一地映射至T组位向量,得到相应的共享目录向量,其中,每组位向量均包括m位,m小于n。

【技术特征摘要】
1.一种一致性目录构建方法,其特征在于,应用于包含N个处理器的多处理器计算机系统,其中,N为不小于2的整数;所述方法包括:对所述N个处理器进行分组,得到T组处理器,其中,每组处理器均包括n个处理器;利用布隆过滤器,将所述T组处理器对数据共享情况一对一地映射至T组位向量,得到相应的共享目录向量,其中,每组位向量均包括m位,m小于n。2.根据权利要求1所述的一致性目录构建方法,其特征在于,所述利用布隆过滤器,将所述T组处理器对数据共享情况一对一地映射至T组位向量的过程,包括:预先对所述T组位向量进行初始化,以将所述T组位向量中的每一位均置为0;分别在每组处理器中均执行k次哈希运算,以将每组处理器对所述数据共享情况均映射至与该组处理器对应的一组位向量,其中,k小于m。3.根据权利要求2所述的一致性目录构建方法,其特征在于,每组处理器之间所采用的哈希运算为相同的哈希运算或不相同的哈希运算。4.根据权利要求2所述的一致性目录构建方法,其特征在于,将任一处理器对数据共享情况映射至对应的一组位向量上过程,包括:若该处理器需要读取目标数据块,则将相应的数据块副本发送至该处理器,并将该处理器对应的一组位向量上的映射位置为1;若该处理器需要对目标数据块进行写入操作,则查找出所有具有对应的数据块副本的处理器,向查找出的所有处理器发送用于指示该数据块副本无效的无效命令,并对相应的映射位进行更新,然后允许该需要进行写入操作的处理器进行相应的写入操作。5.根据权利要求4所述的一致性目录构建方法,其特征在于,所述查找出所有具有对应的数据块副本的处理器的过程,包括:通过结合当前每一处理器在自身对应的位向量上的映射情况以及当前所述共享目录向量上每一位的具体数值,查找出所有具有对应的数据块副本的处理器。6.一种一致性目录构建系统,其特征在于...

【专利技术属性】
技术研发人员:赵雅倩史宏志
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1