We show that it is impossible to design a transactional memory system which ensures parallelism, i.e. transactions do not need to synchronize unless they access the same application objects, while ensuring very little consistency, i.e. a consistency condition, called weak adaptive consistency, introduced here and which is weaker than snapshot isolation,… (More)
Despite the large amount of work on Transactional Memory (TM), little is known about how much liveness it could provide. This paper presents the first formal treatment of the question. We prove that no TM implementation can ensure local progress, the analogous of wait-freedom in the TM context, and we highlight different ways to circumvent the impossibility.
1 Introduction Transactional memory (TM) [20, 25, 33] allows concurrent processes to execute operations on data items within atomic blocks of instructions, called transactions. The paradigm is appealing for its simplicity but implementing it efficiently is challenging. Ideally the TM system should not introduce any contention between transactions beyond… (More)
Start by doing what's necessary; then do what's possible; and suddenly you are doing the impossible. Acknowledgements Despite all the challenges faced in its pursuit, this PhD gave me a lot in return, not only academically , but more importantly personally and socially. I have had the chance to work, discuss and befriend amazing people who made this… (More)
The history of distributed computing is full of trade-offs between safety and liveness. For instance, one of the most celebrated results in the field, namely the impossibility of consensus in an asynchronous system basically says that we cannot devise an algorithm that deterministically ensures consensus agreement and validity (i.e., safety) on the one… (More)
Transactional memory (TM) [9, 8] is an alternative to fine-grained and coarse-grained locking that provides users with an abstraction called a transaction. Transactions are atomic pieces of code that appear as if they are executed at some point in time. They can be aborted or committed. If a transaction is committed, then all changes made by operations… (More)
Suisse 2012 PAR Aleksandar Dragojević To Marija for all her love and support. Acknowledgements I would first like to thank my thesis supervisor Rachid Guerraoui without whose advice and guidance this thesis would not have been written. I also thank the president of the jury André Schiper and the members of the jury Tim Harris, Pascal Felber, and Viktor… (More)
In this paper we consider the supervisory control problem through language equation solving. The equation solving approach allows to deal with more general topologies and to find a largest supervisor which can be used as a reservoir for deriving an optimal controller. We introduce the notions of solutions under partial con-trollability and partial… (More)