The Optimal Pessimistic Transactional Memory Algorithm
  Transactional Memory (TM) is an approach aiming to simplify concurrent programming by automating synchronization while maintaining efficiency. TM usually employs the optimistic concurrency control approach, which relies on transactions aborting and restarting if conflicts occur. However, an aborted transaction can still leave some effects in the system that cannot be cleaned up, if irrevocable operations are present within its code. The pessimistic approach eliminates that problem, since it relies on deferring operations in case of conflict rather than aborting, but hitherto pessimistic TMs suffered from low parallelism due to the need of serializing transactions. In this paper, we aim to introduce OptSVA, a pessimistic TM concurrency control algorithm that ensures a high level of parallelism through a battery of far-reaching optimizations including early release, asynchronous execution, and the extensive use of buffering. 
Pawe{\l} T. Wojciechowski and Konrad Siek
cs.DC