0% found this document useful (0 votes)
9 views2 pages

Distributed Computing Course Overview

The document outlines the course objectives and structure for CS3551 - Distributed Computing, covering topics such as computation models, synchronization issues, mutual exclusion, deadlock detection, agreement protocols, and cloud computing concepts. It details five units of study, including logical time, distributed mutex, consensus, recovery, and cloud computing fundamentals. The course aims to equip students with foundational knowledge and practical skills in distributed systems and cloud computing.

Uploaded by

kishorejanani123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views2 pages

Distributed Computing Course Overview

The document outlines the course objectives and structure for CS3551 - Distributed Computing, covering topics such as computation models, synchronization issues, mutual exclusion, deadlock detection, agreement protocols, and cloud computing concepts. It details five units of study, including logical time, distributed mutex, consensus, recovery, and cloud computing fundamentals. The course aims to equip students with foundational knowledge and practical skills in distributed systems and cloud computing.

Uploaded by

kishorejanani123
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

365, Thudiyalur Road, Saravanampatti, Coimbatore – 641035.

Approved By AICTE | Affiliated to Anna University | ISO-Certified | Accredited by NBA(IT)

CS3551 - DISTRIBUTED COMPUTING


COURSE OBJECTIVES:
 To introduce the computation and communication models of distributed
systems
 To illustrate the issues of synchronization and collection of information in
distributed systems
 To describe distributed mutual exclusion and distributed deadlock detection
techniques
 To elucidate agreement protocols and fault tolerance mechanisms in
distributed systems
 To explain the cloud computing models and the underlying concepts
UNIT I INTRODUCTION 8
Introduction: Definition-Relation to Computer System Components – Motivation –
Message Passing Systems versus Shared Memory Systems – Primitives for Distributed
Communication –Synchronous versus Asynchronous Executions – Design Issues and
Challenges; A Model of Distributed Computations: A Distributed Program – A Model of
Distributed Executions – Models of Communication Networks – Global State of a
Distributed System.
UNIT II LOGICAL TIME AND GLOBAL STATE 10
Logical Time: Physical Clock Synchronization: NTP – A Framework for a System of
Logical Clocks – Scalar Time – Vector Time; Message Ordering and Group
Communication: Message Ordering Paradigms – Asynchronous Execution with
Synchronous Communication – Synchronous Program Order on Asynchronous System –
Group Communication – Causal Order – Total Order;
Global State and Snapshot Recording Algorithms: Introduction – System Model and
Definitions – Snapshot Algorithms for FIFO Channels.
UNIT III DISTRIBUTED MUTEX AND DEADLOCK 10
Distributed Mutual exclusion Algorithms: Introduction – Preliminaries – Lamport’s
algorithm – Ricart- Agrawala’s Algorithm –– Token-Based Algorithms – Suzuki-Kasami’s
Broadcast Algorithm; Deadlock Detection in Distributed Systems: Introduction –
System Model – Preliminaries – Models of Deadlocks – Chandy-Misra-Haas Algorithm
for the AND model and OR Model.
UNIT IV CONSENSUS AND RECOVERY 10
Consensus and Agreement Algorithms: Problem Definition – Overview of Results –
Agreement in a Failure-Free System (Synchronous and Asynchronous) – Agreement in
Synchronous Systems with Failures; Checkpointing and Rollback Recovery: Introduction
– Background and Definitions – Issues in Failure Recovery – Checkpoint-based Recovery
– Coordinated Checkpointing Algorithm - - Algorithm for Asynchronous Checkpointing
and Recovery.
UNIT V CLOUD COMPUTING 7
Definition of Cloud Computing – Characteristics of Cloud – Cloud Deployment Models –
Cloud Service Models – Driving Factors and Challenges of Cloud – Virtualization – Load
Balancing – Scalability and Elasticity
– Replication – Monitoring Cloud Services and Platforms: Compute Services – Storage
Services – Application Services

TOTAL: 45 PERIODS
COURSE OUTCOMES:
Upon the completion of this course, the student will be able to
CO1: Explain the foundations of
distributed systems (Understanding - K2)
CO2: Solve synchronization and state
consistency problems (Apply - K3)
CO3 Use resource sharing techniques in
distributed systems (K3)
CO4: Apply working model of consensus and
reliability of distributed systems (K3)
CO5: Explain the fundamentals of cloud
computing (K2)

TEXT BOOKS
1. Kshemkalyani Ajay D, Mukesh Singhal, “Distributed Computing: Principles, Algorithms
and Systems”, Cambridge Press, 2011.
2. Mukesh Singhal, Niranjan G Shivaratri, “Advanced Concepts in Operating systems”,
Mc-Graw Hill Publishers, 1994.
REFERENCES
1. George Coulouris, Jean Dollimore, Time Kindberg, “Distributed Systems Concepts and
Design”, Fifth Edition, 2012.
2. Pradeep L Sinha, “Distributed Operating Systems: Concepts and Design”, Prentice Hall
of India, 2007.
3. Tanenbaum A S, Van Steen M, “Distributed Systems: Principles and Paradigms”,
Pearson Education, 2007.
4. Liu M L, “Distributed Computing: Principles and Applications”, Pearson Education,
2004.
5. Nancy A Lynch, “Distributed Algorithms”, Morgan Kaufman Publishers, 2003.
6. Arshdeep Bagga, Vijay Madisetti, “Cloud Computing: A Hands-On Approach”,
Universities Press, 2014.
Useful Links
[Link] & [Link]
[Link] &
[Link]

Common questions

Powered by AI

Physical clocks attempt to synchronize with an external time standard, like NTP, and ensure the actual time of events aligns with real-world timings across distributed systems. Logical clocks, such as Lamport's logical clocks, do not use real-time but order events to determine causality, facilitating synchronization in distributed systems where exact time is less significant than the sequence of events .

Virtualization enables scalability and elasticity in cloud computing by abstracting physical hardware, allowing dynamic allocation of resources and efficient load balancing. This flexibility ensures that computing power and storage can be adjusted rapidly in response to demand spikes, offering users a seamless experience with minimized infrastructure waste .

Synchronous executions rely on coordinated actions with predictable timing between processes, offering straightforward concurrency but needing complex clock synchronization. Asynchronous executions, lacking timing guarantees, require mechanisms to handle data consistency and order independently of real-time. These differences impact design decisions regarding fault tolerance, system responsiveness, and synchronization complexity, necessitating customized approaches per system requirements .

Snapshot algorithms capture a consistent state of the distributed system at a given point in time, factoring in asynchronous communication and ensuring all component states are aligned correctly to depict a coherent global state. This capability is crucial for debugging, reliability, and recovery operations by providing a baseline for analyzing system behavior .

The characteristics of cloud computing, such as on-demand self-service, broad network access, resource pooling, rapid elasticity, and measured service, influence deployment models (public, private, hybrid, and community clouds) and service models (IaaS, PaaS, SaaS). These attributes enable diverse deployment strategies and flexible service offerings, tailor-fit for varying organizational needs and scale .

Achieving consensus in distributed systems, particularly asynchronous ones, involves challenges like network delays, message loss, and node failures. In asynchronous environments, where there is no common clock or certainty of message delivery, these factors complicate agreement algorithms, requiring complex fault tolerance techniques to ensure decision consistency among nodes despite failures or message discrepancies .

Message-passing systems facilitate communication between distributed components through messages, suitable for loosely coupled systems where nodes communicate over a network. In contrast, shared-memory systems allow multiple processes to access common memory space, often used in tightly-coupled systems where synchronization is a concern. These systems are distinguished by their communication models and the design challenges they pose for synchronization and data consistency .

Suzuki-Kasami’s Broadcast Algorithm uses a token to grant access to the critical section, providing a simpler solution with potential inefficiencies under heavy contention due to token circulation delays. Ricart-Agrawala’s Algorithm, however, is request-based and involves number marking to manage queue requests, reducing token handling but potentially increasing network messages due to request exchanges .

Monitoring is crucial in cloud computing to ensure optimal performance, security, and resource utilization. It primarily focuses on tracking compute and storage services, application performance, load balancing, and system health to detect and rectify failures, optimize costs, and ensure compliance with service level agreements .

The Chandy-Misra-Haas Algorithm uses a probe mechanism to detect cycles (indicating deadlock) in wait-for graphs for both AND and OR models of resource allocation. It sends probe messages along waiting chains to identify if a deadlock condition exists, effectively managing resource dependencies without requiring a global state view, which is essential in distributed systems .

You might also like