【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
在并行编程计算环境中,共享对相同存储器位置的访问要求适当管理和同步,这会比较难以执行。按传统,访问共享存储器的线程之间的同步使用锁定来实现,以保护共享数据免于同时访问。但是,锁定在其对共享数据的串行化中常常是过度保守的(这在执行时可能不一定是必要的),但是确定编写代码的时间常常是棘手或不可能的。作为备选解决方案提出了事务存储器,以允许线程推测地并行执行临界区(称作事务)。如果冲突在执行时发生,则线程停止或终止其事务,并且再次执行它们以解决冲突。在事务存储器系统中,线程能够推测地执行事务,而无需改变共享存储器位置的内容,直到事务随后提交。如果在两个事务之间检测到冲突,则可中止事务其中之一,使得其他事务能够提交,在这时,所提交事务可改变共享存储器位置的内容。附图说明图1是按照一实施例的系统的框图。图2是按照一实施例的事务的执行的高级流程图。图3示出按照一实施例的硬件事务与软件事务之间的可能定时。图4是按照本专利技术的一实施例的混合事务存储器系统流程的框图。图5是按照一实施例的第一硬件事务的执行的流程图。图6是按照一实施例的第一硬件事务的阶段的细节。图7是按照一实施例的第二事务的执行的流程图。图8是按照一实施例的基于基本布隆过滤器的硬件事务的细节。图9是按照一实施例的基于优化布隆过滤器的硬件事务的细节。图10是按照一实施例的推测软件事务的执行的流程图。图11示出按照一实施例的软件事务执行的细节。图12是按照一实施例的不可撤销软件事务的执行的流程图。图13示出按照一实施例的不可撤销软件事务的细节。图14是按照另一个实施例的系统的框图。具体实施方式在实现事务存 ...
【技术保护点】
一种设备,包括:处理器;执行逻辑,用于在事务存储器系统中使能第一软件事务模式的至少一个第一软件事务和第二软件事务模式的第二软件事务以及第一硬件事务模式的至少一个硬件事务和第二硬件事务模式的至少一个第二硬件事务的并发执行;跟踪逻辑,用于激活标志,以指示至少一个软件事务正经历在所述第一软件事务模式或者所述第二软件事务模式的执行;交叉逻辑,用于确定在所述第二硬件事务模式的第一硬件事务结束时所述第二硬件事务模式的所述第一硬件事务的过滤器组是否与经历执行的所述至少一个软件事务的过滤器组冲突;以及最终完成逻辑,用于在不存在冲突时提交所述第一硬件事务,而在存在冲突时终止所述第一硬件事务。
【技术特征摘要】
【国外来华专利技术】2014.03.26 US 14/2258041.一种设备,包括:处理器;执行逻辑,用于在事务存储器系统中使能第一软件事务模式的至少一个第一软件事务和第二软件事务模式的第二软件事务以及第一硬件事务模式的至少一个硬件事务和第二硬件事务模式的至少一个第二硬件事务的并发执行;跟踪逻辑,用于激活标志,以指示至少一个软件事务正经历在所述第一软件事务模式或者所述第二软件事务模式的执行;交叉逻辑,用于确定在所述第二硬件事务模式的第一硬件事务结束时所述第二硬件事务模式的所述第一硬件事务的过滤器组是否与经历执行的所述至少一个软件事务的过滤器组冲突;以及最终完成逻辑,用于在不存在冲突时提交所述第一硬件事务,而在存在冲突时终止所述第一硬件事务。2.如权利要求1所述的设备,其中,在所述第二硬件事务模式,所述第一硬件事务更新所述第一硬件事务的各存储器访问的所述第一硬件事务的所述过滤器组。3.如权利要求1所述的设备,其中,在所述第一软件事务模式,第一软件事务在所述第一软件事务结束时得到第一锁定和第二锁定,并且采用哈希表中存储的写数据来更新所述事务存储器系统的事务存储器。4.如权利要求3所述的设备,其中,在所述第一软件事务模式,在所述第一软件事务的提交之后,所述第一软件事务使所述第一软件事务模式的另一个软件事务失效。5.如权利要求4所述的设备,其中,在所述第二硬件事模式,第二硬件事务在所述第二硬件事务的提交之前得到提交锁定和事务锁定。6.如权利要求4所述的设备,其中如果交叉在所述第一软件事务的过滤器组与所述另一个软件事务的过滤器组之间发生,则所述第一软件事务使所述另一个软件事务失效。7.一种方法,包括:由事务存储器系统中的处理器并发地执行第一线程的软件事务和第二线程的硬件事务;激活全局锁定,以指示所述软件事务的执行;以及在所述硬件事务结束时,确定所述全局锁定的状态,以及如果所述全局锁定是有效的,则确定所述第一线程的过滤器组是否与所述第二线程的过滤器组交叉,而如果不是的话,则提交所述硬件事务。8.如权利要求7所述的方法,还包括提交所述软件事务,并且在所述软件事务结束时停用所述全局锁定。9.如权利要求7所述的方法,还包括在所述全局锁定在所述硬件事务结束时是无效的时候在没有确定所述过滤器组是否交叉的情况下提交硬件事务。10.如权利要求7所述的方法,还包括:将所述硬件事务对所述事务存储器系统的事务存储器的访问的地址插入所述第一线程的所述过滤器组;以及基于将所述访问的地址与一个或多个哈希值进行哈希来更新所述第一线程的所述过滤器组的一个或多个字段。11.如权利要求7所述的方法,还包括:在所述软件事务中并发地将哈希表从第一大小重新哈希到第二大小;以及在所述硬件事务中访问所述哈希表,并且使所述硬件事务能够在所述并发重新哈希期间进行提交。12.一种方法,包括:在事务存储器系统的第二硬件事务模式执行第二硬件事务;在所述第二硬件事务结束时提交所述第二硬件事务;以及在所述第二硬件事务的提交之后,如果冲突存在于所述第二硬件事务与所述至少一个软件事务之间,则使与所述第二硬件事务并发执行的至少一个软件事务失效。13.如权利要求12所述的方法,还包括在所述第二硬件事务的提交之前确定是否获取了提交锁定,以及如果是的话,则确定冲突是否存在于所述第二硬件事务与获取了所述提交锁定的第一软件事务之间。14.如权利要求12所述的方法,还包括在所述冲突存在于所述第二硬件事务与所述第一软件事务之间时中止所述第二硬件事务,其中如果所述第二硬件...
【专利技术属性】
技术研发人员:I卡尔丘,JE戈特施利奇,T什佩斯曼,GA波坎,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:美国;US
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。