【技术实现步骤摘要】
【国外来华专利技术】
本公开内容一般涉及事务存储器系统,并且更具体地涉及用于通过利用锁省略和锁定的选择自适应地共享数据的方法、计算机程序和计算机系统。
技术介绍
芯片上的中央处理单元(CPU)核的数量和与共享存储器连接的CPU核的数量不断显著增长,以支持增长的工作负载容量要求。协作以处理相同的工作负载的不断增加的CPU数量对软件可伸缩性造成显著的负担;例如,通过传统的信号量保护的共享队列或数据结构变为热点并且导致子线性n路伸缩曲线。传统地,通过在软件中实现更精细粒度的锁定来应对这一点。实现更精细粒度的锁定以提高软件可伸缩性可能是非常复杂且易于出错的,并且按照当今的CPU频率,硬件互连的延迟时间受限于芯片和系统的物理尺寸以及光速。已引入了硬件事务存储器(HTM,或者在本讨论文本中,简称为TM)的实现,其中,在其它中央处理单元(CPU)和I/O子系统看来,一组指令——称为事务——在存储器中的数据结构上以原子的方式操作(在其它文献中,原子操作也称为“块并发”或“串行化”)。事务在不获得锁的情况下乐观地执行,但是,如果在存储器位置上的正在执行的事务的操作与同一存储器位置上的另一操作冲突,那么可能需要中止和重试事务性执行。以前,提出了软件事务存储器实现以支持软件事务存储器(TM)。但是,与软件TM相比,硬件TM可提供改进的性能方面和使用便利性。在2002年8月28日提交的专利技术名称为“Methodandapparatusforthesynch ...
【技术保护点】
一种硬件锁省略HLE环境中的方法,所述方法用于预测性地确定HLE事务是否应实际获取锁并且非事务性地执行,所述方法包括:基于遇到HLE锁获取指令,基于HLE预测器,确定是省略锁并且作为HLE事务继续还是获取锁并且作为非事务继续;基于HLE预测器预测为省略,将锁的地址设定为HLE事务的读取集,并且抑制锁获取指令对锁的任何写入,并且在HLE事务性执行模式中继续,直到遇到xrelease指令或者HLE事务遇到事务性冲突为止,其中,xrelease指令释放锁;以及基于HLE预测器预测为不省略,将HLE锁获取指令视为非HLE锁获取指令且在非事务性模式中继续。
【技术特征摘要】
【国外来华专利技术】2013.10.14 US 14/052,960;2014.02.27 US 14/191,5811.一种硬件锁省略HLE环境中的方法,所述方法用于预测性地确定HLE事务是否应实际
获取锁并且非事务性地执行,所述方法包括:
基于遇到HLE锁获取指令,基于HLE预测器,确定是省略锁并且作为HLE事务继续还是获
取锁并且作为非事务继续;
基于HLE预测器预测为省略,将锁的地址设定为HLE事务的读取集,并且抑制锁获取指
令对锁的任何写入,并且在HLE事务性执行模式中继续,直到遇到xrelease指令或者HLE事
务遇到事务性冲突为止,其中,xrelease指令释放锁;以及
基于HLE预测器预测为不省略,将HLE锁获取指令视为非HLE锁获取指令且在非事务性
模式中继续。
2.根据权利要求1所述的方法,还包括:
基于对HLE事务的预测的成功来更新HLE预测器,其中HLE预测器预测HLE事务是否可能
中止。
3.根据权利要求1所述的方法,还包括:
基于第一次遇到具有锁地址的HLE事务,将与锁地址相关联的成功HLE事务执行的计数
初始化为零;
基于中止具有锁地址的任何随后HLE事务,递增预测器中与HLE事务的锁地址相关联的
失败HLE事务执行的计数;
基于完成具有锁地址的任何随后HLE事务,递增HLE预测器中与HLE事务的锁地址相关
联的成功HLE事务执行的计数,其中,失败HLE事务性执行的高的计数指示可能中止。
4.根据权利要求1所述的方法,还包括:
在非事务性模式中监视另一处理对锁的尝试访问;和
当检测到所述另一处理的尝试访问时,递增失败HLE事务执行的计数。
5.根据权利要求1所述的方法,还包括:
跟踪时间窗口内的成功HLE事务执行的计数和失败HLE事务执行的计数;
比较在所述时间窗口期间的失败HLE事务执行的计数与失败的阈值数量;以及
基于失败HLE事务执行的计数超过所述失败的阈值数量,将所述时间窗口的剩余部分
缺省到非事务性模式。
6.根据权利要求5所述的方法,还包括:
基于所述时间窗口到期,将成功HLE事务执行的计数和失败HLE事务执行的计数复位为
零。
7.一种硬件锁省略HLE环境中的计算机程序产品,所述计算机程序产品用于预测性地
确定HLE事务是否应实际获取锁并且非事务性地执行,所述计算机程序产品包含:
计算机可读存储介质,所述计算机可读存储介质能通过处理电路读取,并且存储由处
理电路执行以用于执行包括以下步骤的方法的指令:
基于遇到HLE锁获取指令,基于HLE预测器,确定是省略锁并且作为HLE事务继续还是获
取锁并且作为非事务继续;
基于HLE预测器预测为省略,将锁的地址设定为事务的读取集,并且抑制锁获取指令对
锁的任何写入,并且在HLE事务性执行模式中继续,直到遇到xrelease指令或者HLE事务遇
到事务性冲突为止,其中,xrelease指令释放锁;和
基于HLE预测器预测为不省略,将HLE锁获取指令视为非HLE锁获取指令并且在非事务
性模式中继续。
8.根据权利要求7所述的计算机程序产品,还包括:
基于对HLE事务的预测的成功来更新HLE预测器,其中HLE预测器预测HLE是否可能中
止。
9.根据权利要求7所述的计算机程序产品,还包括:
在非事务性模式中监视另一处理对锁的尝试访问;和
当检测到所述另一处理的尝试访问时,递增失败HLE事务执行的计数。
10.根据权利要求7所述的计算机程序产品,还...
【专利技术属性】
技术研发人员:M·K·克施温德,M·M·迈克尔,V·萨拉普拉,岑中龙,
申请(专利权)人:国际商业机器公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。