kirancodes.me
To Proof Maintenance & Beyond!

Nested parallelism in transactional memory

Kunal Agrawal, Jeremy T. Fineman, Jim Sukha

Abstract

This paper investigates adding transactions with nested parallelism and nested transactions to a dynamically multithreaded parallel programming language that generates only series-parallel programs. We describe XConflict, a data structure that facilitates conflict detection for a software transactional memory system which supports transactions with nested parallelism and unbounded nesting depth. For languages that use a Cilk-like work-stealing scheduler, XConflict answers concurrent conflict queries in O(1) time and can be maintained efficiently. In particular, for a program with T1 work and a span (or critical-path length) of T∞, the running time on p processors of the program augmented with XConflict is only O(T1/p + pT∞).

DOI 10.1145/1345206.1345232

Related papers