Skip to main content

Scala

We will be using the Scala programming language throughout the course assignments. If you are a beginner in Scala we recommend  Scala By Example as well as Scala School

Programming Environment

We disseminate a  Virtual Machine image bundle that contains Kompics and Zeppelin, which we call Zeppelics. In order to test and submit your assignments you will need to download Zeppelics from the Downloads Page and boot it using Oracle's Virtual Box.

Lecture Slides (PDF)

Contents, readings, and acknowledgments  

Lecture 1 Introduction to distributed systems

Introduction to Kompics

Review: Sets, relations and transition systems

Lecture 2 Input-Output automata

Lecture 3 Basic Abstractions

Lecture 4 Failure Detectors

Lecture 5 Reliable Broadcast

Lecture 6 Causal Broadcast

Lecture 7 Distributed Shared Memory

Lecture 8 Consensus

Lecture 9 Paxos

Algorithms (PDF)

Job Handler

Stubborn Links

Perfect Failure Detector

Eventually Perfect Failure Detector

Leader Election

Eventual Leader Detection

Best Effort Broadcast

Reliable Broadcast

Uniform Reliable Broadcast

Causal Broadcast