UNIT – I: Fundamentals of Distributed Systems
Topics
1 Introduction to distributed systems, Goals of Distributed Systems.
2 Hardware Concepts – Bus-based Multiprocessors, Switched Multiprocessors, Bus-based
Multicomputers, Switched Multicomputer.
3 Software Concepts – Network OS, True Distributed Systems, Multiprocessor Timesharing
Systems.
4 System Architecture and Design Issues – Transparency, Flexibility, Reliability,
Performance, Scalability.
UNIT II: Communication in Distributed Systems
5 Layered Protocols – ISO OSI Reference Model
6 Asynchronous Transfer Mode (ATM) Networks
7 The Client-Server Model - Clients and Servers, Addressing Process via Machine,
Broadcasting and ASCII names Lookup
8 Blocking versus Nonblocking Primitives, Buffered versus Unbuffered Primitives
9 Reliable and Unreliable primitives, Message Passing (Implementing the Client-Server
Model)
10 Remote Procedure Call (RPC)– Basic Operation, Parameter Passing, Dynamic Binding
11 RPC Semantics during different Failures – Server location, Message Lost, Client
Crashes
12 RPC Performance Parameters – Protocol Selection, Acknowledgements, Critical Path,
Copying, Timer Management
UNIT III: Synchronization and Processes
13 Clock Synchronization – Logical Clock versus Physical Clock
14 Clock Synchronization Algorithms – Cristian’s Algorithm, The Berkeley Algorithm,
Averaging Algorithms; Use of Synchronization Clocks
15 Mutual Exclusion Algorithms – Centralized, Distributed, Token Ring
16 Election Algorithms – A Bully Algorithm, A Ring Algorithm
17 Atomic Transactions & Modeling – Stable Storage, Transaction Primitives, Properties
18 Atomic Transaction Implementation – Private Workspace, Writeahead Log, Two-Phase
Commit Protocol
19 Concurrency Control Algorithms in Atomic Transaction – Locking System, Optimistic
Approach, Time stamps
Mid Semester
20 Deadlocks in Distributed Systems (Deadlock Detection and Prevention)
21 Process and Threads – Introduction, Usage, Implementing Thread in User Space and
Kernel Space
22 Threads and RPC. System Models- The Workstation Model, Using Idle Workstations, The
Processor Pool Model
23 Processor Allocation Algorithms – Graph-Theoretic, Centralized, Hierarchical,
Sender-Initiated, Receiver-Initiated and Bidding
24 Scheduling in Distributed Systems
UNIT-IV: Consistency, Replication and Fault Tolerance
25 Data-Centric Consistency Models
26 Client-Centric Consistency Models
27 Replica Management, Consistency Protocols
28 Fault Tolerance – Component Faults, System Failures,
29 Fault Tolerance - Use of Redundancy, Active Replication, Use of Primary Backup
30 Process Resilience, Distributed Commit
31 Reliable Client-Server Communication
UNIT - V: Overview of Distributed Shared Memory (DSM)
32 Architecture – On-Chip Memory, Bus-Based Multiprocessors, Ring-Based Multiprocessors
33 Switched Multiprocessors, Directories, Caching
34 Protocols – Dash Protocols, NUMA Multiprocessors, NUMA Algorithms
35 Different Consistency Models – Strict, Sequential, Causal, PRAM, Processor, Weak,
Release, and Entry Consistency
36 Page-based Distributed Shared Memory
37 Shared-Variable Distributed Shared Memory (Eg: Munin, Midway)
38 Object-based Distributed Shared Memory (Eg: Linda, Orca)