【技术实现步骤摘要】
本申请总体上涉及并行计算系统。更特别地,本申请涉及在所述并行计算系统中运行的高速缓存一致性协议。
技术介绍
传统的并行计算系统不允许多于一个的线程或处理器同时对同一高速缓存线地址进行更新。换句话说,如果处理器想更新所关联的本地高速缓存存储器设备中的高速缓存线,则传统的并行计算系统必须首先使其它本地高速缓存存储器设备中的对应高速缓存线无效。因此,在计算系统中实现高速缓存一致性机制,用以更新本地高速缓存存储器设备,例如使本地高速缓存存储器设备中的高速缓存线无效。因此,传统并行计算系统中的两个或更多个不同的线程和/或处理器不能跨本地高速缓存存储器设备同时更新运行高速缓存一致性操作的同一高速缓存线地址。为了防止在被两个或更多个不同线程或处理器访 问的时候对同一高速缓存线地址的同时更新,传统的并行计算系统需要本地高速缓存存储器设备之间更频繁的通信(例如,向其它的本地高速缓存存储器设备广播无效通知),并且频繁地使本地高速缓存存储器设备中的高速缓存线无效。
技术实现思路
本公开描述了用于改进包括多个处理器和至少一个共享高速缓存存储器设备的并行计算系统的性能的装置、方法与计算机程序产品。每个处理器都可以包括至少一个本地高速缓存存储器设备(例如,“第一级(LI) ”高速缓存存储器设备)。在一种实施方式中,提供了一种用于改进并行计算系统的性能的装置。该装置包括多个处理器。每个处理器都具有本地高速缓存存储器设备。每个处理器都运行无数据依赖性的软件程序区的程序代码。每个处理器的本地高速缓存存储器设备都与更新该本地高速缓存存储器设备中的高速缓存线的硬件本地高速缓存控制器相关联。与第一 ...
【技术保护点】
【技术特征摘要】
2011.02.11 US 13/025,7061.一种用于改进并行计算系统的性能的装置,该装置包括 多个处理器,每个处理器都具有本地高速缓存存储器设备,且每个处理器都运行无数据依赖性的软件程序区的程序代码,每个处理器的本地高速缓存存储器设备与更新该本地高速缓存存储器设备中的高速缓存线的硬件本地高速缓存控制器相关联;及 第一硬件本地高速缓存控制器,该第一硬件本地高速缓存控制器与第一处理器的第一本地高速缓存存储器设备相关联,用于检测由运行所述程序代码的第二处理器对第一高速缓存线的伪共享的发生并且允许该第二处理器对所述第一高速缓存线的伪共享,当所述第一硬件本地高速缓存控制器更新所述第一本地高速缓存存储器设备中的第一高速缓存线的第一部分且第二硬件本地高速缓存控制器随后更新第二本地高速缓存存储器设备中的所述第一高速缓存线的第二部分时,发生对所述第一高速缓存线的伪共享。2.如权利要求I所述的装置,其中,当所述第一硬件本地高速缓存控制器更新所述第一本地高速缓存存储器设备中的第一高速缓存线的第一部分时,其它硬件本地高速缓存控制器设置其它本地高速缓存存储器设备中对应于所述第一高速缓存线的伪共享位。3.如权利要求I所述的装置,其中,当所述第二硬件本地高速缓存控制器更新所述第二本地高速缓存存储器设备中的第一高速缓存线的第二部分时,所述第一硬件本地高速缓存控制器设置所述第一本地高速缓存存储器设备中对应于所述第一高速缓存线的伪共享位,而且,当所述第一硬件本地高速缓存控制器更新所述第一本地高速缓存存储器设备中的第一高速缓存线的第一部分时,所述第二硬件本地高速缓存控制器设置所述第二本地高速缓存存储器设备中对应于所述第一高速缓存线的伪共享位。4.如权利要求3所述的装置,其中,响应于所述多个处理器到达所述无数据依赖性的软件程序区的结尾,所述第一硬件本地高速缓存控制器和所述第二硬件本地高速缓存控制器使所述第一本地高速缓存存储器设备和所述第二本地高速缓存存储器设备中设置了伪共享位的高速缓存线无效。5.如权利要求I所述的装置,其中,不包括数据依赖性的软件程序区包括至少一个无数据依赖性的循环。6.如权利要求I所述的装置,其中,为了确定循环是否没有依赖性,编译器评估前一次迭代的输出是否用作后续迭代的输入。7.如权利要求I所述的装置,其中,对本地高速缓存存储器设备的任何写入都直写到由所述多个处理器共享的高速缓存存储器设备。8.如权利要求I所述的装置,其中,所述第一硬件本地高速缓存控制器被防止用来设置所述第一本地高速缓存存储器设备的伪共享位,而且其它硬件本地高速缓存控制器被防止用来使本地高速缓存存储器设备中未设置伪共享位的高速缓存线无效。9.如权利要求I所述的装置,其中,当所述第一硬件本地高速缓存控制器更新所述第一本地高速缓存存储器设备中的第一高速缓存线的第一部分时,所述第一硬件本地高速缓存控制器设置所述第一本地高速缓存存储器设备中所述第一高速缓存线的伪共享位,其它硬件本地高速缓存控制器设置其它本地高速缓存存储器设备中的对应高速缓存线的伪共享位,而且当随后发生对所述对应高速缓存线的伪共享时,硬件本地高速缓存控制器之间不存在进一步的通信。10.如权利要求I所述的装置,其中,所述第一硬件本地高速缓存控制器在一个或多个其它硬件本地高速缓存控制器设置其它本地高速缓存存储器设备中的对应高速缓存线的伪共享位之前完成所述第一本地高速缓存存储器设备中的第一高速缓存线的更新,而且所述一个或多个其它硬件本地高速缓存控制器在到达所述无数据依赖性的软件程序区的结尾之前设置其它本地高速缓存存储器设备中的对应高速缓存线的伪共享位。11.如权利要求4所述的装置,其中,响应于两个或更多个处理器到达所述无数据依赖性的软件程序区的结尾,所述第一硬件本地高速缓存控制器选择性地使设置了伪共享位的一条或多条高速缓存线无效。12.如权利要求4所述的装置,其中,响应于两个或更多个处理器到达所述无数据依赖性的软件程序区的结尾,所述第一硬件本地高速缓存控制器通过从共享的高速缓存存储器设备取得有效数据来选择性地更新设置了伪共享位的一条或多条高速缓...
【专利技术属性】
技术研发人员:A·E·艾臣博格,A·加拉,M·欧玛克特,V·斯里尼发桑,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。