Characterizing Transactional Memory Consistency Conditions Using Observational Refinement

H. Attiya, Alexey Gotsman, Sandeep Hans, N. Rinetzky
{"title":"Characterizing Transactional Memory Consistency Conditions Using Observational Refinement","authors":"H. Attiya, Alexey Gotsman, Sandeep Hans, N. Rinetzky","doi":"10.1145/3131360","DOIUrl":null,"url":null,"abstract":"Transactional memory (TM) facilitates the development of concurrent applications by letting a programmer designate certain code blocks as atomic. The common approach to stating TM correctness is through a consistency condition that restricts the possible TM executions. Unfortunately, existing consistency conditions fall short of formalizing the intuitive semantics of atomic blocks through which programmers use a TM. To close this gap, we formalize programmer expectations as observational refinement between TM implementations. This states that properties of a program using a concrete TM implementation can be established by analyzing its behavior with an abstract TM, serving as a specification of the concrete one. We show that a variant of Transactional Memory Specification (TMS), a TM consistency condition, is equivalent to observational refinement for a programming language where local variables are rolled back upon a transaction abort. We thereby establish that TMS is the weakest acceptable condition for this case. We then propose a new consistency condition, called Strong Transactional Memory Specification (STMS), and show that it is equivalent to observational refinement for a language where local variables are not rolled back upon aborts. Finally, we show that under certain natural assumptions on TM implementations, STMS is equivalent to a variant of a well-known condition of opacity. Our results suggest a new approach to evaluating TM consistency conditions and enable TM implementors and language designers to make better-informed decisions.","PeriodicalId":17199,"journal":{"name":"Journal of the ACM (JACM)","volume":"8 1","pages":"1 - 44"},"PeriodicalIF":0.0000,"publicationDate":"2017-12-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Journal of the ACM (JACM)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3131360","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3

Abstract

Transactional memory (TM) facilitates the development of concurrent applications by letting a programmer designate certain code blocks as atomic. The common approach to stating TM correctness is through a consistency condition that restricts the possible TM executions. Unfortunately, existing consistency conditions fall short of formalizing the intuitive semantics of atomic blocks through which programmers use a TM. To close this gap, we formalize programmer expectations as observational refinement between TM implementations. This states that properties of a program using a concrete TM implementation can be established by analyzing its behavior with an abstract TM, serving as a specification of the concrete one. We show that a variant of Transactional Memory Specification (TMS), a TM consistency condition, is equivalent to observational refinement for a programming language where local variables are rolled back upon a transaction abort. We thereby establish that TMS is the weakest acceptable condition for this case. We then propose a new consistency condition, called Strong Transactional Memory Specification (STMS), and show that it is equivalent to observational refinement for a language where local variables are not rolled back upon aborts. Finally, we show that under certain natural assumptions on TM implementations, STMS is equivalent to a variant of a well-known condition of opacity. Our results suggest a new approach to evaluating TM consistency conditions and enable TM implementors and language designers to make better-informed decisions.
使用观察细化表征事务性内存一致性条件
事务性内存(TM)允许程序员将某些代码块指定为原子的,从而促进了并发应用程序的开发。声明TM正确性的常用方法是通过限制可能的TM执行的一致性条件。不幸的是,现有的一致性条件不能形式化原子块的直观语义,程序员可以通过原子块使用TM。为了缩小这个差距,我们将程序员的期望形式化为TM实现之间的观察细化。这表明,使用具体TM实现的程序的属性可以通过使用抽象TM分析其行为来建立,抽象TM作为具体TM的规范。我们展示了事务内存规范(Transactional Memory Specification, TMS)的一个变体,即TM一致性条件,等价于在事务中止时回滚局部变量的编程语言的观察细化。因此,我们确定经颅磁刺激是这种情况下最弱的可接受条件。然后,我们提出了一个新的一致性条件,称为强事务内存规范(STMS),并表明它相当于局部变量在终止时不回滚的语言的观察改进。最后,我们表明,在TM实现的某些自然假设下,STMS相当于一个众所周知的不透明条件的变体。我们的研究结果提出了一种评估TM一致性条件的新方法,使TM实现者和语言设计者能够做出更明智的决策。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信