Skip to main content

Reasons for replication; active replication

Short answer

Replication improves performance/scalability, availability, fault tolerance, and reduces network load. Active replication multicasts each request to all replica managers using total order; they execute independently and reply. Advantages: immediate failure masking, Byzantine tolerance with voting, load sharing. Disadvantages: requires total-order multicast, deterministic operations, and wastes resources by repeating work.

What are the reasons for replication? Explain active replication model with its advantages and disadvantages. (How is replication used as a basic scaling technique in distributed system?)

Reasons for replication

Replication means keeping copies of data or services on multiple computers. Reasons:

  1. Performance and scalability: many replicas share the load of requests; copies placed near clients (caching, CDN, web mirrors) cut latency and network traffic. This is how replication is used as a basic scaling technique: read requests are spread over replicas, so throughput grows with their number, and a distant server's load is reduced.
  2. Availability: if one server fails, others can serve; the service stays available (availability = 1 − pⁿ for n replicas failing independently with probability p).
  3. Fault tolerance / reliability: data survive crashes; with majority voting even wrong (Byzantine) replies can be tolerated.
  4. Reduced network load and disconnected operation: local copies work in a mobile or poorly connected environment. Cost: keeping replicas consistent.

Active replication model

All replicas are equal state machines.

 Client --> Front end --multicast (total order)--> RM1, RM2, RM3
                  <---------- replies --------------

Steps:

  1. The front end attaches a unique id to the client request and atomically multicasts it (totally ordered, reliable) to all replica managers (RMs).
  2. Each RM processes the request independently in the same order, so each reaches the same state (deterministic operations needed).
  3. Each RM sends its reply to the front end, which returns the first reply (crash faults), or the majority reply (Byzantine faults) to the client.

Advantages

  • Failures are masked immediately; no failover delay and no recovery step.
  • Tolerates Byzantine failures with 2f+1 replicas and voting.
  • Simple client logic; load of reads can be shared.

Disadvantages

  • Needs total-order reliable multicast (expensive).
  • Operations must be deterministic; otherwise replicas diverge.
  • Every replica does all the work (high resource use; no saving of computation).
  • More network traffic and complexity than passive replication.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Distributed System chapter 7 questions →