Séminaire des équipes de recherche
The global sequence protocol: a memory model for distributed systems
- Date : 25/01/2016
- Place : 2 rue Simone Iff, 75012 Paris (ou: 41 rue du Charolais) - Salle Jacques-Louis Lions 1, bâtiment C
- Guest(s) : Jonathan Protzenko (Microsoft Research)
In the context of distributed memory models, one has to choose between consistency and performance. Sequentially consistent systems offer a compelling abstraction for the programmer, but require complex and costly synchronization between clients in order to guarantee consistency. If one is willing to give up strong consistency, then /eventually consistent/ models provide an alternative. Eventual consistency means the system /eventually/ reaches a state where all clients agree on the same sequence of operations; before that, though, each client may have local state that disagrees with other clients.
Eventual consistency may model a processor with local caches and a central memory; it may also model a distributed cloud storage system with a central server and a variety of clients. Starting from a functional setting, I will introduce a very abstract model where clients send functions that fold over an initial state; then, I will move on to a more concrete, implementable model called the Global Sequence Protocol and show how to use it in a concrete application.