期刊文献+

一种基于目录的软件事务性内存实现算法 被引量:2

A Lightweight Directory Based Algorithm for STM
下载PDF
导出
摘要 软件事务性内存(STM)提供同步手段,让多线程程序高效并发执行.STM算法中一般包含记录所访问的共享数据、缓冲投机修改的数据以及处理事务冲突.STM中的主要开销在于维护共享数据访问记录和一致性验证.维护共享数据访问记录主要目的是便于进行验证.冲突检测(conflict detection)判断两个事务能否同时提交,而验证(validation)确保每个线程看到的数据状态是一致的.给出了关于STM一个简单模型,证明在STM中对共享数据的修改是线性的.提出的LDSTM算法通过在目录中维护版本信息,可以在读取各个共享对象时快速确定事务的内存视图是否处于一致状态,可以极大减少冲突检测和验证的开销.该算法可以实现早期发现写-写冲突,减少无效计算.在单线程情况下该算法开销很小.实验数据表明,LDSTM简单高效,冲突检测和验证开销减少明显. Software transactional memory (STM) systems use lightweight, in-memory software transactions to address concurrency in multi-threaded applications, ensuring safety at all times. The implementation of STM needs to track concurrent accesses, buffer speculative updates, and manage conflicts. Two principal sources of overhead is bookkeeping and validation. Bookkeeping serves largely to implement conflict detection. Conflict detection is the problem of determining when two transactions cannot both be safely committed. Validation is the related problem of ensuring that a transaction never views inconsistent data. A model is given that shows all modifications to shared data by a STM are linearizable. Based on the model, a new lightweight algorithm named LDSTM is presented here that version information of shared data is kept in a directory buffer which can be used to verify whether the view observed by a transaction is consistent at each data item access quickly. The new algorithm detect write-write conflicts early since at most one of the conflicting transactions can ever commit, it can greatly reduce the cost of conflict detection and validation and avoid extra read-data-bookkeeping. In single-threaded mode, the overhead of LDSTM is much less than other STM except buffer-update overhead. Experimental results show that LDSTM is simple, and can substantially reduce the cost of conflict detection and validation.
出处 《计算机研究与发展》 EI CSCD 北大核心 2008年第9期1517-1523,共7页 Journal of Computer Research and Development
基金 国家自然科学基金项目(60676010) 国家"八六三"高技术研究发展计划基金项目(2008AA01Z110)~~
关键词 软件事务性内存(STM) 冲突检测 验证 并发 多线程 software transactional memory (STM) conflict detection validation concurrency thread
  • 相关文献

参考文献11

  • 1Herlihy M, Moss J E B. Transactional memory: Architectural support for lock free data structures[C] //Proc of the 20th Annual Int Symp on Computer Architecture. New York: ACM, 1993:289-300
  • 2Shavit N, Touitou D. Software transactional memory [C] // Proc of the 14th ACM Symp on Principles of Distributed Computing. New York: ACM, 1995: 99-116
  • 3Harris T, Marlowe S, Peyton Jones S, et al. Composable memory transactions [C] //Proc of the ACM SIGPLAN Syrup on Principles and Practice of Parallel Programming. New York: ACM, 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.New York: ACM Press, 2003:388-402
  • 7Maurice H, Victor L, Mark M, etal. Software transactional memory for dynamic-sized data structures [C]// Proc of the 22nd Annual Syrup on Principles of Distributed Computing. New York: ACM Press, 2003:92-101
  • 8Lev Y, Moir M. Fast read sharing mechanism for software transactional memory [OL]. [2007-07-20]. http//research. sun. com/scalable/pubs/PODCO4-Poster.pdf
  • 9何裕南,安虹,郭锐,梁博.OpenCMP:一个支持事务存储模型的多核处理器模拟器[J].计算机科学,2007,34(1):248-254. 被引量:5
  • 10Herilihy, Wing. Linearizability.. A correctness condition for concurrent objects [J]. ACM Trans on Programming Languages and Systems, 1990, 12(3): 463-492

二级参考文献20

  • 1路放,安虹,梁博,任建.OpenSMT:一个同时多线程处理器模拟器的设计和实现[J].计算机科学,2006,33(1):158-163. 被引量:4
  • 2Tullsen D M,Eggers S J,Levy H M.Simultaneous multithreading:Maximizing on-chip parallelism.22nd Annual International Symposium on Computer Architecture,June 1995
  • 3Marr D T,Binns F,Hill D L,et al.Hyper-threading technology architecture and microarchitecture.Intel Technology Journal,Feb.2002
  • 4Diefendorff K.Power4 Focuses on Memory Bandwidth.Microprocessor Report,Oct.1999
  • 5Clabes J,et al.Design and implementatin of the power5 microprocessor.In ISSCC Digest of Technical Papers,Feb.2004
  • 6Burger D,Austin T M.The SimpleScalar tool set version 2.0:[Technical Report].1342.Computer Sciences Department,University of Wisconsin,June 1997
  • 7Austin T,Ernst D.SimpleScalar Tutorial (for release 4.0).http://SimpleScalar.com/docs/simple_tutorial_v4.pdf
  • 8Martin M M K,Sorin D J,Beckmann B M,et al.Multifacet's General Execution-driven Multiprocessor Simulator (GEMS)Toolset.Computer Architecture News (CAN),September 2005
  • 9SESC:http://sesc.sourceforge.net/index.html
  • 10Nathan L B,Erik G H,Steven K R.Network-Oriented Full-System Simulation using M5.The Sixth Workshop on Computer Architecture Evaluation Using Commercial Workloads,Feb.2003

共引文献4

同被引文献12

  • 1何裕南,安虹,郭锐,梁博.OpenCMP:一个支持事务存储模型的多核处理器模拟器[J].计算机科学,2007,34(1):248-254. 被引量:5
  • 2陈嘉,安虹,刘圆,王莉.一种CMP结构上的事务存储编程模型设计[J].计算机仿真,2007,24(6):81-85. 被引量:2
  • 3Olukotun K,Hammond L.The Future of Microprocessors[J].ACM Queue,2005,3:26-29.
  • 4Nir Shavit,Dan Touitou.Software transactional memory[C]//Sysmpos-ium on Principles of Distributed Computing,1997,10:99-116.
  • 5Pascal Felber,Christof Fetzer,Patrick Marlier,et al.Time-Based Software Transactional Memory[J].IEEE Trans on Parallel and dis-tributed systems,2010,21:1793-1805.
  • 6Maurice Herlihy,Victor Luchangco,Mark Moir,et al.Software trans-actional memory for dynamic-sized data structures[M].ACM Press,2003:92-101.
  • 7Christopher Cole,Maurice Herlihy.Snapshots and Software Transac-tional Memory[J].Elsevier Science,2005.
  • 8Zhang X Q,Peng L,Xie L G.Lowering Conflicts of High Contention Software Transactional Memory[C]//2008International Conference on Computer Science and Software Engineering.2008.
  • 9Nir Shavit,Dan Touitou. Software transactional memory[J] 1997,Distributed Computing(2):99~116
  • 10胡长军,丁良,常晓东,李建江.面向并行程序设计的扩展UML建模[J].计算机工程,2008,34(1):86-89. 被引量:3

引证文献2

二级引证文献8

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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