Dc 2m ia1



Q1. Define Distributed Systems.
A distributed system is a collection of independent computers connected by a network that appears to users as a single coherent system, enabling resource sharing and coordination.


Q2. Characteristics of Distributed Systems.

  • Resource Sharing – hardware, software, and data can be shared.
  • Concurrency – multiple computations occur at the same time.
  • Scalability – system can expand easily.
  • Fault Tolerance – continues functioning even if some components fail.
  • Transparency – hides distribution from users (access, location, replication, concurrency, failure transparency).

Q3. What is Middleware?
Middleware is software that sits between applications and the underlying operating system/network, providing communication, coordination, and transparency services (e.g., CORBA, RMI, RPC).


Q4. Applications of Distributed Computing.

  • Cloud computing and data centers.
  • Online banking and e-commerce.
  • Social networks and messaging platforms.
  • Distributed file systems (Google File System, Hadoop HDFS).
  • Scientific simulations and grid computing.

Q5. Define Causal Precedence Relation.
For events and , we say (a causally precedes b) if:

  1. Both in the same process and comes before .
  2. is the send of a message, is the receive of that message.
  3. Transitive property holds: if and , then .

Q6. Differences between Synchronous and Asynchronous Execution.

  • Synchronous:
    • Sender and receiver must both be ready.
    • Operations are blocking.
    • Example: Phone call.
  • Asynchronous:
    • Sender continues after sending.
    • Receiver can collect later.
    • Example: Email/SMS.

Q7. Models of Communication Networks.

  • Point-to-Point Model: Direct communication between two processes.
  • Broadcast/Multicast Model: Message sent to all or selected group of processes.

Q8. Logical vs Physical Concurrency.

  • Logical Concurrency: Multiple tasks appear to run in parallel via interleaving (on a single CPU).
  • Physical Concurrency: Multiple tasks truly run in parallel on multiple CPUs/processors.

Q9. Define Clock Skew and Clock Drift Rate.

  • Clock Skew: Difference between the times shown by two clocks at the same instant.
  • Clock Drift Rate: The rate at which a clock deviates from real time (due to oscillator inaccuracies).

Q10. What is Logical Time?
Logical time is an artificial measure of time in a distributed system used to order events consistently without relying on physical clocks.

Ways of Implementing Logical Clock:

  1. Scalar Time (Lamport Clocks) – single counter per process.
  2. Vector Time (Vector Clocks) – vector of counters to capture causality and concurrency.
  3. Matrix Clocks (advanced) – extension of vector clocks for more complete knowledge.


Q1. Define Distributed System.

A distributed system is a collection of independent computers that appear to users as a single coherent system, connected through a network to share resources and services.


Q2. List the categories of parallel systems.

  • SIMD (Single Instruction, Multiple Data)
  • MIMD (Multiple Instruction, Multiple Data)
  • SISD (Single Instruction, Single Data)
  • MISD (Multiple Instruction, Single Data)

Q3. What is a distributed program?
A distributed program is one that runs on multiple processes located on different computers, which coordinate through message passing to achieve a common goal.


Q4. Define causal precedence relation.
For two events a and b, we say a → b if:

  1. They occur in the same process and a comes before b, OR
  2. a is the sending of a message and b is its receipt, OR
  3. The relation is transitive.

Q5. Differences between synchronous and asynchronous execution.

  • Synchronous: Sender and receiver must be ready at the same time; blocking occurs.
  • Asynchronous: Sender continues after sending; receiver can collect message later.

Q6. List the models of communication networks.

  • Point-to-point communication model
  • Broadcast/multicast model

Q7. Define cuts of a distributed system.
A cut is a logical snapshot that divides the events of a distributed computation into “past” and “future.” It represents a global state consisting of one local state from each process.


Q8. Define clock skew.
Clock skew is the difference in the time values shown by the clocks of two processes in a distributed system at the same instant.


Q9. What is meant by clock synchronization?
Clock synchronization is the process of coordinating the clocks of distributed processes so that they reflect a common notion of time within a bounded error.


Q10. Motivation for clock synchronization.

  • To maintain event ordering (causal relations).
  • To coordinate distributed activities (transactions, scheduling).
  • To implement consistency in replicated data.

Q1. Define Distributed System.
A distributed system is a set of independent computers connected by a network that appears to users as a single, integrated computing system.


Q2. What is Middleware?
Middleware is software that provides common services and abstractions to enable communication, coordination, and resource sharing in distributed systems (e.g., CORBA, RMI).


Q3. Differences between logical concurrency and physical concurrency.

  • Logical concurrency: Many tasks appear to execute at the same time (interleaving on a single processor).
  • Physical concurrency: Many tasks actually execute simultaneously on multiple processors.

Q4. Define distributed program.
A distributed program is an application consisting of multiple processes running on different machines that coordinate by message passing to achieve a common objective.


Q5. Define the happened-before relation.
The happened-before relation (→) defines causality between events:

  • Within a process, earlier event → later event.
  • Send of a message → receipt of that message.
  • Transitive closure applies.

Q6. Define global state of a distributed system.
The global state is the collection of all local states of processes and the states of communication channels in the system at a given logical cut.


Q7. Define scalar time.
Scalar time (Lamport’s logical clock) is a single integer counter maintained by each process to assign timestamps to events, ensuring causal ordering.


Q8. Define vector time.
Vector time is a vector of integers (one per process) that captures causality more precisely than scalar clocks and can detect concurrency of events.


Q9. What is clock drift?
Clock drift is the gradual deviation of a physical clock’s time from the real reference time due to hardware inaccuracy.


Q10. Why is clock synchronization needed?

  • To maintain a consistent notion of time across processes.
  • To order distributed events correctly.
  • For coordination tasks such as transactions, logging, and recovery.