IIIT Logo

Home

Essentials

Overview

Schedule

Problem Sets

Resources

Course Staff

Shishir Nagaraja
Instructor
Email:nagaraja
Phone:
Office:
Hours:

Distributed Systems

Fall 2010

Overview

The aims of this course are to study the fundamental characteristics of distributed systems, including their models and architectures; the implications for software design; some of the techniques that have been used to build them; and the resulting details of good distributed algorithms and applications. The course focuses on basic concepts underlying design and implementation of distributed systems. It covers algorithms and lowerbounds for fundamental problems in distributed computation such as clock synchronization, mutual exclusion, routing, (graph) coloring, coordination, consensus, group communication, transactions, security and privacy, and replicated data management. These topics are discussed in the context of real-world systems such as databases, peer to peer networks, distributed file systems, distributed robotics, and sensor networks.

This is not a course on computer networking (e.g., routing protocols in the Internet). Programming assignments do however require you to write multithreaded networking code.

Syllabus (tentative)