[发明专利]对无依赖性并行区优化的直写式高速缓存及性能改进方法有效
申请号: | 201210029541.8 | 申请日: | 2012-02-10 |
公开(公告)号: | CN102681948A | 公开(公告)日: | 2012-09-19 |
发明(设计)人: | A·E·艾臣博格;A·加拉;M·欧玛克特;V·斯里尼发桑 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F12/08 | 分类号: | G06F12/08 |
代理公司: | 中国国际贸易促进委员会专利商标事务所 11038 | 代理人: | 邹姗姗 |
地址: | 美国*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 依赖性 并行 优化 直写式 高速缓存 性能 改进 方法 | ||
技术领域
本申请总体上涉及并行计算系统。更特别地,本申请涉及在所述并行计算系统中运行的高速缓存一致性协议。
背景技术
传统的并行计算系统不允许多于一个的线程或处理器同时对同一高速缓存线地址进行更新。换句话说,如果处理器想更新所关联的本地高速缓存存储器设备中的高速缓存线,则传统的并行计算系统必须首先使其它本地高速缓存存储器设备中的对应高速缓存线无效。因此,在计算系统中实现高速缓存一致性机制,用以更新本地高速缓存存储器设备,例如使本地高速缓存存储器设备中的高速缓存线无效。因此,传统并行计算系统中的两个或更多个不同的线程和/或处理器不能跨本地高速缓存存储器设备同时更新运行高速缓存一致性操作的同一高速缓存线地址。为了防止在被两个或更多个不同线程或处理器访问的时候对同一高速缓存线地址的同时更新,传统的并行计算系统需要本地高速缓存存储器设备之间更频繁的通信(例如,向其它的本地高速缓存存储器设备广播无效通知),并且频繁地使本地高速缓存存储器设备中的高速缓存线无效。
发明内容
本公开描述了用于改进包括多个处理器和至少一个共享高速缓存存储器设备的并行计算系统的性能的装置、方法与计算机程序产品。每个处理器都可以包括至少一个本地高速缓存存储器设备(例如,“第一级(L1)”高速缓存存储器设备)。
在一种实施方式中,提供了一种用于改进并行计算系统的性能的装置。该装置包括多个处理器。每个处理器都具有本地高速缓存存储器设备。每个处理器都运行无数据依赖性的软件程序区的程序代码。每个处理器的本地高速缓存存储器设备都与更新该本地高速缓存存储器设备中的高速缓存线的硬件本地高速缓存控制器相关联。与第一处理器的第一本地高速缓存存储器设备相关联的第一硬件本地高速缓存控制器检测由运行所述程序代码的第二处理器对第一高速缓存线的伪共享(false sharing)的发生,并允许该第二处理器对所述第一高速缓存线的伪共享。在所述第一硬件本地高速缓存控制器更新所述第一本地高速缓存存储器设备中的所述第一高速缓存线的第一部分并且随后第二硬件本地高速缓存控制器更新第二本地高速缓存存储器设备中的所述第一高速缓存线的第二部分时,发生对所述第一高速缓存线的伪共享。
在另一种实施方式中,当所述第一硬件本地高速缓存控制器更新所述第一本地高速缓存存储器设备中的所述第一高速缓存线的第一部分时,其它硬件本地高速缓存控制器设置其它本地高速缓存存储器设备中对应于所述第一高速缓存线的伪共享位。
在另一种实施方式中,当第二硬件本地高速缓存控制器更新所述第二本地高速缓存存储器设备中的所述第一高速缓存线的第二部分时,所述第一硬件本地高速缓存控制器设置所述第一本地高速缓存存储器设备中对应于所述第一高速缓存线的伪共享位,而且,当所述第一硬件本地高速缓存控制器更新所述第一本地高速缓存存储器设备中的所述第一高速缓存线的第一部分时,所述第二硬件本地高速缓存控制器设置所述第二本地高速缓存存储器设备中对应于所述第一高速缓存线的伪共享位。
在另一种实施方式中,响应于所述多个处理器到达所述无数据依赖性的软件程序区的结尾,所述第一硬件本地高速缓存控制器和第二硬件本地高速缓存控制器使所述第一本地高速缓存存储器设备和第二本地高速缓存存储器设备中设置了伪共享位的高速缓存线无效。
在另一种实施方式中,对本地高速缓存存储器的任何写入都直写到由所述多个处理器共享的高速缓存存储器设备。
在另一种实施方式中,防止所述第一硬件本地高速缓存控制器设置所述第一本地高速缓存存储器设备的伪共享位,并防止其它硬件本地高速缓存控制器使本地高速缓存存储器设备中未设置伪共享位的高速缓存线无效。
在另一种实施方式中,当所述第一硬件本地高速缓存控制器更新所述第一本地高速缓存存储器设备中所述第一高速缓存线的第一部分时,所述第一硬件本地高速缓存控制器设置所述第一本地高速缓存存储器设备的伪共享位,其它硬件本地高速缓存控制器设置其它本地高速缓存存储器设备中对应的高速缓存线的伪共享位,而且当对所述对应的高速缓存线发生后续的伪共享时,在硬件本地高速缓存控制器之间没有进一步的通信。
在另一种实施方式中,响应于处理器到达所述无数据依赖性的软件程序区的结尾,所述第一硬件本地高速缓存控制器在一个或多个其它硬件本地高速缓存控制器设置其它本地高速缓存存储器设备中对应的高速缓存线的伪共享位之前完成所述第一本地高速缓存存储器设备中高速缓存线的更新。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210029541.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:饲养场空气过滤装置
- 下一篇:防MCU或驱动IC故障的同步脉冲控制电路