Lecturer: Prof. Lorenzo Alvisi, Cornell University 

Schedule: 
from 13th of June, 10-13, Sala riunioni primo piano ed. 27 

Program: 

ABSTRACT:

The objective of this course is to introduce you to the key ideas that have shaped distributed computing and are likely to do so in the future; the ambition of this course is to get you as excited about them as I am. The thing about distributed computing that really grabbed me when I first became exposed to it was how its tremendous practical impact was based on beautiful, elegant, theoretical foundations. Because of
asynchrony, partial failures, network partitions and concurrency (all issues you’ll be an expert on by the end of this course) it is virtually impossible to hack a distributed system into submission: getting it
right means being able to prove things about it. This course strives to mirror the multi-faceted nature of the subject it covers. Classes focuses on fundamentals: We will cover problems, models, algorithms, and
impossibility results.

Bring your laptop.

 

PROGRAM
- Global states and event ordering: logical clocks, vector clocks, consistent cuts and global property detection
- State machine approach
- Agreement protocols
- Failure detection
- Replication and consistency in geo-replicated systems
- Epidemic Protocols
- Byzantine fault tolerance — blockchains (need to prepare these from scratch, but hey!)

Exam: 
Not yet defined 

CFD: 6