Distributed Systems Foundations
Amr El Abbadi
Professor of Computer Science
University of California at Santa Barbara
Location: Delta Center, Narva mnt 18, Tartu
Time: 16:15 - 18
2.10 (D1007).
3.10 (D1007),
4.10 (D1020)
In this mini-course I will be presenting some of the fundamental topics that form the basis of research in Distributed Systems and Computing. My goal is to get you all up to speed on the foundations so that by the end of the quarter you are ready to launch into Cloud Computing and Blockchain. The topics we will cover are in no way exhaustive, and of course, they reflect my own subjective biases and some of my current interests. The course will include 3 lectures covering the following topics. To get the most out of the lectures, please try to attend them in sequence as the later lectures build on material covered in the prior lectures.
1. Foundations of Distributed Computing.
In this lecture we will starting by introducing Lamport’s model of Distributed Systems and message passing. We will introduce the notions of causality, time, Lamport Logical Clocks, Vector Clocks and discuss protocols for clock synchronization and distributed mutual exclusion. Depending on time, we might discuss protocols for detecting the global state of a distributed system.
2. Failures and Crash Fault-tolerance.
In this lecture, we will introduce failures, including crash and malicious faults. We will start by focusing on crash failures and develop a simple protocol based Lamport’s causality model to manage a fault-tolerant Replicated Dictionary. Then we will introduce the notion of quorums, and develop the foundation of Paxos, a protocol for managing a replicated state machine using a replicated log. Depending on time, we will also discuss commit protocols in distributed databases (2-phase commit) and relate it to Paxos.
3. Malicious Faults: Byzantine Fault-tolerance and Blockchains.
In this lecture, we will extend the consensus protocols developed for crash failures to handle malicious failures. We will introduce the Byzantine Generals Problem, and discuss the Practical Byzantine Fault-Tolerance protocol. Depending on time we will use this to introduce blockchains and their computation-based Proof of Work to solve the consensus problem in a large-scale distributed setting.
Biography
Amr El Abbadi is a Professor of Computer Science. He received his B. Eng. from Alexandria University, Egypt, and his Ph.D. from Cornell University. His research interests are in the fields of fault-tolerant distributed systems and databases, focusing recently on Cloud data management, blockchain based systems and privacy concerns. Prof. El Abbadi is an ACM Fellow, AAAS Fellow, and IEEE Fellow. He was Chair of the Computer Science Department at UCSB from 2007 to 2011. He served as Associate Graduate Dean at the University of California, Santa Barbara from 2021--2023. He has served as a journal editor for several database journals, including, The VLDB Journal, IEEE Transactions on Computers and The Computer Journal. He has been Program Chair for multiple database and distributed systems conferences, including most recently SIGMOD 2022. He currently serves on the executive committee of the IEEE Technical Committee on Data Engineering (TCDE) and was a board member of the VLDB Endowment from 2002 to 2008. In 2007, Prof. El Abbadi received the UCSB Senate Outstanding Mentorship Award for his excellence in mentoring graduate students. In 2013, his student, Sudipto Das received the SIGMOD Jim Gray Doctoral Dissertation Award. Prof. El Abbadi is also a co-recipient of the Test of Time Award at EDBT/ICDT 2015. He has published over 350 articles in databases and distributed systems and has supervised over 40 PhD students.
Amr El Abbadi Homepage and Google Scholar
Host and local contact:
Prof. Jaak Vilo
email: vilo@ut.ee
Prof. Eero Vainikko
email: eero.vainikko@ut.ee