Teaching
Distributed Systems (Postgraduate/Undergraduate)
The Internet interconnects billions of machines, ranging from high end servers to limited capacity embedded sensing devices. Distributed systems are built to take advantage of multiple interconnected machines and achieve common goals with them. The module will cover the fundamental concepts and technical challenges of building distributed systems. The topics will include the characteristics of network communications for applications, application-level communication protocols, the concept of synchronization (implications, role of consistency modes and protocols), as well as the impact of data replication, and options for tolerating failures.