List of papers/topics covered so far
Introduction to the course, objectives
Introduction to problems/issues which need to be handled by distributed
systems
Introduction to concurrency and problems faced
Communicating Sequential Processes: Hoare
Distributed Processes: Hansen
Distributed Mutual Exclusion: Ricart and Agrawala
Logical Clocks: Lamport
Lamport: Mutual Exclusion based on Logical Clocks
Maekawa: Mutual Exclusion
RPC, Implementing RPC: Nelson
abstraction layers for message passing
remote method invocation/RPC
RPC semantics
implementation - marshalling/demarshalling, stubs
applications of RPC
Building Distributed Services,
Remoting Architectures
conceptualizing a service - an interface; and its
implementation
architectures for skeletons and proxies (stubs)
naming service
reusability aspects of skeleton and proxy code
Distributed Shared Memory Implementations
implementations for:
no replication
read replication
migration
full replication
Leader Election: Levi and Agrawala
chapter 7
leader election in a ring
leader election in a broadcast network
Self Stabilization: Dijkstra's original
paper; also read parts of Schnieder's survey paper
a unidirectional K state stabilizing machine for
mutual exclusion in a ring
Transactions: Ceri and Pelagatti,
Distributed Databases, Chapter 8, parts of chapter 7 and 9
A-C-I-D properties
Serializability
Concurrency Control
2PL,
distributing control:
Timestamping protocol
Commit Protocols
2PC
3PC
Consensus/in presence of byzantine failures: IEEE computer June 1992/ Lynch chapter 6.3 and 6.4
Deadlock prevention and detection: Silberschatz chapter 18.5
Programming Assignments given:
- Programming a Broadcast RPC
- Simulations of distributed algorithms
Special Demo Session:
- Remote Procedure Calls - architecture and programming
Course TA: Renu
----------------------------------------------------------------------------------------------
Page last updated: Oct 17, 2002