The ART of practical synchronization
Exploiting hardware transactional memory in main-memory databases