1.distributed Computing - SS ZG526 - 2018
1.distributed Computing - SS ZG526 - 2018
1.distributed Computing - SS ZG526 - 2018
No Course Objectives
CO1 This course will cover various hardware architectures for building distributed systems, and their
communication models.
CO2 This will help students understand the design aspects of various software applications that can be
deployed on various distributed systems.
CO4 This will provide an understanding of the complexities and resource management issues that are critical
in building a large-scale distributed system.
CO5 This course will cover algorithmic aspects of building/designing distributed systems in domains like IoT,
P2P, Cluster, Grid computing etc.
Text Book(s)
T1 Ajay D. Kshemkalyani, and Mukesh Singhal “Distributed Computing: Principles, Algorithms, and
Systems”, Cambridge University Press, 2008 (Reprint 2013).
Content Structure
1. Introduction
1.1. Definition
1.2. Relation to Computer system components
1.3. Motivation
1.4. Relation to parallel multiprocessor/ multicomputer systems
1.5. Distributed Communication models (RPC, …)
1.6. Design issues and challenges
2. A model of distributed computations
2.1. A distributed program
2.2. A model of distributed executions
2.3. Models of Communication Networks
2.4. Global state of a distributed system
2.5. Cuts of a distributed computation
3. Logical time
3.1. Introduction
3.2. A framework for a system of logical clocks
3.2.1. Definition
3.2.2. Implementing logical clocks
3.3. Scalar time
3.3.1. Definition
3.3.2. Basic properties
3.4. Vector time
3.4.1. Definition
3.4.2. Basic properties
3.5. Efficient implementation of vector clocks
3.5.1. Singhal-Kshemkalyani’s differential technique
3.5.2. Fowler-Zwaenepoel’s direct-dependency technique
4. Global state and snapshot recording algorithms
4.1. Introduction
4.2. System model and definitions
4.2.1. System model
4.2.2. A consistent global state
4.2.3. Interpretation in terms of cuts
4.2.4. Issues in recording a global state
4.3. Snapshot algorithms for FIFO channels
4.3.1. Chandy-lamport algorithm
4.3.2. Properties of recorded global state
4.4. Variations of the Chandy-lamport algorithm
4.4.1. Spezialetti-Kearns algorithm
4.5. Snapshot algorithms for non-FIFO channels
4.5.1. Lai-Yang algorithm
5. Terminology and basic algorithms
5.1. Topology abstraction and overlays
5.2. Elementary graph algorithms
5.2.1. Synchronous single-initiator spanning tree algorithm using flooding
5.2.2. Asynchronous single-initiator spanning tree algorithm using flooding
5.2.3. Broadcast and Convergecast on a tree
6. Message ordering and Group communication
6.1. Group communication
6.2. Causal order (CO)
6.2.1. The Raynal-Schiper-Toueg algorithm
6.2.2. Birman-Schiper-Stephenson protocol
6.2.3. Schiper-Eggli-Sandoz protocol
6.3. Classification of application-level multicast algorithms
7. Distributed mutual exclusion
7.1. Introduction
7.2. Preliminaries
7.2.1. System model
7.2.2. Requirements of mutual exclusion algorithms
7.2.3. Performance metrics
7.3. Lamport’s algorithm
7.4. Ricart-Agrawala algorithm
7.5. Maekawa’s algorithm
7.6. Suzuki-kasami’s broadcast algorithm
7.7. Raymond’s tree-based algorithm
8. Deadlock detection in distributed systems
8.1. Introduction
8.2. System model
8.2.1. Wait-For-Graph
8.3. Preliminaries
8.3.1. Deadlock handling strategies
8.3.2. Issues in deadlock detection
8.3.3. Models of deadlocks
8.4. Chandy-Misra-Haas algorithm for the AND model
8.5. Chnady-Misra-Haas algorithm for the OR model
9. Consensus and agreement algorithms
9.1. Problem definition
9.2. The Byzantine agreement and other problems
9.3. Consensus algorithm for Byzantine failures
10. Peer-to-Peer Computing and Overlay graphs
10.1. Introduction
10.2. Napster
10.3. Data indexing and overlays
10.4. Unstructured overlays
10.4.1. Properties
10.4.2. Gnutella
10.4.3. Search in Gnutella and Unstructured overlays
10.5. Chord distributed hash table
10.6. Security concerns in Peer to Peer networks
10.7. Internet graphs
10.8. Generalized random graph networks
10.9. Small world networks
10.10. Scale free networks
11. Computer clusters for scalable parallel computing
11.1. Clustering for massive parallelism
11.2. Computer clusters and MPP architectures
11.3. Design principles of Computer clusters
11.4. Cluster job and resource management
12. Grid Computing systems and resource management
12.1. Grid architecture and service modelling
12.2. Grid projects and grid systems built
12.3. Grid resource management and brokering
13. Internet of Things (IoT)
13.1. The IoT for ubiquitous computing
13.2. Radio-Frequency Identification (RFID)
13.3. Sensor networks and Zigbee technology
13.4. Global positioning system
Learning Outcomes:
No Learning Outcomes
LO1 Understanding of middleware platforms like RPC (Sun RPC, etc.) for implementing communication
models over distributed systems.
LO2 Understanding the need of Logical clocks and their usages in building distributed systems and its’
components.
LO3 Understanding of Mutual exclusion primitives, Agreement protocols, and deadlock handling
scenarios in distributed systems.
LO4 Understanding of search, storage, communication, efficiency and other related issues in paradigms
like P2P, Cluster, Grid, and Internet of Things.
Part B: Course Handout
Academic Term Second Semester 2017-2018
Course Title Distributed Computing
Course No SS ZG526
Instructor Barsha Mitra
Contact List of Topic Title Topic # Text/Ref
Hours (from content structure in Part A) (from content Book/external
structure in resource
Part A)
1 · Introduction
o Definition
2 o Relation to Computer system components
o Motivation
3 1 T1: Ch-1
o Relation to parallel multiprocessor/ multicomputer systems
o Distributed Communication models (RPC, …)
4
o Design issues and challenges
o Unstructured overlays
§ Properties
§ Gnutella
§ Search in Gnutella and Unstructured overlays
o Chord distributed hash table
o Security concerns in Peer to Peer networks
29 · Computer clusters for scalable parallel computing
o Clustering for massive parallelism
30 o Computer clusters and MPP architectures
o Design principles of Computer clusters
31 o Cluster job and resource management
· Grid Computing systems and resource management
32
o Grid architecture and service modelling
o Grid projects and grid systems built 11,12&13 R1: Ch-2,7&9
o Grid resource management and brokering
· Internet of Things (IoT)
o The IoT for ubiquitous computing
o Radio-Frequency Identification (RFID)
o Sensor networks and Zigbee technology
o Global positioning system
# The above contact hours and topics can be adapted for non-specific and specific WILP programs depending on
the requirements.
Evaluation Scheme:
Legend: EC = Evaluation Component; AN = After Noon Session; FN = Fore Noon Session
No Name Type Duration Weigh Day, Date, Session, Time
t
EC-1 Quiz-I/ Assignment- Online - 5% February 1 to 10, 2018
I
Quiz-II Online - 5% March 1 to 10, 2018
Quiz-III/ Online - 5% March 20-30, 2018
Assignment-II
Lab Online - 10% March 20-30, 2018
EC-2 Mid-Semester Test Closed 2 hours 30% 03/03/2018 (AN) 2 PM TO 4 PM
Book
EC-3 Comprehensive Open 3 hours 45% 21/04/2018 (AN) 2 PM TO 5 PM
Exam Book