The cloud datastores that support today's service economy offer applications the ability to program using a transactional interface. Transactions are groupings of operations that take effect atomically: either all operations take effect or none do. They simplify program development as they allow developers to group related operations into one single atomic unit. For performance, modern datastores allow multiple transactions to execute concurrently. Isolation then defines a contract that regulates the interaction between these concurrent transactions. Indeed, isolation is important also in many machine learning algorithms that iteratively transform some global state, such as model parameters or variable assignment. When these updates are structured as transactions, they can be executed concurrently to achieve greater scalability, relying on isolation to maintain the semantics and theoretical properties of the original serial algorithm.
But what guarantees should isolation offer? And how expensive is it to enforce them?
In my first seminar, I will discuss the fascinating history of our community's attempts at formalizing isolation. You'll meet giants like Jim Gray and Barbara Liskov, Turing award winners who wrestled with this challenge, and you'll see what you think about our recent attempt to venture where such giants have trod.