** Preliminary program is now available **
Strong consistency is easy to understand, but it requires synchronisation, which has a high cost and does not tolerate partial system failure or network partitions well. Hence, the past decade has seen renewed interest in an alternative - Eventual Consistency (EC) - where data is accessed and modified without coordination. Many production systems guarantee only EC, including NoSQL databases, key-value stores and cloud storage systems. EC improves responsiveness and availability, updates propagate more quickly, and enables less coordination-intensive and often less complex protocols.
EC is crucial for scalability but represents an unfamiliar design space. Conflicts and divergence are possible, making them hard to program against, while metadata growth and maintaining system-wide invariants can also become problematic. As more developers interact with and program against distributed storage systems, understanding and managing these trade-offs becomes increasingly important.
Although EC remains poorly understood, there has recently been considerable momentum in the research and development community: the past several years have seen the (re)introduction of useful concepts, such as replicated data types, monotonic programming, causal consistency, red-blue consistency, novel proof systems, etc., designed to allow improve efficiency, programmability, and overall operation of weakly consistent stores.
This workshop aims to investigate the principles and practice of Eventual Consistency. It will bring together theoreticians and practitioners from different horizons: system development, distributed algorithms, concurrency, fault tolerance, databases, language and verification, including both academia and industry. In order to make EC computing easier and more accessible, and to address the limitations of EC and explore the design space spectrum between EC and strong consistency, we will share experience with practical systems and from theoretical study, to investigate algorithms, design patterns, correctness conditions, complexity results, and programming methodologies and tools.
Relevant discussion topics include:
- Design principles, correctness conditions, and programming patterns for EC.
- Techniques for eventual consistency: session guarantees, causal consistency, operational transformation, conflict-free replicated data types, monotonic programming, state merge, commutativity, etc.
- Consistency vs. performance and scalability trade-offs: guiding developers, controlling the system.
- Analysis and verification of EC programs.
- Strengthening guarantees: transactions, fault tolerance, security, ensuring invariants, bounding metadata memory, and controlling divergence, without losing the benefits of EC.
- Platform guarantees vs. application involvement: guiding developers, controlling the system.
The workshop will feature a small number of invited talks. Each workshop session will contain a number of presentations around a common theme, followed by a panel and a generl discussion on the theme.
We solicit proposals for contributed talks. We recommend preparing proposals of at most 2 pages, in either plain text or PDF format. However, we will accept longer proposals or submissions to other conferences, under the understanding that PC members are only expected to read the first two pages of such longer submissions.
The papers and slides will be distributed to the participants. Authors will have the opportunity to chose if they want their papers published in ACM Digital Library (with papers from other EuroSys workshops).
Submission site: https://www.easychair.org/conferences/?conf=papec2014
- Submissions due: 14 February 2014 *** Extended deadline ***
- Notifications to authors: 28 February 2014
- Workshop: 13 April 2014