期刊文献+

基于TL2软件事务内存的并发程序的精化验证

Refinement-Based Verification of TL2 Transactions
原文传递
导出
摘要 软件事务内存并发机制将对共享存储复杂的同步访问控制转嫁给底层系统开发者,从而大大减轻高层程序员开发并发程序的负担。TL2是一个经典的基于锁的高性能软件事务内存算法。本文以一个TL2读写事务的底层具体实现为验证目标,首先采用并发程序间的精化关系来刻画基于TL2的底层细粒度并发程序是某个具体的高层抽象原子事务代码块的正确实现,然后通过基于依赖保证的并发程序模拟技术证明两个程序间具有精化关系,完成读写事务的底层实现在代码级的验证并总结TL2算法满足的不变式,为完成TL2算法在代码级的完整验证奠定基础。 Software transactional memory (STM) concurrent mechanism successfully moves the complex control of simultaneous access to shared memory into the runtime system (which is handled by STM algorithm developers) and thus greatly reduces the burden on high-level programmers to develop concurrent programs. This paper aims to verify a concrete read-write transaction implemented with TL2 algorithm, which is a classic lock- based high-performance software transactional memory algorithm. First a refinement relation between concurrent programs is used to describe that the low-level fine-grained TL2-based code is a correct implementation of a specific high-level abstract atomic transaction code block. Then the refinement relation between the two programs is proved by the rely-guarantee-based simulation. Also, a representative TL2-based example is verified at the code level. The invariants of TL2 algorithm are summarized. The above work lays the foundation for complete verification of the TL2 algorithm in code level.
作者 赵立飞
出处 《电子技术(上海)》 2014年第9期43-49,共7页 Electronic Technology
基金 国家863计划项目(2012AA010901)资助
关键词 软件事务内存 并发程序验证 TL2 基于依赖保证的模拟技术 精化验证 software transactional memory concurrent program verification TL2 rely-guarantee-basedsimulation refinement-based verification
  • 相关文献

参考文献19

  • 1Shavit N, Touitou D. Software transactional memory[C] Proceedings of the Fourteenth Annual ACM Symposium on Principles of Distributed Computing, 1995.
  • 2Dice D, Shavit N. Understanding tradeoffs in software transactional memory[C]//Proceedings of the Intemational Symposium on Code Generation and Optimization, 2007:21-33.
  • 3Harris T, Fraser K. Language support for lightweight transactions[C]//Proceedings of the 18th annual ACM SIGPLAN Conference on Object-oriented Programing, Systems, Languages, and Applications,2003: 388-402.
  • 4Saha B, Adl-Tabatabai A, Hudson R L, et al. McRT- STM: A high performance software transactional memory system for a multi-core runtime[C] //Proceedings of the Eleventh ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, 2006:187-197.
  • 5Adl-Yabatabai A, Lewis B T, Menon V, et al. Compiler and runtime support for efficient software transactional memory[C]//Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation, 2006: 26-37.
  • 6Marathe V J, Scherer W N, Scott M L. Adaptive software transactional memory[C]. Proceedings of the 19th International Conference on Distributed Computing, 2005.
  • 7Dave D, Ori S, Nit S. Transactional locking II[C]. Proceedings of the 20th International Conference on Distributed Computing, 2006.
  • 8Attiya H, Gotsman A, Hans S, et al. A programming language perspective on transactional memory consistency[C]. Proceedings of the 2013 ACM symposium on Principles of distributed computing, 2013.
  • 9Herlihy M P, Wing J M. Linearizability: A correctness condition for concurrent objects[J]. ACM Transactions on Programming Languages and Systems, 1990(12): 463-492.
  • 10Papadimitriou C H. The serializability of concurrent database updates[Y]. Journal of the ACM, 1979, 26(4): 631-653.

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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