A Qualitative Survey of Modern Software Transactional Memory Systems
Obstruction-free synchronization: double-ended queues as an example