Data Independence for Software Transactional Memory
Data Independence for Software Transactional Memory
复制标题
DOI:
10.1007/978-3-030-20652-9_18
复制
发表时间:
2019-05
期刊:
影响因子:
--
通讯作者:
J. König;H. Wehrheim
中科院分区:
文献类型:
--
作者:
J. König;H. Wehrheim
Software Transactional Memory (STM) algorithms provide programmers with a synchronisation mechanism for concurrent access to shared variables. Basically, programmers can specifytransactions(reading from and writing to shared state) which then execute in a “seeming” atomicity. This property is captured in a correctness criterion calledopacity. For model checking the opacity of an STM algorithm, we – in principle – need to check opacity for all possible combinations of transactions with all possible values to be written. This leads to several sources of infinity during model checking: infinitely many data values, infinitely many possible accesses in transactions, and unboundedly many transactions being executed.In this paper, we propose a technique for avoiding the first source of infinity: infinitely many different data values. To this end, we employ a notion ofdata independenceand provide two results. First, we prove that opacity as a correctness criterion is data independent. Second, we develop conditions for checking data independence of STM algorithms and show their soundness. Together, these results allow to reduce model checking (of data independent STMs) to transactions with a single choice for values written.