用于延长私有高速缓存中的高速缓存行的独占持有的设施制造技术

技术编号:21958957 阅读:24 留言:0更新日期:2019-08-24 22:16
提供一种计算环境设施以延长在处理存储操作数请求后在私有(或本地)高速缓存中的高速缓存行的独占持有。该设施包括确定对由该计算环境的多个处理单元共享的存储位置的存储操作数请求是否被指定为持有。此外,进行私有高速缓存中用于处理该存储操作数请求的对应的高速缓存行的状态是否被独占地拥有的确定。基于确定该存储操作数请求被指定为持有,以及私有高速缓存中用于处理该存储操作数请求的对应的高速缓存行的状态被独占地拥有,在完成该存储操作数请求的处理后,继续独占地持有该私有高速缓存中的该对应的高速缓存行。该继续持有可包括启动计数器以促进在期望的设定间隔内的继续持有。

Facilities to extend exclusive ownership of cached rows in private caches

【技术实现步骤摘要】
【国外来华专利技术】用于延长私有高速缓存中的高速缓存行的独占持有的设施
一般而言,一个或多个方面涉及计算环境内的处理,尤其涉及改进这种处理。
技术介绍
在多处理计算环境中,诸如中央处理单元(CPU)或内核的多个处理单元被连接以共享对共同存储(诸如,共同主存储位置)的访问。跨该配置的存储阶层(hierarchy)可包括每个处理单元私有或本地的各种高速缓存层级、在若干处理单元间共享的各种高速缓存层级及主存储。当处理单元将更新存储位置时,存储行由存储阶层转移至处理单元,且该行在对执行更新的处理单元私有的高速缓存层级内被独占地持有。当存储行由处理单元独占地持有时,不准许其它处理单元更新或读取该存储行,直至该行被释放并且不再由该处理单元独占地持有为止。在若干计算机进程共享对主存储区域的访问的情况下,可使用旗语(或锁)控制对该存储区域的访问。旗语通常为主存储中的字或双字,并且旗语内容规定当前准许该配置内的哪个处理单元访问对应的存储区域。当在处理单元上执行的进程需要访问存储区域时,该进程更新旗语以指示共享区域在使用中,完成访问共享区域的任务,并且接着再次更新旗语以指示共享区域不再在使用中。
技术实现思路
在一个或多个方面中,通过提供用于促进计算环境中的处理的计算机程序产品来克服现有技术的某些缺点及提供额外优点。该计算机程序产品包括存储介质,其可由处理单元读取并且存储用于由处理单元执行以用于执行方法的指令。例如,该方法包括确定对由计算环境的多个处理单元共享的存储位置的存储操作数请求是否被指定为持有。此外,该方法包括确定私有高速缓存中用于处理该存储操作数请求的对应的高速缓存行的状态是否由该处理单元独占地拥有。基于确定存储操作数请求被指定为持有,以及私有高速缓存中用于处理该存储操作数请求的对应的高速缓存行的状态被独占地拥有,该方法进一步包括在完成该存储操作数请求的处理后,继续独占地持有私有高速缓存中的对应的高速缓存行。继续持有包括启动计数器以促进在期望的间隔内的继续持有。有利地,计算机环境处理通过以下操作来增强:提供用于程序的设施(或能力)以发信号通知处理单元对应于由该计算环境的多个处理单元共享的存储位置的特定存储操作数请求或访问被指定为持有。基于将特定存储操作数请求识别为持有,以及基于确定私有高速缓存中用于处理该存储操作数请求的对应的高速缓存行的状态被独占地拥有,接着处理单元在完成存储操作数请求的处理后继续在期望的间隔内独占地持有私有高速缓存中的对应的高速缓存行。因此,出于在整个计算环境中独占地持有高速缓存行的目的,该处理单元可在比常规长的持续时间内脱离标准存储器管理协议,从而增大在释放高速缓存行前完成正在处理单元中执行的进程的机率。这有利地减少了包含旗语(或锁)的高速缓存行潜在地徒劳遍历(traverse)该计算环境的次数,从而增加整体系统性能。在一个或多个实施方式中,启动该计数器可包括:启动用于在完成存储操作数请求的处理后继续独占地持有私有高速缓存中的对应的高速缓存行的设定间隔,以及在该计数器达到设定间隔后,中断独占地持有私有高速缓存中的对应的高速缓存行。在一个或多个实施例中,设定间隔的长度取决于该存储操作数请求的访问类型,其中,该访问类型可为提取型、存储型或更新型访问中的一者。在特定实施例中,针对存储型及更新型访问的设定间隔的长度可比针对提取型访问的设定间隔的长度更大。在一个或多个实施方式中,该设定间隔可来自包括基于时间的间隔以及基于循环的间隔的组。另外,在一个或多个实施例中,该方法可包括:确定该存储操作数请求的访问类型,以及基于确定该访问类型为提取型访问,基于该计数器达到该设定间隔,中断独占地持有私有高速缓存中的该对应的高速缓存行。在某些实施例中,该方法可进一步包括确定该存储操作数请求的访问类型,以及基于该访问类型为存储型或更新型,该方法可包括确定针对对应的高速缓存行,后续存储操作数请求是否被指定为释放。基于后续存储操作数请求被指定为释放,该方法可包括中断独占地持有私有高速缓存中的该对应的高速缓存行。另外,启动该计数器可包括启动用于在完成该存储操作数请求的处理后继续独占持有私有高速缓存中的该对应的高速缓存行的设定间隔。此外,在计数器达到设定间隔或者接收到针对该对应的高速缓存行的指定释放的后续存储操作数请求中的较早者发生后,中断持有该对应的高速缓存行。在一个或多个实施方式中,在完成存储操作数请求的处理后继续独占地持有私有高速缓存中的对应的高速缓存行期间,将拒绝来自计算环境的系统控制的针对私有高速缓存中的对应的高速缓存行的任何高速缓存无效命令。在另一方面中,提供一种用于促进计算环境内的处理的计算机系统。该计算机系统包括存储器,以及与存储器通信地耦接的处理单元,其中,该计算机系统被配置为执行方法。例如,该方法包括确定对由计算环境的多个处理单元共享的存储位置的存储操作数请求是否被指定为持有。此外,该方法包括确定私有高速缓存中用于处理该存储操作数请求的对应的高速缓存行的状态是否由该处理单元独占地拥有。基于确定存储操作数请求被指定为持有,以及私有高速缓存中用于处理该存储操作数请求的对应的高速缓存行的状态被独占地拥有,该方法进一步包括在完成该存储操作数请求的处理后,继续独占地持有私有高速缓存中的对应的高速缓存行。继续持有包括启动计数器以促进在期望的间隔内的继续持有。在再一方面中,提供一种促进计算环境内的处理的计算机实现的方法。例如,该计算机实现的方法包括由处理单元确定对由计算环境的多个处理单元共享的存储位置的存储操作数请求是否被指定为持有。此外,该方法包括确定私有高速缓存中用于处理该存储操作数请求的对应的高速缓存行的状态是否由该处理单元独占地拥有。基于确定存储操作数请求被指定为持有,以及私有高速缓存中用于处理该存储操作数请求的对应的高速缓存行的状态被独占地拥有,该方法进一步包括在完成该存储操作数请求的处理后,继续独占地持有私有高速缓存中的对应的高速缓存行。继续持有包括启动计数器以促进在期望的间隔内的继续持有。通过本文中所描述的技术实现额外特征及优点。本文中详细描述其它实施例及方面,并且将其视为所要求保护的方面的一部分。附图说明在本说明书的结论处的权利要求中,一个或多个方面作为示例被特别指出并清楚地要求保护。通过以下结合附图的详细描述,一个或多个方面的前述内容和目的、特征及优点是显而易见的,在附图中:图1描绘了结合和使用本专利技术的一个或多个方面的计算环境的一个示例;图2描绘了结合和使用本专利技术的一个或多个方面的计算环境的再一示例;图3描绘了结合和使用本专利技术的一个或多个方面的多处理单元环境的一个示例;图4描绘了根据本专利技术的一个或多个方面的存储操作数请求有关的处理的一个实施例;图5A和图5B描绘了根据本专利技术的一个或多个实施例的存储操作数请求有关的处理的更详细的示例;图6A说明了根据本专利技术的一个或多个方面有用的指令格式的一个实施例;图6B说明了根据本专利技术的一个或多个方面的诸如图6A中描绘的指令格式的访问意图控制字段的一个实施例;图7说明了根据本专利技术的一个或多个方面的可用于使用诸如图6A和图6B中描绘的指令来控制处理行为的流程图的实施例;图8A和图8B描绘了根据本专利技术的一个或多个方面的存储操作数请求有关的处理的再一示例;图9A描绘了结合和使用本专利技术本文档来自技高网...

【技术保护点】
1.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,其可由处理单元读取并且存储用于由所述处理单元执行以用于执行方法的指令,所述方法包括:确定对由计算环境的多个处理单元共享的存储位置的存储操作数请求是否被指定为持有;确定私有高速缓存中用于处理所述存储操作数请求的对应的高速缓存行的状态是否由所述处理单元独占地拥有;以及基于确定所述存储操作数请求被指定为持有,以及私有高速缓存中用于处理所述存储操作数请求的所述对应的高速缓存行的所述状态被独占地拥有,在完成所述存储操作数请求的处理后,继续独占地持有私有高速缓存中的所述对应的高速缓存行,所述继续持有包括启动计数器以促进在期望的间隔内的所述继续持有。

【技术特征摘要】
【国外来华专利技术】2017.01.12 US 15/404,2471.一种用于促进计算环境内的处理的计算机程序产品,所述计算机程序产品包括:计算机可读存储介质,其可由处理单元读取并且存储用于由所述处理单元执行以用于执行方法的指令,所述方法包括:确定对由计算环境的多个处理单元共享的存储位置的存储操作数请求是否被指定为持有;确定私有高速缓存中用于处理所述存储操作数请求的对应的高速缓存行的状态是否由所述处理单元独占地拥有;以及基于确定所述存储操作数请求被指定为持有,以及私有高速缓存中用于处理所述存储操作数请求的所述对应的高速缓存行的所述状态被独占地拥有,在完成所述存储操作数请求的处理后,继续独占地持有私有高速缓存中的所述对应的高速缓存行,所述继续持有包括启动计数器以促进在期望的间隔内的所述继续持有。2.如权利要求1所述的计算机程序产品,其中,所述启动包括:启动用于在完成所述存储操作数请求的处理后继续独占地持有私有高速缓存中的所述对应的高速缓存行的设定间隔,以及在所述计数器达到所述设定间隔后,中断所述独占地持有私有高速缓存中的所述对应的高速缓存行。3.如权利要求2所述的计算机程序产品,其中,所述设定间隔的长度取决于所述存储操作数请求的访问类型,所述访问类型来自包括提取型、存储型及更新型的组。4.如权利要求3所述的计算机程序产品,其中,针对所述存储型及所述更新型的设定计数间隔的长度比针对所述提取型的所述设定计数间隔的长度更大。5.如权利要求2所述的计算机程序产品,其中,所述设定间隔来自包括基于时间的间隔以及基于循环的间隔的组。6.如权利要求2所述的计算机程序产品,进一步包括:确定所述存储操作数请求的访问类型,以及基于确定所述访问类型为提取型访问,基于所述计数器达到所述设定间隔,中断所述独占地持有私有高速缓存中的所述对应的高速缓存行。7.如权利要求1所述的计算机程序产品,进一步包括:确定所述存储操作数请求的访问类型,以及基于所述访问类型为存储型或更新型,确定针对所述对应的高速缓存行,后续存储操作数请求是否被指定为释放,以及基于所述后续存储操作数请求被指定为释放,中断所述独占地持有私有高速缓存中的所述对应的高速缓存行。8.如权利要求7所述的计算机程序产品,其中,所述启动包括:启动用于在完成所述存储操作数请求的处理后继续独占地持有私有高速缓存中的所述对应的高速缓存行的设定间隔,以及在所述计数器达到所述设定间隔或者接收到针对所述对应的高速缓存行的指定释放的所述后续存储操作数请求中的较早者发生后,中断所述独占地持有所述对应的高速缓存行。9.如权利要求1所述的计算机程序产品,其中,在完成所述存储操作数请求的处理后所述继续独占地持有私有高速缓存中的所述对应的高速缓存行期间,拒绝针对私有高速缓存中的所述对应的高速缓存行的高速缓存无效命令。10.一种用于促进计算环境内的处理的计算机系统,所述计算机系统包括:存储器;以及处理单元,其与所述存储器通信地耦接,其中,所述计算机系统被配置为执行方法,所述方法包括:确定对由计算环境的多个处理单元共享的存储位置的存储操作数请求是否被指定为持有;确定私有高速缓存中用于处理所述存储操作数请求的对应的高速缓存行的状态是否由所述处理单元独占地拥有;以及基于确定所述存储操作数请求被指定为持有,以及私有高速缓存中用于处理所述存储操作数请求的所述对应的高速缓存行的所述状态被独占地拥有,在完成所述存储操作数请求的处理后,继续独占地持有私有高速缓存中的所述对应的高速缓存行,所述继续持有包括启动计数器以促进在期望的间隔内的所述继续持有。11.如权利要求10所述的计算机系统,其中,所述启动包括:启动用于在完成所述存储操作数请求的处理后继续独占地持有私有高速缓存中的所述对应的高速缓存行的设定间隔,以及在所述计数器达到所述设定间隔后,中断所述独占地持有私有高速缓存中的所述对应的高速缓存行。12.如权利要求11所述的计算机...

【专利技术属性】
技术研发人员:B·C·贾梅伊C·雅各比岑中龙D·W·施密特D·罗萨A·萨珀里托
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国,US

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

1