发明名称 用于在事务性存储器系统中实现强原子性的方法、装置和系统
摘要 本申请公开了用于在事务性存储器系统中实现强原子性的方法、装置和系统。在本文中描述了用于提供高效率的强原子性的方法和装置。可将经优化的强原子操作插在非事务性读访问处以提供高效率的强原子性。在非事务性功能的开始将全局事务值复制到本地事务值;这在本质上创建出此全局事务值的本地时戳。在该功能内的非事务性存储器访问处,将计数值或版本值与LTV比较以查看是否有事务已经启动更新存储器位置——或尤其是被访问的存储器位置。如果存储器位置还没有被事务更新,则通过避免要用全套的慢径强原子操作才保证访问到的数据的有效性来令执行加速。反之,可执行慢径操作以解决争用相同存储器位置的事务性和非事务性访问之间的竞争。
申请公布号 CN103544054B 申请公布日期 2017.01.11
申请号 CN201310487913.6 申请日期 2008.12.30
申请人 英特尔公司 发明人 B·萨哈;A-R·阿德尔-塔巴塔拜;C·王;T·史佩斯曼
分类号 G06F9/46(2006.01)I 主分类号 G06F9/46(2006.01)I
代理机构 上海专利商标事务所有限公司 31100 代理人 何焜
主权项 一种用于在事务性存储器系统中提供强原子性的方法,包括:检测功能中的包括多个存储器操作的非事务性加载操作,所述非事务性加载操作从多个存储器位置中的第一存储器位置加载;在所述功能中插入第一强原子性操作以将全局事务值的副本存储为本地事务值LTV;插入第二强原子性操作以将所述本地事务值LTV与事务计数器值进行比较以确定事务在所述功能开始之后是否已更新了所述多个存储器位置中的任意存储器位置,当任意存储器位置被更新时所述事务计数器递增;以及当所述事务计数器值与所述本地事务值LTV的比较指示所述事务在所述功能开始之后已更新了所述多个存储器位置中的至少一个存储器位置时,插入第三强原子性操作以分析与所述存储器位置中的所述第一存储器位置相关联的版本值,以确定所述存储器位置中的所述第一存储器位置在所述功能开始之后是否被更新,其中所述第一和第二强原子性操作不包括锁操作,所述锁操作用于确定与所述存储器位置中的所述第一存储器位置相关联的锁是否是无主的。
地址 美国加利福尼亚州