Distributed Systems Notes - AKTU
1. Introduction to Distributed Systems
A distributed system is a collection of independent computers that appears to its users as a single coherent
system. Characteristics include resource sharing, scalability, fault tolerance, and transparency. Examples
include the internet, intranets, and distributed databases.
2. Distributed System Models
Architectural Models: Client-Server, Peer-to-Peer, and Layered Architectures. Design Challenges include
concurrency, resource allocation, security, and reliability.
3. Communication in Distributed Systems
Communication involves message passing (synchronous/asynchronous) and Remote Procedure Call (RPC).
Common protocols include HTTP, TCP/IP, and UDP. Middleware helps facilitate communication.
4. Distributed System Architectures
Centralized architectures offer simplicity but suffer from single points of failure. Decentralized and hybrid
architectures, such as those used in cloud systems, address these limitations.
5. Processes in Distributed Systems
Processes communicate using Interprocess Communication (IPC) mechanisms. Threads enable efficient
multitasking. Virtualization supports abstraction and resource management.
6. Distributed File Systems (DFS)
Distributed file systems like HDFS and NFS enable data sharing across machines. Challenges include
Distributed Systems Notes - AKTU
maintaining consistency and fault tolerance. Google File System (GFS) serves as a key example.
7. Synchronization in Distributed Systems
Synchronization ensures correct ordering of events. Logical clocks (Lamport, Vector) and physical clocks are
used. Algorithms like Berkeley and NTP help achieve synchronization.
8. Distributed System Consistency
Replication ensures data availability, but consistency models vary: strong consistency vs eventual
consistency. CAP theorem highlights trade-offs.
9. Fault Tolerance in Distributed Systems
Techniques for fault tolerance include redundancy, checkpointing, and replication. Failure models include
crash, omission, and Byzantine failures.
10. Distributed Databases
Distributed databases store data across multiple sites. Homogeneous systems use similar databases, while
heterogeneous systems combine different databases. Query optimization is key.
11. Distributed Mutual Exclusion
Algorithms like Ricart-Agrawala and Lamport's algorithm help ensure that only one process accesses a
critical section at a time in a distributed system.
12. Distributed Deadlocks
Distributed Systems Notes - AKTU
Deadlocks in distributed systems can be detected, recovered from, or prevented using specific algorithms
and techniques.
13. Security in Distributed Systems
Security threats include eavesdropping and replay attacks. Encryption (symmetric and asymmetric) and
firewalls enhance security.
14. Cloud Computing as a Distributed System
Cloud computing exemplifies distributed systems. Types include public, private, and hybrid clouds. AWS and
Google Cloud are leading examples.
15. Case Studies
Real-life distributed systems include Google Cloud Platform, Amazon Web Services (AWS), and Hadoop
Ecosystem.