Randomization in STM Contention Management ∗

The obstruction-free Dynamic Software Transactional Memory (DSTM) system of Herlihy et al. allows only one writing transaction at a time to access an object. Should a second require an object currently in use, acontention manager must determine which may proceed and which must wait or abort. In this case study, we consider the impact of randomization when applied to our “Karma” contention manager. Previous work has shown that Karma tends to be a good choice of managers for many applications. We analyze randomized Karma variants, using experimental results from a 16-processor SunFire machine and a variety of benchmarks. We conclude that randomizing either abortion decisions or gain can be highly effective in breaking up patterns of livelock, but that randomized backoff yields no inherent positive benefit.