High Performance Embedded Architectures and Compilers

Volume 5409 of the series Lecture Notes in Computer Science pp 4-18

Steal-on-Abort: Improving Transactional Memory Performance through Dynamic Transaction Reordering

  • Mohammad AnsariAffiliated withThe University of Manchester
  • , Mikel LujánAffiliated withThe University of Manchester
  • , Christos KotselidisAffiliated withThe University of Manchester
  • , Kim JarvisAffiliated withThe University of Manchester
  • , Chris KirkhamAffiliated withThe University of Manchester
  • , Ian WatsonAffiliated withThe University of Manchester

* Final gross prices may vary according to local VAT.

Get Access


In transactional memory, aborted transactions reduce performance, and waste computing resources. Ideally, concurrent execution of transactions should be optimally ordered to minimise aborts, but such an ordering is often either complex, or unfeasible, to obtain.

This paper introduces a new technique called steal-on-abort, which aims to improve transaction ordering at runtime. Suppose transactions A and B conflict, and B is aborted. In general it is difficult to predict this first conflict, but once observed, it is logical not to execute the two transactions concurrently again. In steal-on-abort, the aborted transaction B is stolen by its opponent transaction A, and queued behind A to prevent concurrent execution of A and B. Without steal-on-abort, transaction B would typically have been restarted immediately, and possibly had a repeat conflict with transaction A.

Steal-on-abort requires no application-specific information, modification, or offline pre-processing. In this paper, it is evaluated using a sorted linked list, red-black tree, STAMP-vacation, and Lee-TM. The evaluation reveals steal-on-abort is highly effective at eliminating repeat conflicts, which reduces the amount of computing resources wasted, and significantly improves performance.