Distributed Systems CS 451
July-Nov 2002
Instructor: R.K.Joshi

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