UNIT 1 – INTRODUCTION & MODELS
- Distributed system: Collection of independent computers connected by a network.
- Appears as a single system to users despite physical distribution.
- Centralized systems rely on a single central server for processing.
- Distributed systems provide scalability, fault tolerance, and load sharing.
- No global clock and no shared memory in distributed systems.
- Architectural models define structure such as client-server and peer-to-peer.
- Fundamental models define behavior such as timing, failure, and security assumptions.
- Challenges include heterogeneity, scalability, partial failures, and security.
UNIT 2 – TIME, CLOCKS & GLOBAL STATES
- Distributed systems lack a global physical clock.
- Clocks are required to order events and maintain consistency.
- Logical clocks track event ordering without real time.
- Lamport clocks provide partial ordering of events.
- Vector clocks capture causal relationships and concurrency.
- Global state consists of all process states and channel states.
- Inconsistent global states lead to incorrect system behavior.
- Snapshot algorithms are used to record consistent global states.
UNIT 3 – COORDINATION, COMMUNICATION & IPC
- Inter-process communication enables coordination between distributed processes.
- IPC mechanisms include sockets, RPC, message queues, and publish-subscribe.
- Marshalling converts data into a portable format for transmission.
- Consensus ensures agreement among distributed nodes despite failures.
- Paxos and Raft are commonly used consensus algorithms.
- Multicast communication reduces communication overhead in group coordination.
- Client-server model follows request-response interaction.
- Group communication improves scalability but increases complexity.