by Prof. Suresh Jagannathan, Purdue University(hosted by Viktor Vafeiadis)
"Declarative Programming for Eventual Consistency"
In geo-replicated distributed data stores, the need to ensure responsiveness
in the face of network partitions and processor failures results in
implementations that provide only weak (so-called eventually consistent)
guarantees on when data updated by one process becomes visible to another.
Applications must be carefully constructed to be aware of unwanted
inconsistencies permitted by such implementations (e.g., having negative
balances in a bank account, or having an item appear in a shopping cart
after it has been removed), but must balance correctness concerns with
performance and scalability needs. Because understanding these tradeoffs
requires subtle reasoning and detailed knowledge about the underlying data
store, implementing robust distributed applications in such environments is
often an error-prone and expensive task.
To overcome these issues, this talk presents a declarative programming model for eventually consistent data stores called Quelea. The model comprises a contract language, capable of defining fine-grained application-level consistency properties for replicated data types (and transactions over objects of these types), and a contract enforcement system to analyze contracts and automatically generate the appropriate consistency protocol for the method protected by the contract. By doing so, Quelea enables programmers to reason compositionally about consistency from the perspective of high-level application requirements, not low-level implementation features.
This is joint work with Gowtham Kaki and K.C. Sivaramakrishnan.
|Time:||Thursday, 19.11.2015, 10:30 am|
|Place:||MPI-SWS Kaiserslautern Paul Ehrlich Str. 26, room 111|
|Video:||Simultaneous video cast to MMPI-SWS Saarbrücken, Campus E1 5, room 029|