Course Code: Course Title Credit
CSC801 Distributed Computing 3
Prerequisite: Computer Networks and Operating Systems.
Course Objectives:
1 To provide students with contemporary knowledge in distributed systems.
2 To explore the various methods used for communication in distributed systems.
3 To provide skills to measure the performance of distributed synchronization algorithms.
4 To provide knowledge of resource management, and process management including
process migration.
5 To learn issues involved in replication, consistency, and file management.
6 To equip students with skills to analyze and design distributed applications.
Course Outcomes: At the end of the course students will be able to
1 Demonstrate the knowledge of basic elements and concepts related to distributed system
technologies.
2 Illustrate the middleware technologies that support distributed applications such as RPC,
RMI and Object-based middleware.
3 Analyze the various techniques used for clock synchronization, mutual exclusion and
deadlock.
4 Demonstrate the concepts of Resource and Process management.
5 Demonstrate the concepts of Consistency, Replication Management and fault Tolerance.
6 Apply the knowledge of Distributed File systems in building large-scale distributed
applications.
Module Content Hrs
1 Introduction to Distributed Systems 4
1.1 Characterization of Distributed Systems: Issues, Goals, Types of distributed
systems, Grid and Cluster computing Models, Hardware and Software Concepts:
NOS, DOS.
1.2 Middleware: Models of middleware, Services offered by middleware.
2 Communication 4
2.1 Interprocess communication (IPC): Remote Procedure Call (RPC), Remote
Method Invocation (RMI).
2.2 Message-Oriented Communication, Stream Oriented Communication, Group
Communication.
3 Synchronization 10
3.1 Clock Synchronization: Physical clock, Logical Clocks, Election Algorithms
3.2 Distributed Mutual Exclusion, Requirements of Mutual Exclusion Algorithms and
Performance measures.
Non- token Based Algorithms: Lamport, Ricart Agr
Algorithms; Token-based Algorithms: Suzuki-
-based Algorithm; and Comparative Performance Analysis.
3.3 Deadlock: Introduction, Deadlock Detection: Centralized approach, Chandy -
Misra_Hass Algorithm.
4 Resource and Process Management 7
4.1 Desirable Features of Global Scheduling algorithm, Task assignment approach,
Load balancing approach and load sharing approach.
4.2 Introduction to Process Management, Process Migration, Code Migration.
5 Replication, Consistency and Fault Tolerance
5.1 Distributed Shared Memory: Architecture, design issues. 8
5.2 Introduction to replication and consistency, Data-Centric and Client-Centric
Consistency Models, Replica Management.
5.3 Fault Tolerance: Introduction, Process resilience, Recovery.
6 Distributed File Systems 6
6.1 Introduction and features of DFS, File models, File Accessing models, File-
Caching Schemes, File Replication, Case Study: Network File System (NFS).
6.2 Designing Distributed Systems: Google Case Study.
Textbooks:
1 Andrew S. Tanenbaum and Maarten Van Steen, Distributed Systems: Principles and
Paradigms, 2nd edition, Pearson Education.
2 Mukesh Singhal, Niranjan G. Shivaratri, "Advanced concepts in operating systems:
Distributed, Database and multiprocessor operating systems", MC Graw Hill education.
3 Pradeep K.Sinha, "Distributed Operating System-Concepts and design", PHI.
References:
1
Wesley, 2004
2 George Coulouris, Jean Dollimore, Tim Kindberg, "Distributed Systems: Concepts and
Design", 4th Edition, Pearson Education, 2005.
Useful Links
1 https://nptel.ac.in/courses/106106107
2 https://nptel.ac.in/courses/106106168
3 http://csis.pace.edu/~marchese/CS865/Lectures/Chap7/Chapter7fin.htm
4 https://nptel.ac.in/courses/106104182
Assessment:
Internal Assessment:
Assessment consists of two class tests of 20 marks each. The first-class test is to be conducted
when approx. 40% syllabus is completed and the second-class test when an additional 40%
syllabus is completed. The duration of each test shall be one hour.
End Semester Theory Examination:
1 The question paper will comprise a total of six questions.
2 All question carries equal marks
3 Questions will be mixed in nature (for example supposed Q.2 has part (a) from module 3
then part (b) will be from any module other than module 3)
4 Only four questions need to be solved.
5 In question paper weightage of each module will be proportional to the number of
respective lecture hours as mentioned in the syllabus.