BE Computer Engineering (IOE, TU) Distributed System (IOE, CT 702 / ENCT 411) Question Paper 2078
This is the official BE Computer Engineering (IOE, TU) Distributed System (IOE, CT 702 / ENCT 411) question paper for 2078, as set in the regular annual examination. It carries 80 full marks and a time allowance of 180 minutes, across 11 questions. On Kekkei you can attempt this Distributed System (IOE, CT 702 / ENCT 411) past paper online with a timer, get instant AI feedback and step-by-step solutions, and track the topics where you lose marks — completely free. Whether you are revising for your BE Computer Engineering (IOE, TU) Distributed System (IOE, CT 702 / ENCT 411) exam or solving previous years' question papers, this 2078 paper is a great way to practise under real exam conditions.
Section A: Long Answer Questions
Attempt all / any as specified.
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.
(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]
(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]
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?
Section B: Short Answer Questions
Attempt all / any as specified.
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.
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.
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.
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.
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.
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.
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.