GroupCommunication
A group is a collection of users sharing some common
interest.Groupbased activities are steadily increasing.
There are many types of groups:
Open group (anyone can join, customers of Walmart)
Closed groups (membership is closed, clas
DistributedConsensus
DistributedConsensus
Reaching agreement is a fundamental problem in distributed
computing. Some examples are
Leaderelection/MutualExclusion
CommitorAbortindistributedtransactions
Reachingagreementaboutwhichprocesshasfailed
Clockphases
Time and Clock
TimeandClock
Primary standard of time = rotation of earth
De facto primary standard = atomic clock
(1 atomic second = 9,192,631,770 orbital transitions of Cesium 133 atom.
86400 atomic sec = 1 solar day approx. 3 ms (Match up with solar day
Representing distributed algorithms
How to represent a distributed
algorithm?
We will introduce the notions of atomicity, nondeterminism, fairness etc that are important
issues in specifying distributed algorithms.
These concepts are not built into langua
DistributedSnapshot
Thinkaboutthese
How many messages are in transit
on the internet?
 What is the global state of a distributed
system of N processes?
How do we compute these?
Onedollarbank
2
(2,0)
(1,2)
1
0
(0,1)
Let a $1 coin circulate in a network of
GlobalStateCollection
Globalstatecollection
Some applications
 computing network topology
 termination detection
 deadlock detection
ChandyLamport algorithm does a partial job. Each process
generates a fragment of the global state, but these pieces ha
Replication
Improves reliability
Improves availability
(What good is a reliable system if it is not
available?)
Replication must be transparent
and create the illusion of a single
copy.
Updatingreplicateddata
shared
Separate replicas
F
Alice
F
Bob
F
Al
Minimum Spanning Tree
Minimum Spanning Tree
Given a weighted graph G = (V, E), generate a spanning tree T = (V,
E) such that the sum of the weights of all the edges is minimum.
A few applications
Minimum cost vehicle routing.
A cable TV company will use t
GraphAlgorithms
GraphAlgorithms
Many problems in networks can be modeled as graph
problems.

The topology of a distributed system is a graph.

Routing table computation uses the shortest path algorithm

Efficient broadcasting uses a spanning tree of a
Faultsandfaulttolerance
Faultsandfaulttolerance
One of the selling points of a distributed system is
that the system will continue to perform (at some
level) even if some components / processes / links
fail.
Causeandeffect
Study examples of what causes w
Distributed Consensus (continued)
Byzantine Generals Problem
Solution with signed message
A signed message satisfies all the conditions of oral message,
plus two extra conditions
Signature cannot be forged. Forged message are detected and
discarded by lo
CS 5620
Distributed Systems and Algorithms
Sukumar Ghosh
Department of Computer Science
University of Iowa
Spring 2015
What is a distributed system?
1
What is a distributed system?
0
2
1
11
5
4
3
8
7
6
10
9
A channel may be physical (wired, wireless) or l