Strong Isolation is a Weak Idea

Luke Dalessandro Michael, Michael Lee Scott · 2009

In the transactional memory (TM) community, much debate has revolved around the choice of strong vs. weak isolation (SI vs. WI) between transactions and conflicting nontransactional accesses. In this position paper we argue that what programmers really want is the natural transactional extension of sequential consistency (SC), and that even SI is insufficient to achieve this. It is widely agreed among architects and language designers that SC imposes unacceptable hardware costs and compiler restrictions. Programmer-centric, relaxed memory models were developed as a compromise, guaranteeing SC to programs that “follow the rules ” while admitting many of the compiler optimizations that result in fast single-threaded execution. We argue for an analogous transactional datarace-free (TDRF) programming model. We observe that WI is strong enough to implement this model, and further that weakly isolated TM systems based on redo logging can provide the safety guarantees (no “out-of-thin-air reads”) required by languages like Java. Seen in this light, strong isolation (SI) serves only to require more constrained behavior in racy (buggy) programs. We submit that the benefit is not worth the cost, at least for software TM. 1.

Read the paper · More papers on PaperTik