Distributed Computing

Welcome! This is a master level course for M.Tech. students at ISI Kolkata. The goal of this course is to provide an introduction to the fundamentals of distributed systems and algorithms.

Course Information

Instructor: Anisur Rahaman Molla Ansuman Banerjee

Office: 403, C D Deshmukh Bhavan Office: 510, 5th Floor, ACMU, PJ Building

Email: "my_lastname" at isical.ac.in Email: "my_firstname" at isical.ac.in

Schedule and Venue: XYZdate (will update soon!)

Course Description:

This course provides an introduction to distributed systems. The course consists of a traditional lecture component supported by programming assignments and term papers. There is one midterm exam and a final exam. In particular the course will cover the following topics:

  • Introduction (motivation, basics, model, distributed complexity measures)

  • Broadcast and Tree algorithms (broadcast, convergecast, spanning tree construction)

  • Minimum spanning tree

  • Local symmetry breaking (maximal independent set and coloring)

  • Leader election, agreement

  • Fault-Tolerant/Byzantine distributed computation

  • more come soon...!

Prerequisite:

Algorithms, Programming and Data Structures, Some mathematical maturity including probabilistic calculation

Grading Plan:

  • Project — 30%

  • Exams — 70% (Mid term 20%, Final 50%)

References:

Text Books

  1. Distributed Computing: A Locality-Sensitive Approach, by David Peleg

    1. Distributed Network Algorithms, by Gopal Pandurangan (monograph is available here)

  2. Distributed Computing: Fundamentals, Simulations and Advanced Topics, by Hagit Attiya and Jennifer Welch

  3. Introduction to Distributed Algorithms, by Gerard Tel, Cambridge University Press,

  4. Advanced Concepts in Operating Systems by Mukesh Singhal and Niranjan G. Shivaratri, Tata McGraw-Hill Publishing Company Limited, New Delhi

Lecture Notes

  • We will try to prepare lecture slides and/or notes

Assignment: (will upload assignments here)