The ART of practical synchronization
To Lock, Swap, or Elide: On the Interplay of Hardware Transactional Memory and Lock-Free Indexing