---
title: "Replication, fault tolerance, scalability"
subject: "Distributed System"
chapter: 7
key: "semester_7/distributed_system:replication-scalability-ft"
source: https://www.bctengineer.com/q/semester_7/distributed_system/replication-scalability-ft
site: BCT Engineering
---

# Replication, fault tolerance, scalability

Distributed System · Chapter 7: Replication

- Asked in: 2073 Shrawan, 6+2 marks
- Video: [3.1 Fault tolerance](https://www.youtube.com/watch?v=naMXPC8MmVo) — OU Education
- Answer checked by Claude Opus 5.5 (high effort) on 2026-10-14
- Page: https://www.bctengineer.com/q/semester_7/distributed_system/replication-scalability-ft
- Whole chapter: https://www.bctengineer.com/md/semester_7/distributed_system/chapter-7

## Question

Define replication and fault tolerance in DS and explain why are they necessary? Explain how replication enhanced scalability for DS.

## Short answer

Replication maintains copies of data/services on multiple computers; fault tolerance is the ability to provide correct service despite component failures. They are necessary because failures are frequent in distributed systems and users demand continuous availability; replication provides redundancy for fault tolerance (availability = 1 - p^n) and performance. Replication enhances scalability by distributing load among replicas, placing copies near clients to reduce latency and network traffic, and eliminating single-server bottlenecks, especially for read-heavy workloads.

## Answer

#### Replication
Replication is the maintenance of copies of data or services on multiple computers, so that clients can use any copy. The replicas must be kept consistent, which is the main difficulty.

#### Fault tolerance
Fault tolerance is the ability of a system to continue to give correct service even though some of its components (processes, machines, links) fail. It involves detecting, masking and recovering from failures, mostly using redundancy.

#### Why they are necessary
- Distributed systems have many components, so the probability that some part fails at any time is high; failures are the norm.
- Users expect continuous availability and correct results (banking, e-commerce, health).
- Without redundancy, a single server crash would stop the service or lose data.
- Replication gives the redundancy for fault tolerance (availability = 1 − pⁿ) and improves performance by serving clients from nearby copies.
- Fault tolerance gives dependability: availability, reliability, safety and integrity.

#### How replication enhances scalability
Scalability is the ability to handle growth in users and data without loss of performance.
1. **Load sharing**: requests are distributed over replicas by load balancers, so throughput rises with the number of servers (e.g. web server farms, DNS replicas).
2. **Locality**: copies placed near clients (caching, mirrors, CDNs) shorten response time and reduce wide-area traffic; this is how replication handles geographic scale.
3. **Reduced bottleneck**: one central server is replaced by many, so the single server does not saturate.
4. **Read-mostly workloads**: reads served by any replica; only writes need propagation.
Limits: the cost of keeping replicas consistent grows with updates; consistency may be relaxed (eventual consistency) to keep scaling.

## Check yourself

The answer's key points as multiple-choice questions, with the correct option and why.

1. Which statement best defines fault tolerance in a distributed system?
   A. The system never has any component failures
   B. The system continues to give correct service even though some components fail
   C. The system stops safely as soon as any component fails
   D. The system copies data to one backup disk each night
   Answer: B. Fault tolerance means detecting, masking and recovering from failures, so correct service continues despite failed processes, machines or links. (Key point: Definition of fault tolerance)

2. Why is fault tolerance considered necessary in distributed systems?
   A. Because distributed systems have many components, so some part failing at any time is very likely
   B. Because distributed systems use only reliable hardware that never fails
   C. Because failures occur only in centralized systems
   D. Because it removes the need for any network
   Answer: A. With many components, the probability that something fails is high, so failures are the norm and must be tolerated. (Key point: Why replication/FT are necessary)

3. If each of n replicas fails independently with probability p, what is the availability of the replicated service?
   A. p^n
   B. 1 - p
   C. 1 - p^n
   D. n x p
   Answer: C. The service is unavailable only if all n replicas fail (p^n), so availability is 1 - p^n. (Key point: Availability with replicas)

4. How does placing copies near clients (caches, mirrors, CDNs) help scalability?
   A. It guarantees all replicas are always consistent
   B. It shortens response time and reduces wide-area traffic
   C. It removes the need for load balancers
   D. It makes writes faster than reads
   Answer: B. Nearby copies cut latency and long-distance traffic, which is how replication handles geographic scale. (Key point: Locality and geographic scale)

5. What limits the scalability benefit of replication?
   A. Replicas cannot serve read requests
   B. Load balancers cannot be used with replicas
   C. The cost of keeping replicas consistent grows as updates increase
   D. Replication always reduces availability
   Answer: C. Updates must be propagated to all replicas, so frequent writes make consistency costly; consistency is often relaxed (eventual consistency). (Key point: Limit of replication scaling)

## Related in Distributed System

- [Fault tolerance and types of faults](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Afault-types) — Distributed System, chapter 9
- [Fault tolerance techniques](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Afault-tolerance-techniques) — Distributed System, chapter 9
- [Reasons for replication; fault tolerant services](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Areplication-reasons-ft-services) — Distributed System, chapter 7
- [Replication objectives; primary-backup](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Areplication-objectives-primary-backup) — Distributed System, chapter 7
- [Fault tolerance; Byzantine failure](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Abyzantine-failure-agreement) — Distributed System, chapter 9
- [Fault; primary-backup vs active](https://www.bctengineer.com/question.md?key=semester_7%2Fdistributed_system%3Afault-primary-backup-active) — Distributed System, chapter 7

## Related in other subjects

- [Fault tolerance and redundancy for reliability](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Afault-tolerance-schemes) — Instrumentation II, chapter 7, asked 4×
- [Software fault tolerance and recovery](https://www.bctengineer.com/question.md?key=semester_5%2Finstrumentation_ii%3Asw-fault-tolerance-rollback) — Instrumentation II, chapter 9, asked 2×
- [Availability and fault tolerance in GFS](https://www.bctengineer.com/question.md?key=semester_8%2Fbig_data_technologies%3Agfs-availability-fault-tolerance) — Big Data Technologies, chapter 2
- [Line-to-line fault current calculation](https://www.bctengineer.com/question.md?key=semester_5%2Fpower_system_analysis_ii%3Aline-to-line-fault-calculation) — Power System Analysis II, chapter 5, asked 4×
