Eventual Consistency in Distributed Systems

Konrad Iwanicki (University of Warsaw).


Course Summary | About the lecturer | Location and schedule | Materials | Videos | Assignment

Registration form:

Register here

You can find the slides and the assignment here.

Course summary:

Replication is a key phenomenon in distributed computing systems. Apart from being an inherent property of many message-based distributed algorithms, it is often employed explicitly as a technique for improving fault tolerance and performance of a system. In the first case, having multiple redundant copies of data or services allows for tolerating failures of the components comprising the system. In the second case, placing such replicas “close” to clients may reduce wide-area traffic and client-perceived latency.

However, having multiple copies of data or services leads to situations in which the state of some replicas diverges from the state of the others, for instance, as a result of concurrent client actions. In effect, two clients may observe potentially different states, which might have grave consequences. A consistency model is thus set of rules that describe the possible discrepancies in the observable replica states under specific conditions, thereby allowing for controlling what and how is presented to the clients and how client operations are carried out.

A popular consistency model, originating from shared-memory multi-threaded programming, is strong consistency. This model is important also in many distributed systems. However, it is also expensive in terms of the coordination required to keep the replicas in sync. Therefore, scalable distributed systems often resort to weaker models, notably eventual consistency, in which the coordination is far looser. In this course, we will study these topics in more depth, including employing eventual consistency to solve a practical problem (using the Rust programming language).

About the lecturer:

Konrad Iwanicki is an Associate Professor at the Faculty of Mathematics, Informatics, and Mechanics of the University of Warsaw, from which he received Habilitation in 2019. Before joining the University of Warsaw as a faculty member, he did a PhD under the guidance of prof. Maarten van Steen in the Computer Systems Group of the Vrije Universiteit Amsterdam, the Netherlands, headed by prof. Andy Tanenbaum. He was also a co-founder and the first CEO of InviNets, which brings Internet of Things solutions to the real world. His research interests include large-scale distributed systems and network protocols. He is especially interested in low-power wireless networks, such as wireless sensor networks and the Internet of Things technologies.

Thursday, May 19th in 2180
14:15 - 15:45 lecture
16:15 - 17:15 class
Friday, May 20th in 4420
14:15 - 15:15 lecture
15:45 - 17:15 lecture
Saturday, May 21st in 4420
10:15 - 11:45 lecture
12:15 - 13:15 class

Materials