Browse papers
A

Section A: Long Answer Questions

Attempt all / any as specified.

4 questions
1long12 marks

Define a distributed system and explain its key characteristics. With suitable diagrams, compare and contrast the client-server model and the peer-to-peer model as architectural models of distributed systems. Discuss the major design challenges (such as heterogeneity, openness, scalability, and transparency) that a distributed system must address.

distributed-system-modelssystem-architecture
2long12 marks

(a) Explain why clock synchronization is necessary in a distributed system and describe Cristian's algorithm for synchronizing a client clock with a time server, including how it compensates for message propagation delay. [6]

(b) Define Lamport's happened-before relation. Given the following events across three processes, assign Lamport logical clock timestamps to every event and show how the algorithm enforces causal ordering of messages. [6]

clock-synchronizationlogical-clocks
3long12 marks

(a) Describe the Ricart-Agrawala distributed mutual exclusion algorithm. State the number of messages required per critical-section entry and analyse its correctness with respect to safety, liveness, and fairness. [7]

(b) Explain the Bully election algorithm with an example of how a new coordinator is elected when the current coordinator crashes. [5]

mutual-exclusionelection-algorithms
4long12 marks

Explain the working of Remote Procedure Call (RPC) with a clear diagram showing the roles of the client stub, server stub (skeleton), and the RPC runtime. Discuss the steps of parameter marshalling and the different call semantics (at-least-once, at-most-once, maybe). How does Remote Method Invocation (RMI) differ from RPC?

remote-procedure-callrmiinterprocess-communication
B

Section B: Short Answer Questions

Attempt all / any as specified.

7 questions
5short8 marks

Differentiate between synchronous and asynchronous communication, and between blocking and non-blocking send/receive primitives in interprocess communication. Explain how sockets support the message-passing model with a brief description of TCP-based and UDP-based communication.

interprocess-communicationmessage-passing
6short8 marks

Explain the architecture of a Distributed File System (DFS). With reference to Sun NFS, describe the role of the virtual file system (VFS), the use of stateless servers, and how caching is used to improve performance.

distributed-file-systems
7short8 marks

What is replication and why is it used in distributed systems? Explain the difference between active replication and passive (primary-backup) replication, and discuss how each handles the failure of a replica.

replicationfault-tolerance
8short8 marks

Describe the Berkeley algorithm for clock synchronization. How does it differ from Cristian's algorithm, and in what situations is it more appropriate? Illustrate with an example of a master polling three slave clocks.

clock-synchronization
9short8 marks

Compare the centralized, token-ring, and distributed approaches to mutual exclusion in distributed systems in terms of the number of messages per entry, single point of failure, and delay before entry. State one advantage and one disadvantage of each approach.

mutual-exclusion
10short8 marks

Define fault tolerance and distinguish among the following failure types in a distributed system: crash failure, omission failure, timing failure, and Byzantine (arbitrary) failure. Briefly explain how redundancy can be used to mask such failures.

fault-tolerancedistributed-system-models
11short8 marks

Explain the Ring (Chang-Roberts) election algorithm. Show, with an example ring of five processes, how a coordinator is elected after the current coordinator fails, and compare its message complexity with that of the Bully algorithm.

election-algorithms