“…Transactional memory enforces atomicity, avoiding several challenges associated with using fine-grained locking [13,21,28,30,31,33,40,41,47,51,59,62]. However, existing runtime support is impractical: it relies on unrealistic custom hardware, adds high overhead, or has other serious limitations.…”