Linköping University: Students Alumni Trade and Industry/Society Internal Search
ahmre_DATE13

Verifying Safety and Liveness for the FlexTM Hybrid Transactional Memory

Parosh Aziz Abdulla
 
Sandhya Dwarkadas
Ahmed Rezine
 
Arrvindh Shriramanx
Yunyun Zhu

Design, Automation & Test in Europe (DATE 2013), Grenoble, France, March 18-22, 2013.

ABSTRACT
We consider the verification of safety (strict se- rializability and abort consistency) and liveness (obstruction and livelock freedom) for the hybrid transactional memory framework FLEXTM. This framework allows for flexible imple- mentations of transactional memories based on an adaptation of the MESI coherence protocol. FLEXTM allows for both eager and lazy conflict resolution strategies. Like in the case of Software Transactional Memories, the verification problem is not trivial as the number of concurrent transactions, their size, and the number of accessed shared variables cannot be a priori bounded. This complexity is exacerbated by aspects that are specific to hardware and hybrid transactional memories. Our work takes into account intricate behaviours such as cache line based conflict detection, false sharing, invisible reads or non-transactional instructions. We carry out the first automatic verification of a hybrid transactional memory and establish, by adopting a small model approach, challenging properties such as strict serializability, abort consistency, and obstruction freedom for both an eager and a lazy conflict resolution strategies. We also detect an example that refutes livelock freedom. To achieve this, our prototype tool makes use the latest antichain based techniques to handle systems with tens of thousands of states.


Related files:
ahmre_DATE13.pdfAdobe Acrobat portable document


[ADRS13] Parosh Aziz Abdulla, Sandhya Dwarkadas, Ahmed Rezine, Arrvindh Shriramanx, Yunyun Zhu, "Verifying Safety and Liveness for the FlexTM Hybrid Transactional Memory", Design, Automation & Test in Europe (DATE 2013), Grenoble, France, March 18-22, 2013.
( ! ) perl script by Giovanni Squillero with modifications from Gert Jervan   (v3.1, p5.2, September-2002-)