【技术实现步骤摘要】
【国外来华专利技术】
技术介绍
软件事务存储器(STM)系统是本领域中众所周知的系统。一般来说,这些系统提供对于并行编程和其它应用有用的原语以便允许程序指定一组动作作为事务,因为事务内的动作是自动执行的。通常,原语包括开始事务、正常终止事务、以及异常中止事务并回滚(rollback)所中止的事务的所有效果的命令或调用。已存在多种已知的STM系统的实现。STM系统在软件中实现,因此可以与基于硬件的事务存储器(HTM)系统有所区分。用于并行程序的有用原语有原子多字比较和交换(MCAS)。该原语自动执行。它将存储器的一组存储单元中的值与所提供的一组对应值进行比较。如果所提供的每个值与存储器中的对应值匹配,则MCAS原语将所提供的一组新值存储到这组存储单元中,并返回指示成功的完成代码;否则,不对存储器做任何改变,并且MCAS返回指示失败的完成代码。诸如Fraser的Practical Lock Freedom(见KeirFraser的博士论文Practical Lock Freedom)的现有的MCAS实现利用指针值以及对更新的日志记录或缓冲(在MCAS操作期间)来确保原子性。该缓冲或日志记录会使这些MCAS增加开销。附图说明图1描绘一个实施例中的基于处理器的系统。图2描绘一个实施例中的处理流程。具体实施方式参照图1,如图所示的基于处理器的系统可以包括耦合到总线110的一个或多个处理器105。或者,该系统可以具有一个 ...
【技术保护点】
一种方法,包括: 尝试为软件事务存储器(STM)系统的一组存储单元中的每个存储单元获得通过所述STM的实现而提供的写入锁定; 如果为所述一组存储单元中的每个存储单元获得了写入锁定,则将所述一组存储单元中的每个存储单元中的值与对应的预期值进行比较;以及 如果对于所述一组存储单元中的每个存储单元,所述比较产生相同的预定结果,则将对应的新值存储在每个存储单元中。
【技术特征摘要】
【国外来华专利技术】US 2006-3-31 11/395,4101.一种方法,包括:
尝试为软件事务存储器(STM)系统的一组存储单元中的每个存
储单元获得通过所述STM的实现而提供的写入锁定;
如果为所述一组存储单元中的每个存储单元获得了写入锁定,则
将所述一组存储单元中的每个存储单元中的值与对应的预期值进行
比较;以及
如果对于所述一组存储单元中的每个存储单元,所述比较产生相
同的预定结果,则将对应的新值存储在每个存储单元中。
2.如权利要求1所述的方法,其中:
所述比较还包括检查所述一组存储单元中的每个存储单元中的
值是否等于所述对应的预期值;以及
所述比较的预定结果为真。
3.如权利要求1所述的方法,其中尝试为所述一组存储单元中的
每个存储单元获得写入锁定还包括:
如果没有为所述一组存储单元中的每个存储单元获得写入锁定,
则递增失败尝试次数的计数器;
如果在等待一段时间之后所述计数器不大于预定值,则重复为所
述一组存储单元中的每个存储单元获得写入锁定所做的所述尝试;以
及
如果所述计数器大于所述预定值,则中止为获得所述写入锁定所
做的所述尝试。
4.如权利要求1所述的方法,还包括:
如果对于所述一组存储单元中的每个存储单元,所述比较未能获
得相同的预定结果,则解除所获得的写入锁定。
5.如权利要求1所述的方法,其中尝试为所述一组存储单元中的
每个存储单元获得写入锁定还包括:至少部分地基于相应存储单元的
地址来计算对所述一组存储单元中的每个存储单元的唯一读取器-写
入器锁定的引用。
6.如权利要求5所述的方法,其中计算所述引用还包括:至少部
分地基于相应存储单元的地址来计算散列值;至少部分地利用所述散
列值来获得对应于所述存储单元的高速缓存行地址;以及至少部分地
利用所述高速缓存行地址来计算对读取器-写入器锁定阵列的索引。
7.如权利要求1所述的方法,其中将对应的新值存储在每个存储
单元中还包括:存储所述新值而不在日志和/或缓冲器中保存和/或记
录存储在所述存储单元中的先前值。
8.如权利要求7所述的方法,其中尝试为所述一组存储单元中的
每个存储单元获得所述STM系统的写入锁定还包括:
至少部分地基于所述一组存储单元中的每个存储单元的地址来
计算散列值;
至少部分地利用所述散列值来获得对应于所述一组存储单元中
的每个存储单元的高速缓存行地址;以及
至少部分地利用所述高速缓存行地址来计算对所述STM的读取
器-写入器锁定阵列的索引。
9.一种其上存储有数据的有形机器可读介质,所述数据在被机器
访问时使所述机器执行一种方法,所述方法包括:
尝试为软件事务存储器(STM)系统的一组存储单元中的每个存
储单元获得通过所述STM的实现而提供的写入锁定;
如果为所述一组存储单元中的每个存储单元获得了写入锁定,则
将所述一组存储单元中的每个存储单元中的值与对应的预期值进行
比较;以及
如果对于所述一组存储单元中的每个存储单元,所述比较产生相
同的预定结果,则将对应的新值存储在每个存储单元中。
10.如权利要求9所述的机器可读介质,其中:
所述比较还包括检查所述一组存储单元中的每个存储单元中的
值是否等于所述对应的预期值;以及
所述比较的预定结果为真。
1...
【专利技术属性】
技术研发人员:B萨哈,AR阿德尔塔巴塔拜,
申请(专利权)人:英特尔公司,
类型:发明
国别省市:US[]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。