The abstraction of atomicity in transactional memory requires a hardware mechanism to detect conflicts and undo any changes made to shared data [REF].
Owing to the more limited nature of hardware transactional memory (in current implementations), software using it may require fairly extensive tuning to fully benefit from it.