You are here: Teaching, Distributed Systems, Week 8
This week's topic is Multi-Process Coordination and Elections.
Internal Page Navigation Links
Learning Outcomes
Upon completion of this week's class and tasks, you should be able to do the following:
- Upon completion of this class, you should be able to:
- Demonstrate an ability to think about the execution of distributed systems by exploring the notions of physical and logical time and global states.
- Demonstrate an appreciation of the utility of synchronized clocks in distributed systems, and of the variability in network delays that stands in the way of accurate synchronisation.
- Discuss the key features of Cristian's synchronisation algorithm, the Berkeley algorithm and the Network Time Protocol.
- Demonstrate an understanding of the utility of logical clocks (Lamport and vector), the rules for updating them and their limitations.
- Demonstrate a deep understanding of the goals and the problems of coordination and agreement in distributed systems.
- Describe and employ algorithmic techniques for addressing these problems.
- Demonstrate an understanding of the theoretical and practical limits to solving coordination problems - in particular, the limits due to the possibility of failure.
- Describe and employ algorithms for distributed mutual exclusion.
- Describe and employ election algorithms.
Return to the internal page navigation links
Go to the start of the main content
Go to the site navigation links
Notes and Handouts
- Slides: This is a PDF document with this week's notes, with one slide per page. Use this for viewing on your computer.
- Handouts: This is a PDF document with this week's notes, with six slides per page. Use this for printing.
Return to the internal page navigation links
Go to the start of the main content
Go to the site navigation links
Tasks
| Task Number | Details |
|---|---|
| 1 |
Provide a design for the following system: A set of processes p1..N are required to reach agreement on which process should play the role of coordinator. The coordinator should be a process with a low load, but not necessarily the lowest load. In the event of two processes wanting to become coordinator, the process that sought permission first should win. |
Return to the internal page navigation links
Go to the start of the main content
Go to the site navigation links
Further Reading
Return to the internal page navigation links
Go to the start of the main content
Go to the site navigation links
This is the end of the content of this page. Everything that follows is a link to another page.
Site Navigation Links
Teaching
- Distributed Systems
- Advanced Internet Development
- Object Oriented Programming
- Projects
- Examinations
- Universal Design