TY - GEN
T1 - Modeling and verifying transaction scheduling for software transactional memory using CSP
AU - Xu, Chao
AU - Wu, Xi
AU - Zhu, Huibiao
AU - Popovic, Miroslav
N1 - Publisher Copyright:
© 2019 IEEE.
PY - 2019/7
Y1 - 2019/7
N2 - Transaction Memory (TM) is designed for simplifying parallel programming, while some key problems exist in it, such as starvation and reduced performance with high contention among transactions. In order to improve the performance of TM, researchers have designed several transaction scheduling algorithms and given their experimental results. However, the evaluations on the algorithms given by these researches are rather partial and lack of generality. Since these experimental results ignore the verification of properties which are necessary for transaction scheduling and could be greatly affected by the execution environment, thus it is still challenging for us to judge the quality of the algorithms for TM. In this paper, we provide a formal approach to evaluate transaction scheduling algorithms in a more comprehensive and strict way. We choose three recently proposed algorithms as motivating examples and formalize them using the process algebra CSP. We also use a model checker PAT to verify the properties (e.g., deadlock freeness and starvation freeness) of the models. Besides, it is also easier to compare the performance of the algorithms, from the perspective of makespan, speedup, aborts time and throughput, based on the statistics given by PAT. Consequently, a formal approach can be achieved to evaluate transaction scheduling algorithms, which is also a good guide for the further design of the algorithms for TM.
AB - Transaction Memory (TM) is designed for simplifying parallel programming, while some key problems exist in it, such as starvation and reduced performance with high contention among transactions. In order to improve the performance of TM, researchers have designed several transaction scheduling algorithms and given their experimental results. However, the evaluations on the algorithms given by these researches are rather partial and lack of generality. Since these experimental results ignore the verification of properties which are necessary for transaction scheduling and could be greatly affected by the execution environment, thus it is still challenging for us to judge the quality of the algorithms for TM. In this paper, we provide a formal approach to evaluate transaction scheduling algorithms in a more comprehensive and strict way. We choose three recently proposed algorithms as motivating examples and formalize them using the process algebra CSP. We also use a model checker PAT to verify the properties (e.g., deadlock freeness and starvation freeness) of the models. Besides, it is also easier to compare the performance of the algorithms, from the perspective of makespan, speedup, aborts time and throughput, based on the statistics given by PAT. Consequently, a formal approach can be achieved to evaluate transaction scheduling algorithms, which is also a good guide for the further design of the algorithms for TM.
KW - Evaluation
KW - Modeling
KW - Process Algebra
KW - Transaction Scheduling
KW - Transactional Memory
KW - Verification
UR - https://www.scopus.com/pages/publications/85076974597
U2 - 10.1109/TASE.2019.00009
DO - 10.1109/TASE.2019.00009
M3 - 会议稿件
AN - SCOPUS:85076974597
T3 - Proceedings - 2019 13th International Symposium on Theoretical Aspects of Software Engineering, TASE 2019
SP - 240
EP - 247
BT - Proceedings - 2019 13th International Symposium on Theoretical Aspects of Software Engineering, TASE 2019
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 13th International Symposium on Theoretical Aspects of Software Engineering, TASE 2019
Y2 - 29 July 2019 through 31 July 2019
ER -