Skip to content
Top Limitation of Distributed system
- A distributed system is a set of computers that communicate over a network, and do not share a common memory or a common clock
- Absence of a common (global) clock
- No concept of global time
- It’s difficult to reason about the temporal ordering of events
- Cooperation between processes (e.g., producer/consumer, client/server)
- Arrival of requests to the OS (e.g., for resources)
- Collecting up-to-date global state
- It’s difficult to design and debug algorithms in a distributed system
- Mutual exclusion
- Synchronization
- Deadlock
- Absence of shared memory means “state” is distributed throughout system
- One process can get either:
- a coherent but partial view of the system
- or an incoherent but complete (global) view of the system
- where coherent means:
- all local views of the state, plus
- any messages that are in transit
- It is very difficult for every process to get a complete and coherent view of the global state
- Example: one person has two bank accounts, and is in process of transferring $50 between the two accounts