期刊文献+

面向STM的松弛存储一致性算法

A Relaxed Memory Consistency Algorithm for STM
在线阅读 下载PDF
导出
摘要 软件事务性内存(STM)提供同步手段,让多线程程序高效并发执行。如果两个事务访问了同一个共享数据且至少一个事务进行了修改操作,则称发生了冲突。检测冲突后,一般选择一个事务终止。当前的STM实现都基于严格的线性一致性(Linearizability)语义模型,实现简单。但是,基于该语义会导致很多本来可以完成提交的事务失败,降低了系统效率。把因果一致性模型应用于STM,可以在保证程序准确性条件下取得较好的实际性能。实验数据表明,该算法简单高效,明显减少了冲突数目。 Software transactional memory (STM) systems use lightweight and in-memory software transactions to address concurrency in multi-threaded applications, ensuring the safety at all times. Two concurrent transactions cause conflict if they access the same object and at least one of them modifies that object. When an STM system identifies a conflict, it typically allows one transaction to continue, and delays or aborts the other. The current implementation of transactional memories (TMs) has the advantage of being simple and efficient, and providing strong linearizability semantics. But in many applications, enforcing a strict linearizability consistency policy over the entire read-set of a transaction can lead to a large number of unnecessary aborts. In this paper, we investigate the use of Causal Consistency with weaker semantics, which provides a good trade-off between strong semantics and good practical performance even for long transactions. The experimental results show that the implementation is simple, and substantially reduces the number of conflicts.
出处 《计算机工程与科学》 CSCD 北大核心 2010年第1期127-131,共5页 Computer Engineering & Science
基金 国家863计划资助项目(2008AA01Z110) 国家自然科学基金资助项目(60676010)
关键词 软件事务性内存(STM) 因果一致性 验证 并发 多线程 software transactional memory (STM) causal consistency validation concurrency threads
  • 相关文献

参考文献18

  • 1Herlihy M,Moss J E 13. Transactional Memory: Architectural Support for Lock-Free Data Structures[C]//Proc of the 20th Annual Int'l Syrup on Computer Architecture, 1993: 289-300.
  • 2Shavit N,Touitou D. Software Transactional Memory[C]// Proc of the Syrup on Principles of Distributed Computing, 1995:204-213.
  • 3Harris T, Marlowe S, Peyton-Jones S, et al. Composable Memory Transactions [C] ff Proc of the ACM SIGPLAN Symp on Principles and Practice of Parallel Programming, 2005 : 48-60.
  • 4Shavit N, Touitou D. Software Transactional Memory [J]. Distributed Computing, 1997,10(2) : 99-116.
  • 5Eswaran K P,Gray J, Lorie R A, et al. The Notions of Consistency and Predicate Locks in a Database System[J]. Communications of the ACM, 1976,19(11):624-633.
  • 6Harris T, Fraser K. Language Support for Lightweight Transactions[C]//Proc of the 18th ACM SIGPLAN Conf on Object-oriented Programing, Systems, Languages, and Applications, 2003:388-402.
  • 7Herlihy M, Luchangco V, Moir M, et al. Software Transactional Memory for Dynamic-Sized Data Structurcs[C]//Proc of the 22nd Annual Syrup on Principles of Distributed Computing, 2003: 92-101.
  • 8Shriraman A,Spear M F, Hossain H,et al. Scott: An Integrated Hardware-Software Approach to Flexible Transactional Memory[C]//Proc of the 34th Annual Int' l Syrup on Computer Architecture, 2007: 104-115.
  • 9Riegel T, Fetzer C, Felber P. Snapshot Isolation for Soft- ware Transactional Memory[C]//Proc of the 1st ACM SIG- PLAN Workshop on Languages, Compilers, and Hardware Support for Transactional Computing, 2006 : 104-115.
  • 10Herlihy M P, Wing J M. Linearizability: A Correctness Condition for Concurrent Objects[J]. ACM Trans on Programming Languages and Systems, 1990,12(3):463-492.

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

内容加载中请稍等...
;
使用帮助 返回顶部