Challenges to Providing Performance Isolation in Transactional Memories

Due to the inevitability of chip multiprocessors and the difficulty of parallel software development, there has been widespread interest in techniques that facilitate parallel programming. Recently, there have been a number of proposals regarding hardware support for transactional programming models. A key advantage of transactional programming models over lock-based synchronization is that two critical sections may be executed in parallel if they do not conflict, without the programmer needing to implement fine-grain locking. In effect, transaction hardware provides an implicit system-wide lock that is speculatively elided. In this paper, we identify three factors that allow one process to impact the performance of other concurrently running, independent processes to a degree not present in traditional (non-transactional) multiprocessors: (1) forward progress is defined in terms of user-specified transactions (rather than instructions), (2) inefficiencies in verifying the independence of critical sections with large data footprints, and (3) subsumption of kernel execution in user-mode transactions. We describe and discuss specific problematic scenarios in the context of existing transactional hardware proposals. We believe these scenarios should be considered in architecting a robust transactional-based system.

[1]  Ravi Rajwar,et al.  Speculative lock elision: enabling highly concurrent multithreaded execution , 2001, Proceedings. 34th ACM/IEEE International Symposium on Microarchitecture. MICRO-34.

[2]  Maurice Herlihy,et al.  Virtualizing transactional memory , 2005, 32nd International Symposium on Computer Architecture (ISCA'05).

[3]  Anoop Gupta,et al.  Performance isolation: sharing and isolation in shared-memory multiprocessors , 1998, ASPLOS VIII.

[4]  Dirk Grunwald,et al.  Microarchitectural denial of service: insuring microarchitectural fairness , 2002, MICRO.

[5]  Maurice Herlihy,et al.  Transactional Memory: Architectural Support For Lock-free Data Structures , 1993, Proceedings of the 20th Annual International Symposium on Computer Architecture.

[6]  James R. Goodman,et al.  Transactional lock-free execution of lock-based programs , 2002, ASPLOS X.

[7]  Luiz André Barroso,et al.  Piranha: a scalable architecture based on single-chip multiprocessing , 2000, Proceedings of 27th International Symposium on Computer Architecture (IEEE Cat. No.RS00201).

[8]  Kunle Olukotun,et al.  Transactional memory coherence and consistency , 2004, Proceedings. 31st Annual International Symposium on Computer Architecture, 2004..

[9]  Bradley C. Kuszmaul,et al.  Unbounded Transactional Memory , 2005, HPCA.

[10]  Maurice Herlihy,et al.  Obstruction-free synchronization: double-ended queues as an example , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[11]  Yan Solihin,et al.  Fair cache sharing and partitioning in a chip multiprocessor architecture , 2004, Proceedings. 13th International Conference on Parallel Architecture and Compilation Techniques, 2004. PACT 2004..