Resolving Semantic Conflicts in Word Based Software Transactional Memory

In this paper we describe a technique for addressing semantic conflicts within word based Software Transactional Memory. A semantic conflict is considered to be some application condition which causes transactions to explicitly abort. Session locking and a companion Contention Management Policy are described which support the parallel exploration of multiple transaction schedules at run time, to resolve semantic conflicts. Performance figures are provided to demonstrate the effectiveness of our technique when semantic conflicts are introduced into established benchmarks.

[1]  Christof Fetzer,et al.  The Universal Transactional Memory Construction , 2011 .

[2]  Rachid Guerraoui,et al.  Unifying Thread-Level Speculation and Transactional Memory , 2012, Middleware.

[3]  Michel Raynal,et al.  Towards a Universal Construction for Transaction-Based Multiprocess Programs , 2012, ICDCN.

[4]  Simon L. Peyton Jones,et al.  Composable memory transactions , 2005, CACM.

[5]  Torvald Riegel,et al.  A Lazy Snapshot Algorithm with Eager Validation , 2006, DISC.

[6]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[7]  Rachid Guerraoui,et al.  Stretching transactional memory , 2009, PLDI '09.

[8]  Maurice Herlihy,et al.  A flexible framework for implementing software transactional memory , 2006, OOPSLA '06.

[9]  Faith Ellen,et al.  A universal construction for wait-free transaction friendly data structures , 2010, SPAA '10.

[10]  Mikel Luján,et al.  Steal-on-Abort: Improving Transactional Memory Performance through Dynamic Transaction Reordering , 2008, HiPEAC.

[11]  Marcos K. Aguilera,et al.  Distributed Computing and Networking , 2011, Lecture Notes in Computer Science.

[12]  William N. Scherer,et al.  Advanced contention management for dynamic software transactional memory , 2005, PODC '05.

[13]  Chen Ding,et al.  A Key-based Adaptive Transactional Memory Executor , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[14]  Torvald Riegel,et al.  Dynamic performance tuning of word-based software transactional memory , 2008, PPoPP.

[15]  Torvald Riegel,et al.  Time-Based Software Transactional Memory , 2010, IEEE Transactions on Parallel and Distributed Systems.

[16]  Danny Hendler,et al.  On the impact of serializing contention management on STM performance , 2012, J. Parallel Distributed Comput..

[17]  Danny Hendler,et al.  CAR-STM: scheduling-based collision avoidance and resolution for software transactional memory , 2008, PODC '08.

[18]  Graham Morgan,et al.  Introducing Semantic Conflict Resolution to Word Based Software Transactional Memory , 2014 .

[19]  Dieter an Mey,et al.  Euro-Par 2013 Parallel Processing , 2013, Lecture Notes in Computer Science.

[20]  Kunle Olukotun,et al.  STAMP: Stanford Transactional Applications for Multi-Processing , 2008, 2008 IEEE International Symposium on Workload Characterization.

[21]  Graham Morgan,et al.  Hugh: A Semantically Aware Universal Construction for Transactional Memory Systems , 2013, Euro-Par.