- 2074 Asoj · 3+5 marks
Active vs passive; active replication working
Short answer
Active replication multicasts each request to all replicas via total order; they execute independently, ensuring identical states. Passive uses a primary that executes and updates backups. Active working: a front end issues a totally ordered multicast of client requests; each replica manager processes them in the same order deterministically and replies; the front end returns the first reply (crash) or majority (Byzantine).
Differentiate between active and passive replication. Explain working mechanism of active replication.
Difference
| Point | Active replication | Passive replication |
|---|---|---|
| Execution | Every replica executes each request | Only the primary executes; backups just store updates |
| Role of replicas | All are identical, no primary | One primary, one or more backups |
| Request delivery | Totally ordered multicast to all RMs | Sent to the primary only |
| Failure recovery | Instant; others already have the result | Failover: elect new primary, takes time |
| Overhead | High CPU (work repeated) | Lower CPU, but state transfer needed |
| Determinism | Required | Not required |
| Faults tolerated | Crash and Byzantine (with voting) | Crash only |
| Typical use | Safety-critical systems | Databases, file servers |
Working mechanism of active replication
Active replication uses the state machine approach: a service is a deterministic state machine replicated on several replica managers (RMs) that all start in the same state and process the same requests in the same order.
Client --> Front End ==multicast==> RM1 RM2 RM3
^ | | |
+-------replies------+----+----+
- Request: the client sends the request to its front end, which gives it a unique identifier and multicasts it to the group of RMs using a reliable, totally ordered multicast (so all RMs receive all requests in the same order).
- Coordination: the group communication system delivers each request to every RM in the same order (total order, e.g. Lamport timestamps or a sequencer).
- Execution: each RM executes the operation independently on its own copy. Because operations are deterministic and the order is the same, all copies stay identical.
- Response: each RM sends its answer to the front end. The front end passes on the first reply (if only crashes are expected), or the majority (if Byzantine faults, requiring 2f+1 replicas).
- Duplicate requests are discarded using the identifiers.
A failed RM does not interrupt the service since the others still reply.
✓ Answer checked by Claude Opus 5.5 (high effort)
Related questions
- Passive vs active replication; availability · Distributed System, chapter 7 · asked 2×
- Reasons for replication; active replication · Distributed System, chapter 7 · asked 2×
- DNS and its working mechanism · Distributed System, chapter 2 · asked 3×
- Fault; primary-backup vs active · Distributed System, chapter 7
- Active vs passive; realize 4(s+2)/(s+1) · Filter Design, chapter 6 · asked 5×
- Active vs passive; non-inverting (s+8)/(s+2) · Filter Design, chapter 6 · asked 5×
- Insertion gain/loss, design steps, active vs passive · Filter Design, chapter 1
- Merits and demerits of active vs passive filters · Filter Design, chapter 6