A distributed system is a software system in which components located on networked computers communicate and coordinate their actions by passing messages. The components interact with each other in order to achieve a common goal. Distributed applications (distributed apps) are applications or software that runs on multiple computers within a network at the same time and can be stored on servers or with cloud computing. This course provides an in-depth understanding of fundamental principles and models underlying the theory, algorithms, and systems aspects of distributed computing. Few Emerging topics such as Peer-to-Peer computing, Distributed Hash Table, Google File System, HDFS, Spark, Sensor Networks and Security in Distributed Systems will also be covered for significant impact. Upon completing this course, students will have intimate knowledge about how things work in a distributed environment.INTENDED AUDIENCE: Any Interested Learners.PREREQUISITES: Minimum: Data Structures and Algorithms Ideal: Basic networking concepts, Basic OS concepts (e.g., processes, threads, synchronization, file systems, scheduling etc.), Advanced Programming (Good knowledge in C and C++).INDUSTRY SUPPORT: Microsoft Research has conducted this course. Various companies like Google, IBM, Cisco, etc, Distributed systems Group and Distributed systems start-ups are working on this field.
Overview
Syllabus
Week 1: Introduction to DS, Message Passing, Leader Election, Distributed Models, Causality and Logical Time
Week 2: Logical Time, Global State & Snapshot and Distributed Mutual Exclusion-Non-Token and Quorum based approaches
Week 3: Distributed Mutual Exclusion-Token based approaches, Consensus & Agreement, Checkpointing & Rollback Recovery
Week 4: Deadlock Detection, DSM and Distributed MST
Week 5: Termination Detection, Message Ordering & Group Communication, Fault Tolerance and Self-Stabilization
Week 6: Distributed Randomized Algorithms, DHT and P2P Computing
Week 7: Case Studies: GFS, HDFS, Map Reduce and Spark
Week 8: Case Studies: Sensor Networks, Authentication & Security in DS
Taught by
Prof. Rajiv Misra