20CS2021 Distributed Computing L T P C 3 0 0 3
Course Objectives:
Enable the student to
1. describe the concepts of resource sharing, system modelling, inter-process communication and file systems in distributed environment
2. apply the skill sets in name services and global states, distributed transaction and concurrency control model, distributed shared memory and distributed multimedia system.
3. compare the replication techniques and shared memory schemes in distributed environment
Course Outcomes:
The student will be able to
1. describe the distributed system models.
2. classify inter-process communication mechanisms and their application scenarios.
3. illustrate a transaction and concurrency control scheme for a real time application.
4. compare the various file system architectures used in distributed systems.
5. construct a real time distributed system with suitable IPC, event coordination, file management, name service, transaction and concurrency control mechanisms.
6. evaluate an efficient distributed system and its qualities.
Module 1 - Introduction
Introduction to Distributed systems - Examples of distributed systems, resource sharing and the web, challenges - System model - introduction - architectural models - fundamental models - Introduction to inter-process communications - API for Internet protocol - external data.
Module 2 - Distributed Objects and File Systems
Introduction - Communication between distributed objects - Remote procedure call - Events and notifications - case study - Operating system support - introduction - operating system layer - protection - process and threads - communication and invocation - architecture - Introduction to DFS - File service architecture - Sun network file system - Andrew file system - Enhancements and future developments.
Module 3 - Name Services and Global States
Introduction to Name Services- Name services and DNS - Directory services - case study - Introduction to peer-to-peer systems - Napster and its legacy - Peer-to-peer middleware - Routing overlays - case study - Introduction to time and global states - Clocks, Events and Process states - Synchronizing physical clocks - Logical time and logical clocks - Global states - Distributed debugging.
Module 4 - Distributed Transaction and Concurrency Control
Introduction to coordination and agreement - Distributed mutual exclusion - elections - multicast communication - consensus and related problems - Introduction to transaction and concurrency control - Transactions - Nested transaction - Locks - Optimistic concurrency control - Timestamp ordering -Comparison of methods for concurrency control - Introduction to distributed transactions - Flat and nested distributed transactions - Atomic commit protocols - Concurrency control in distributed transactions - Distributed deadlocks - Transaction recovery.
Module 5 - Replication
Introduction to Replication - System model and group communications - Fault tolerant services - Highly available services - Transactions with replicated data
Module 6 - Distributed Shared Memory and Distributed Multimedia System
Distributed shared memory - design and implementation issues - sequential consistency and Ivy -release consistency and Munin - other consistency models- Distributed multimedia systems -characteristics of multimedia data - quality of service management - resource management - stream adaptation - case study.
Text Books:
1. George Coulouris, Jean Dollimore, and Tim Kindberg, “Distributed Systems Concepts and Design”,Addison-Wesley, Fifth edition, 2011, ISBN: 0132143011.
2. Andrew S. Tanenbaum and Maartenvan Steen, “Distributed Systems: Principles and Paradigms”,Prentice Hall, Second edition, 2006, ISBN: 0132392275.
Reference Books:
1. William Buchanan, “Distributed Systems and Networks”, McGraw-Hill, 2001,ISBN: 0077095839.
2. Pradeep K. Sinha, “Distributed Operating Systems: Concepts and Design”, Wiley- IEEE Press, 1996, ISBN: 0780311191.
3. Kai Hwang, Jack Dongarra & Geoffrey C. Fox, “Distributed and Cloud Computing: Clusters, Grids, Clouds, and the Future Internet (DCC)”, 2012,ISBN: 0262313367
4. Ajay D. Kshemkalyani, MukeshSinghal, “Distributed Computing: Principles, Algorithms, and Systems”, Cambridge University Press, 2011, ISBN-13 : 978-0521189842