|Distributed System||Learning Schedule|
This course covers a broad range of topics related to parallel and distributed computing, including parallel and distributed archi-tectures and systems, parallel and distributed programming paradigms, parallel algorithms and scientific and other applications of parallel and distributed computing.
The objective of this course is to:
- Familiarize the students with the basics of distributed computing systems.
- To introduce the concepts of distributed file systems, shared memory and message passing systems, synchronization and resource management.
At the end of the course student will be able to:
- Verify and analyze the time complexity of the algorithms related to distributed computing.
- Design and develop various algorithms for problems in distributed computing
- Compare various resource allocation stratagies.
Unit I: INTRODUCTION
Definition – Evolution- Goals of distributed systems, system models- Issues in the design of distributed systems- Distributed com-puting environment.
Unit II: COMMUNICATION
Message Passing – Features and Issues -Synchronization-Buffering – Process Addressing – Failure Handling – Remote procedure call (RPC): Model – Implementation – Stub generation – RPC messages – Marshaling – server Management – Call semantics – communication protocols for RPC-Client server binding – RMI.
Unit III: DISTRIBUTED SHARED MEMORY
Distributed shared memory- Design and implementation issues- Sequential consistency – Release consistency, Process migration Features & Mechanism
Unit IV: SYNCHRONIZATION
Synchronizing physical clocks – Logical clocks – Distributed coordination – Event Ordering – Mutual Exclusion – Deadlock – Elec-tion algorithms.
Unit V: DISTRIBUTED FILE SYSTEMS
Introduction – File Models – File accessing, sharing and caching – File Replication – Atomic transactions Case Study HADOOP. : Resource and process management – Task assignment approach – Load balancing approach – Load sharing approach
- George Colouris, Jean Dollimore and Tim Kindberg, “Distributed Systems – Concepts and Design”, Pearson Education Private Limited, New Delhi, 2001
- Pradeep K Sinha, “Distributed Operating Systems: Concepts and Design”, Prentice Hall of India, New Delhi, 2003.
- Gerard Tel, “Introduction to Distributed algorithms”, Cambridge University Press, USA, 2000.
- Andrzej Goscinski, “Distributed Operating Systems, the logical Design”, Addison Wesley Publishing Company, USA, 1991.
- Tanenbaum, “Modern Operating Systems”, Prentice Hall of India, New Delhi, 1999.
- Patrick Naughton and Herbert Schildt, “Java 2- The Complete Reference”, Tata McGraw Hill, New Delhi, 2007.