期刊文献+

一种无锁并发跳表算法的可线性化证明 被引量:1

Linearizability of a Lock-free Concurrent Skiplist
下载PDF
导出
摘要 为了证明无锁并发跳表算法的可线性化性质,采用最新提出的不固定线性化点算法可线性化性质的模块化验证方法,首先建立一个简单的抽象机和语言模型,在抽象机上实现无锁并发跳表算法并生成局部依赖与保证风格的推导规则,然后寻找算法的线性化点并通过模块化验证方法中的方案在算法实现中添加辅助语句以标识线性化点,接着构造基本断言如不变式I、算法执行所依赖的环境规范R和算法规范G,最后根据推导规则对算法进行严格的推导证明.由于不固定线性化点算法可线性化性质的模块化验证方法经过形式化的可靠性证明,因此本文通过可靠地形式化验证方法首次证明了无锁并发跳表算法的可线性化性质. Based on the modular verification method of linearizability with non-fixed linearization points, we verify the linearizability of lock-free concurrent skiplist. First,we build a simple abstract machine and language model,and implement the algorithm on the ab- stract machine. Then, we find the linearization points of the algorithm and add corresponding auxiliary statements based on the modular verification method. After that, we construct basic assertions like the invariant I, the environment specifications R, and the algorithm specification G. Finally, we verify the linearizability of the algorithm step by step using inference rules. The modular verification meth- od's soundness have been formally verified,so we verify the thelinearizability of lock-free concurrent skiplist formally and reliably for the first time.
出处 《小型微型计算机系统》 CSCD 北大核心 2015年第6期1158-1164,共7页 Journal of Chinese Computer Systems
基金 国家自然科学基金项目(61379039 61229201)资助
关键词 无锁并发跳表 可线性化 程序验证 并发算法 lock-free concurrent skiplist linearizability program verification concurrent algorithm
  • 相关文献

参考文献13

  • 1Pugh W. Skip lists: a probabilistic alternative to balanced trees[J] . Comm. ACM ,1990 ,33 (6) :668-676.
  • 2Herlihy M, Shavit N. The art of multiprocessor programm-ing[M] . Burlington: Elsevier Press ,2008.
  • 3Herlihy M, WingJ. Linearizability , a correctness condition for con?current objects[J]. ACM TOPLAS,1990,12(3) :463492.
  • 4Liang H, Feng X. Modular verification of linearizability with non?fixed linearization points[C]. In: Proceedings of ACM SIGPLAN Conference on Programming Language Design and Implementation, 2013 :459470.
  • 5Feng X. Local rely-guarantee reasoning[C]. In: Proceedings of the 36th ACM SIGPLAN-SIGACT Symposium on Principles of Pro?gramming Languages ,2005 :315-327.
  • 6Vafeiadis V. Modular fine-grained concurrency verification[D]. U?niversity of Cambridge ,2007.
  • 7DerrickJ, Schellhorn G, Wehrheim H. Verifying linearisabilitywith potential linearisationpoints[C]. In: Proceedings of 17 th Interna?tional Symposium on Formal Methods,2011 :323-337.
  • 8Elmas T, Qadeer S, Sezgin A, et al. Simplifyinglinearizability proofs with reduction and abstraction[C]. In: Proceedings of Tools and Algorithms for the Construction and Analysis of Systems, 2010 : 296-311.
  • 9Liu Y,Chen W,Liu Y A,et al. Model checking linearizabilityvia re?finement[C]. In-Proceedings of Formal Methods,2009:321-337.
  • 10Vechev M T ,Yahav E,Yorsh G. Experience with model checkinglinear?izability[C]. In: Proceedings of Model Checking Software,2009:26I- 278.

同被引文献7

引证文献1

二级引证文献1

相关作者

内容加载中请稍等...

相关机构

内容加载中请稍等...

相关主题

内容加载中请稍等...

浏览历史

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