As we learn from the literature, flexibility in choosing synchronizationoperations greatly simplifies the task of designinghighly concurrent programs. Unfortunately, existinghardware is inflexible and is at best on the levelof a Load Linked/Store Conditional operation on a singleword. Building on the hardware based transactional synchronizationmethodology of Herlihy and Moss, we offersoftware transactional memory (STM), a novel softwaremethod for supporting flexible transactional...