Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 7

BIRLA INSTITUTE OF TECHNOLOGY & SCIENCE, PILANI

WORK INTEGRATED LEARNING PROGRAMMES


Part A: Content design
Academic Term Second Semester 2017-2018
Course Title DISTRIBUTED COMPUTING
Course ID No. SS ZG526
 Instructor(s) BARSHA MITRA

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).

Reference Book(s) & other resources


R1 Kai Hwang, Geoffrey C. Fox, and Jack J. Dongarra, “Distributed and Cloud Computing: From Parallel
processing to the Internet of Things”, Morgan Kaufmann, 2012 Elsevier Inc.
R2 John F. Buford, Heather Yu, and Eng K. Lua, “P2P Networking and Applications”, Morgan Kaufmann,
2009 Elsevier Inc.

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

5 ·      A model of distributed computations


o    A distributed program
6 o    A model of distributed executions
o    Models of Communication Networks
7 o    Global state of a distributed system
o    Cuts of a distributed computation
8
·      Logical time
o    Introduction
o    A framework for a system of logical clocks
§   Definition 2, 3 T1: Ch-2&3
§   Implementing logical clocks
o    Scalar time
§   Definition
§   Basic properties
o    Vector time
§   Definition
§   Basic properties
o    Efficient implementation of vector clocks
§   Singhal-Kshemkalyani’s differential technique
§   Fowler-Zwaenepoel’s direct-dependency technique

9 ·      Global state and snapshot recording algorithms 4 T1: Ch-4


o    Introduction
10 o    System model and definitions
§  System model
11 §  A consistent global state
§  Interpretation in terms of cuts
§  Issues in recording a global state
12 o    Snapshot algorithms for FIFO channels
§  Chandy-lamport algorithm
§  Properties of recorded global state
o    Variations of the Chandy-lamport algorithm
§  Spezialetti-Kearns algorithm
o    Snapshot algorithms for non-FIFO channels
13 ·      Terminology and basic algorithms
o    Topology abstraction and overlays
14 o    Elementary graph algorithms
§  Synchronous single-initiator spanning tree algorithm
15 using flooding
§  Asynchronous single-initiator spanning tree algorithm
16 using flooding
§  Broadcast and Convergecast on a tree
5, 6 T1: Ch-5&6
·      Message ordering and Group communication
o    Group communication 
o    Causal order (CO)
§  The Raynal-Schiper-Toueg algorithm
§  Birman-Schiper-Stephenson protocol
§  Schiper-Eggli-Sandoz protocol
o    Classification of application-level multicast algorithms

17 ·      Distributed mutual exclusion


o    Introduction
18 o    Preliminaries
§  System model
19 §  Requirements of mutual exclusion algorithms
§  Performance metrics
20 o    Lamport’s algorithm 7 T1: Ch-9
o    Ricart-Agrawala algorithm
o    Maekawa’s algorithm
o    Suzuki-kasami’s broadcast algorithm
o    Raymond’s tree-based algorithm

21 ·      Deadlock detection in distributed systems


o    Introduction
22 o    System model
§  Wait-For-Graph
23 o    Preliminaries
§  Deadlock handling strategies
24 §  Issues in deadlock detection
8, 9 T1: Ch-10&14
§  Models of deadlocks
o    Chandy-Misra-Haas algorithm for the AND model
o    Chnady-Misra-Haas algorithm for the OR model
·      Consensus and agreement algorithms
o    Problem definition
o    The Byzantine agreement and other problems
o    Consensus algorithm for Byzantine failures

25 ·      Peer-to-Peer Computing and Overlay graphs 10 T1: Ch-18


o    Introduction
26 o    Napster
o    Data indexing and overlays
27
28

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

Syllabus for Mid-Semester Test (Closed Book): Topics in Contact Hours : 1 to 16


Syllabus for Comprehensive Exam (Open Book): All topics (Session Nos. 1 to 32)
Important links and information:
Elearn portal: https://elearn.bits-pilani.ac.in
Students are expected to visit the Elearn portal on a regular basis and stay up to date with the latest
announcements and deadlines.
Contact sessions: Students should attend the online lectures as per the schedule provided on the Elearn
portal.
Evaluation Guidelines:
1.      EC-1 consists of either two Assignments or three Quizzes. Students will attempt them through the course
pages on the Elearn portal. Announcements will be made on the portal, in a timely manner.
2.      For Closed Book tests: No books or reference material of any kind will be permitted.
3.      For Open Book exams: Use of books and any printed / written reference material (filed or bound) is
permitted. However, loose sheets of paper will not be allowed. Use of calculators is permitted in all
exams. Laptops/Mobiles of any kind are not allowed. Exchange of any material is not allowed.
4.      If a student is unable to appear for the Regular Test/Exam due to genuine exigencies, the student should
follow the procedure to apply for the Make-Up Test/Exam which will be made available on the Elearn
portal. The Make-Up Test/Exam will be conducted only at selected exam centres on the dates to be
announced later.
It shall be the responsibility of the individual student to be regular in maintaining the self study schedule
as given in the course handout, attend the online lectures, and take all the prescribed evaluation
components such as Assignment/Quiz, Mid-Semester Test and Comprehensive Exam according to the
evaluation scheme provided in the handout.

You might also like