Verifying Safety and Liveness for the FlexTM Hybrid Transactional Memory
2013 (English)In: Design, Automation & Test in Europe (DATE 2013), Grenoble, France, March 18-22, 2013., IEEE , 2013, 785-790 p.Conference paper (Refereed)
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.
Place, publisher, year, edition, pages
IEEE , 2013. 785-790 p.
, Design, Automation and Test in Europe, ISSN 1530-1591
IdentifiersURN: urn:nbn:se:liu:diva-92598DOI: 10.7873/DATE.2013.167ISBN: 978-1-4673-5071-6OAI: oai:DiVA.org:liu-92598DiVA: diva2:621309
16th Design, Automation and Test in Europe Conference and Exhibition, DATE 2013; Grenoble; France