8Reliable Networked and Distributed Systems
8.1 Introduction
In a distributed or networked system, many interconnected computers can cooperate to achieve a common goal. Usually, the cooperating computers maintain some shared state. Two broad classes of distributed/networked systems are defined based on the manner in which state (or information) is shared: (i) systems based on tightly coupled processors with shared memory, and (ii) systems based on loosely coupled processors with distributed memory.
In tightly coupled systems, all computers (or processors) have equal access to a shared memory used for inter‐computer (or inter‐processor) communication. The difficulty with that approach is that the interconnection between the processors and the shared storage becomes a performance bottleneck as the number of processors grows. Therefore, many commercial solutions using shared memory have a limited number of processors.
In loosely coupled systems, each computer/processor has a local physical memory (usually in addition to global memory), and processors cannot access one another's memory. To cooperate, processors exchange messages over an interconnection network (so that such systems are often characterized as message‐passing). Although message passing adds extra overhead, the advantage of distributed memory systems is their scalability. This type of system can scale to thousands of processors without the performance or cost bottlenecks of shared memory systems.
The design of fault ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access