SlideShare a Scribd company logo
Epidemic Algorithms
Amir H. Payberah
amir@sics.se
Amirkabir University of Technology
(Tehran Polytechnic)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 1 / 60
What is the Problem?
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 2 / 60
What is the Problem?
Application-level broadcast/multicast
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 3 / 60
What is the Problem?
Application-level broadcast/multicast
• Database replication
• Video streaming
• RSS feeds
• ...
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 3 / 60
Possible Solutions
Flooding
• Robust, but inefficient (O(n2
))
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 4 / 60
Possible Solutions
Flooding
• Robust, but inefficient (O(n2
))
Tree
• Efficient (O(n)), but fragile
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 4 / 60
Possible Solutions
Flooding
• Robust, but inefficient (O(n2
))
Tree
• Efficient (O(n)), but fragile
Gossip
• Efficient (O(nlogn)) and robust, but has relative high latency
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 4 / 60
Possible Solutions
Flooding
• Robust, but inefficient (O(n2
))
Tree
• Efficient (O(n)), but fragile
Gossip
• Efficient (O(nlogn)) and robust, but has relative high latency
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 4 / 60
Epidemic/Gossip Algorithms
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 5 / 60
Introduction
Epidemiology studies the spread of a disease or infection in terms
of populations of infected/uninfected individuals and their rates of
change.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 6 / 60
Introduction
Epidemiology studies the spread of a disease or infection in terms
of populations of infected/uninfected individuals and their rates of
change.
Nodes infect each other trough messages.
Total number of messages is less than O(n2).
No node is overloaded.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 6 / 60
Introduction
Epidemiology studies the spread of a disease or infection in terms
of populations of infected/uninfected individuals and their rates of
change.
Nodes infect each other trough messages.
Total number of messages is less than O(n2).
No node is overloaded.
But
• No deterministic guarantee on reliability.
• Only probabilistic ones.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 6 / 60
History of the Epidemic/Gossip Paradigm
First defined by Alan Demers et al. (1987)
90s: gossip applied to the information dissemination problem
00s: gossip beyond dissemination
2006: Workshop on the future of gossip (Leiden, the Netherlands)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 7 / 60
History of the Epidemic/Gossip Paradigm (1987)
Database replicated at thousands of nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
History of the Epidemic/Gossip Paradigm (1987)
Database replicated at thousands of nodes.
Heterogeneous and unreliable network.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
History of the Epidemic/Gossip Paradigm (1987)
Database replicated at thousands of nodes.
Heterogeneous and unreliable network.
Independent updates to single elements of the DB are injected at
multiple nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
History of the Epidemic/Gossip Paradigm (1987)
Database replicated at thousands of nodes.
Heterogeneous and unreliable network.
Independent updates to single elements of the DB are injected at
multiple nodes.
Updates must propagate to all nodes or be supplanted by later up-
dates of the same element.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
History of the Epidemic/Gossip Paradigm (1987)
Database replicated at thousands of nodes.
Heterogeneous and unreliable network.
Independent updates to single elements of the DB are injected at
multiple nodes.
Updates must propagate to all nodes or be supplanted by later up-
dates of the same element.
Replicas become consistent after no more new updates.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
History of the Epidemic/Gossip Paradigm (Today)
Amazon uses a gossip protocol to quickly spread information
throughout the S3 system.
Amazon’s Dynamo uses a gossip-based failure detection service.
The basic information exchange in BitTorrent is based on gossip.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 9 / 60
SIR Model (1/2)
Kermack and McKendrick, 1927
An individual p can be:
• Susceptible: if p is not yet infected by the disease.
• Infective: if p is infected and capable to spread the disease.
• Removed: if p has been infected and has recovered from the disease.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 10 / 60
SIR Model (2/2)
Initially, a single individual is infective.
Individuals get in touch with each other, spreading the disease.
Susceptible individuals are turned into infective ones.
Eventually, infective individuals will become removed.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 11 / 60
From Epidemiology to Distributed Systems
The idea
• Disease spread quickly and robustly.
• Our goal is to spread an update as fast and as reliable as possible.
• Can we apply these ideas to distributed systems?
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 12 / 60
From Epidemiology to Distributed Systems
The idea
• Disease spread quickly and robustly.
• Our goal is to spread an update as fast and as reliable as possible.
• Can we apply these ideas to distributed systems?
SIR Model for database replication:
• Susceptible: if p has not yet received an update.
• Infective: if p has not yet received an update.
• Removed: if p has the update but is no longer willing to share it.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 12 / 60
Two Styles of Epidemic Protocols
Anti-entropy
Rumor mongering
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 13 / 60
Anti-Entropy
Each node p periodically contacts a random partner q selected from
the current population.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 14 / 60
Anti-Entropy
Each node p periodically contacts a random partner q selected from
the current population.
Then, p and q engage in an information exchange protocol, where
updates known to p but not to q are transferred from p to q (push),
or vice-versa (pull), or in both direction (push-pull).
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 14 / 60
Rumor Mongering
Nodes are initially ignorant.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 15 / 60
Rumor Mongering
Nodes are initially ignorant.
When an update is learned by a node, it becomes a hot rumor.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 15 / 60
Rumor Mongering
Nodes are initially ignorant.
When an update is learned by a node, it becomes a hot rumor.
While a node holds a hot rumor, it periodically chooses a random
node from the current population and sends (pushes) the rumor to
it.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 15 / 60
Rumor Mongering
Nodes are initially ignorant.
When an update is learned by a node, it becomes a hot rumor.
While a node holds a hot rumor, it periodically chooses a random
node from the current population and sends (pushes) the rumor to
it.
Eventually, a node will lose interest in spreading the rumor.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 15 / 60
Epidemic Algorithms Applications
Aggregation
Peer sampling (Cyclon)
Topology management (Tman)
...
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 16 / 60
Aggregation
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 17 / 60
Aggregation
Aggregation provides a summary of some global system property.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 18 / 60
Aggregation
Aggregation provides a summary of some global system property.
It allows local access to global information.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 18 / 60
Aggregation
Aggregation provides a summary of some global system property.
It allows local access to global information.
Examples of aggregation functions:
• The average load of nodes in a cluster.
• The sum of free space in a distributed storage.
• The total number of nodes in a P2P system.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 18 / 60
Aggregation Generic Framework (1/3)
Executed by all processes:
repeat evert t time units:
q = selectRandomPeer() // Select a random neighbor
send <p, pullRequest, Sp> to q
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 19 / 60
Aggregation Generic Framework (2/3)
Executed by all processes:
upon receive<p, pullRequest, Sp> do:
send <q, pullResponse, Sq> to p
Sq = update(Sp, Sq)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 20 / 60
Aggregation Generic Framework (2/3)
Executed by all processes:
upon receive<p, pullRequest, Sp> do:
send <q, pullResponse, Sq> to p
Sq = update(Sp, Sq)
update function:
• avg: return (Sp + Sq) / 2
• max: return max(Sp, Sq)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 20 / 60
Aggregation Generic Framework (3/3)
Executed by all processes:
upon receive<q, pullResponse, Sq> do:
Sp = update(Sp, Sq)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 21 / 60
Aggregation Generic Framework (3/3)
Executed by all processes:
upon receive<q, pullResponse, Sq> do:
Sp = update(Sp, Sq)
update function:
• avg: return (Sp + Sq) / 2
• max: return max(Sp, Sq)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 21 / 60
Aggregation Example (1/5)
Taking the average of the numbers in the nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 22 / 60
Aggregation Example (2/5)
Taking the average of the numbers in the nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 23 / 60
Aggregation Example (3/5)
Taking the average of the numbers in the nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 24 / 60
Aggregation Example (4/5)
Taking the average of the numbers in the nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 25 / 60
Aggregation Example (5/5)
Taking the average of the numbers in the nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 26 / 60
Network Size Estimation
Any ideas?
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 27 / 60
Network Size Estimation
Any ideas?
All nodes set their states to 0.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 27 / 60
Network Size Estimation
Any ideas?
All nodes set their states to 0.
The initiator sets its state to 1 and starts gossiping for the average.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 27 / 60
Network Size Estimation
Any ideas?
All nodes set their states to 0.
The initiator sets its state to 1 and starts gossiping for the average.
Eventually all nodes converge to the avg = 1
N .
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 27 / 60
Peer Sampling Service
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 28 / 60
Epidemic Protocols
In a epidemic (gossip) protocol, each node in the system periodically
exchanges information with a subset of nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 29 / 60
Epidemic Protocols
In a epidemic (gossip) protocol, each node in the system periodically
exchanges information with a subset of nodes.
The choice of this subset is crucial.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 29 / 60
Epidemic Protocols
In a epidemic (gossip) protocol, each node in the system periodically
exchanges information with a subset of nodes.
The choice of this subset is crucial.
Ideally, the nodes should be selected following a uniform random
sample of all nodes currently in the system.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 29 / 60
Achieving a Uniform Random Sample
Each node may be assumed to know every other node in the system.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 30 / 60
Achieving a Uniform Random Sample
Each node may be assumed to know every other node in the system.
Providing each node with a complete membership table is unrealistic
in a large scale dynamic system.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 30 / 60
Peer Sampling
An alternative solution.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 31 / 60
Peer Sampling
An alternative solution.
Every node maintains a relatively small local membership table that
provides a partial view on the complete set of nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 31 / 60
Peer Sampling
An alternative solution.
Every node maintains a relatively small local membership table that
provides a partial view on the complete set of nodes.
Periodically refreshes the table using a gossiping procedure.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 31 / 60
Peer Sampling Generic Framework (1/4)
Executed by all processes:
repeat evert t time units:
q = selectPeer()
buf = ((myAddress, 0))
view.permute()
move oldest H items to the end of view
buf.append(view.head(c/2-1))
send <p, psRequest, buf> to q
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 32 / 60
Peer Sampling Generic Framework (2/4)
Executed by all processes:
upon receive<p, psRequest, bufp> do:
buf = ((myAddress, 0))
view.permute()
move oldest H items to the end of view
buf.append(view.head(c/2-1))
send <q, psResponse, buf> to p
view.select(c, H, S, bufp)
view.increaseAge()
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 33 / 60
Peer Sampling Generic Framework (3/4)
Executed by all processes:
upon receive<q, psResponse, bufq> do:
view.select(c, H, S, bufq)
view.increaseAge()
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 34 / 60
Peer Sampling Generic Framework (4/4)
method view.select(c, H, S, bufp)
view.append(bufp)
view.removeDuplicates()
view.removeOldItems(min(H, view.size-c))
view.removeHead(min(S, view.size-c))
view.removeAtRandom(view.size-c)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 35 / 60
Gossip-based Peer Sampling (1/7)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 36 / 60
Gossip-based Peer Sampling (2/7)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 37 / 60
Gossip-based Peer Sampling (3/7)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 38 / 60
Gossip-based Peer Sampling (4/7)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 39 / 60
Gossip-based Peer Sampling (5/7)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 40 / 60
Gossip-based Peer Sampling (6/7)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 41 / 60
Gossip-based Peer Sampling (7/7)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 42 / 60
Peer Sampling Design Space
Peer Selection
• Rand: uniform random
• Tail: highest age
View Propagation
• Push
• Push-Pull
View Selection
• Blind: H = 0, S = 0
• Healer: H = c/2
• Swapper: H = 0, S = c/2
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 43 / 60
Cyclon as a Peer Sampling Service
Peer Selection
• Rand: uniform random
• Tail: highest age
View Propagation
• Push
• Push-Pull
View Selection
• Blind: H = 0, S = 0
• Healer: H = c/2
• Swapper: H = 0, S = c/2
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 44 / 60
Cyclon (1/5)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 45 / 60
Cyclon (2/5)
Pick the oldest node from my view and remove it from the view
(tail)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 46 / 60
Cyclon (3/5)
Exchange some of the nodes in neighbours (push-pull)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 47 / 60
Cyclon (4/5)
Exchange some of the nodes in neighbours (push-pull)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 48 / 60
Cyclon (5/5)
Update the views (swapper)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 49 / 60
Topology Management
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 50 / 60
T-Man
T-man is a protocol to construct and maintain any topology with
the help of a ranking function.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 51 / 60
T-Man
T-man is a protocol to construct and maintain any topology with
the help of a ranking function.
The ranking function orders any set of nodes according to their
desirability to be neighbors of a given node.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 51 / 60
T-Man Generic Framework (1/3)
Executed by all processes.
repeat evert t time units:
q = selectPeer()
myDescriptor = (myAddress, myProfile)
buf = merge(view, myDescriptor)
buf = merge(buf, view.rnd)
send <p, tmanRequest, buf> to q
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 52 / 60
T-Man Generic Framework (1/3)
Executed by all processes.
repeat evert t time units:
q = selectPeer()
myDescriptor = (myAddress, myProfile)
buf = merge(view, myDescriptor)
buf = merge(buf, view.rnd)
send <p, tmanRequest, buf> to q
selectPeer
• Sort all nodes in the view based on ranking.
• Pick randomly one node from the first half.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 52 / 60
T-Man Generic Framework (1/3)
Executed by all processes.
repeat evert t time units:
q = selectPeer()
myDescriptor = (myAddress, myProfile)
buf = merge(view, myDescriptor)
buf = merge(buf, view.rnd)
send <p, tmanRequest, buf> to q
selectPeer
• Sort all nodes in the view based on ranking.
• Pick randomly one node from the first half.
view.rnd
• Provides a random sample of the nodes from the entire network,
e.g., using cyclon.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 52 / 60
T-Man Generic Framework (2/3)
Executed by all processes.
upon receive<p, psRequest, bufp> do:
myDescriptor = (myAddress, myProfile)
buf = merge(view, myDescriptor)
buf = merge(buf, rnd.view)
send <q, tmanResponse, buf> to p
buf = merge(bufp, view)
view = selectView(buf)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 53 / 60
T-Man Generic Framework (2/3)
Executed by all processes.
upon receive<p, psRequest, bufp> do:
myDescriptor = (myAddress, myProfile)
buf = merge(view, myDescriptor)
buf = merge(buf, rnd.view)
send <q, tmanResponse, buf> to p
buf = merge(bufp, view)
view = selectView(buf)
selectView
• Sort all nodes in buffer (about double size of the view).
• Pick out c highest ranked nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 53 / 60
T-Man Generic Framework (3/3)
Executed by all processes.
upon receive<q, tmanResponse, bufq> do:
buf = merge(bufq, view)
view = selectView(buf)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 54 / 60
T-Man Generic Framework (3/3)
Executed by all processes.
upon receive<q, tmanResponse, bufq> do:
buf = merge(bufq, view)
view = selectView(buf)
selectView
• Sort all nodes in buffer (about double size of the view).
• Pick out c highest ranked nodes.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 54 / 60
Ranking Function
Sample ranking functions:
• Line: d(a, b) = |a − b|
• Ring: d(a, b) = min(N − |a − b|, |a − b|)
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 55 / 60
Illustration of T-Man
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 56 / 60
Summary
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 57 / 60
Summary
Epidemic/Gossip algorithms: anti-entropy and rumor mongering
Aggregation
Peer sampling service: cyclon
• Peer selection
• View propagation
• View selection
Topology management: T-man
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 58 / 60
References:
M. Jelasity, and A. Montresor, Epidemic-style proactive aggregation
in large overlay networks, ICDCS, 2004.
M. Jelasity, and O. Babaoglu, T-Man: Gossip-based overlay topol-
ogy management, Engineering Self-Organising Systems, 2006.
M. Jelasity et al., Gossip-based peer sampling, TOCS, 2007.
S. Voulgaris, D. Gavidia, and M. Van Steen, Cyclon: Inexpensive
membership management for unstructured P2P overlays, Journal of
Network and Systems Management, 2005.
A. Demers et al., Epidemic algorithms for replicated database main-
tenance, PODC, 1987.
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 59 / 60
Questions?
Acknowledgements
Some slides were derived from Alberto Montresor (Trento University).
Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 60 / 60

More Related Content

What's hot

CS8691 - Artificial Intelligence.pdf
CS8691 - Artificial Intelligence.pdfCS8691 - Artificial Intelligence.pdf
CS8691 - Artificial Intelligence.pdf
KishaKiddo
 
Inter process communication using Linux System Calls
Inter process communication using Linux System CallsInter process communication using Linux System Calls
Inter process communication using Linux System Calls
jyoti9vssut
 
MPI message passing interface
MPI message passing interfaceMPI message passing interface
MPI message passing interface
Mohit Raghuvanshi
 
Operating System Chapter 1
Operating System Chapter 1Operating System Chapter 1
Operating System Chapter 1
Kasam Sharif
 
Ipc in linux
Ipc in linuxIpc in linux
Ipc in linux
Dr. C.V. Suresh Babu
 
Remote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemRemote Procedure Call in Distributed System
Remote Procedure Call in Distributed System
PoojaBele1
 
Pthread
PthreadPthread
Pthread
Gopi Saiteja
 
Operating system structures
Operating system structuresOperating system structures
Operating system structures
Mohd Arif
 
Linux process management
Linux process managementLinux process management
Linux process management
Raghu nath
 
CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2
Kathirvel Ayyaswamy
 
RTOS for Embedded System Design
RTOS for Embedded System DesignRTOS for Embedded System Design
RTOS for Embedded System Design
anand hd
 
Computer Communication Networks- Introduction to Transport layer
Computer Communication Networks- Introduction to Transport layerComputer Communication Networks- Introduction to Transport layer
Computer Communication Networks- Introduction to Transport layer
Krishna Nanda
 
Chapter 1: Overview of Network Security
Chapter 1: Overview of Network SecurityChapter 1: Overview of Network Security
Chapter 1: Overview of Network Security
Shafaan Khaliq Bhatti
 
Security and Linux Security
Security and Linux SecuritySecurity and Linux Security
Security and Linux Security
Rizky Ariestiyansyah
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
Kathirvel Ayyaswamy
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems
Maurvi04
 
message passing vs shared memory
message passing vs shared memorymessage passing vs shared memory
message passing vs shared memory
Hamza Zahid
 
KERNAL ARCHITECTURE
KERNAL ARCHITECTUREKERNAL ARCHITECTURE
KERNAL ARCHITECTURE
lakshmipanat
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computing
SVijaylakshmi
 
Chord Algorithm
Chord AlgorithmChord Algorithm
Chord Algorithm
Sijia Lyu
 

What's hot (20)

CS8691 - Artificial Intelligence.pdf
CS8691 - Artificial Intelligence.pdfCS8691 - Artificial Intelligence.pdf
CS8691 - Artificial Intelligence.pdf
 
Inter process communication using Linux System Calls
Inter process communication using Linux System CallsInter process communication using Linux System Calls
Inter process communication using Linux System Calls
 
MPI message passing interface
MPI message passing interfaceMPI message passing interface
MPI message passing interface
 
Operating System Chapter 1
Operating System Chapter 1Operating System Chapter 1
Operating System Chapter 1
 
Ipc in linux
Ipc in linuxIpc in linux
Ipc in linux
 
Remote Procedure Call in Distributed System
Remote Procedure Call in Distributed SystemRemote Procedure Call in Distributed System
Remote Procedure Call in Distributed System
 
Pthread
PthreadPthread
Pthread
 
Operating system structures
Operating system structuresOperating system structures
Operating system structures
 
Linux process management
Linux process managementLinux process management
Linux process management
 
CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2CS6401 OPERATING SYSTEMS Unit 2
CS6401 OPERATING SYSTEMS Unit 2
 
RTOS for Embedded System Design
RTOS for Embedded System DesignRTOS for Embedded System Design
RTOS for Embedded System Design
 
Computer Communication Networks- Introduction to Transport layer
Computer Communication Networks- Introduction to Transport layerComputer Communication Networks- Introduction to Transport layer
Computer Communication Networks- Introduction to Transport layer
 
Chapter 1: Overview of Network Security
Chapter 1: Overview of Network SecurityChapter 1: Overview of Network Security
Chapter 1: Overview of Network Security
 
Security and Linux Security
Security and Linux SecuritySecurity and Linux Security
Security and Linux Security
 
CS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMSCS9222 ADVANCED OPERATING SYSTEMS
CS9222 ADVANCED OPERATING SYSTEMS
 
Distributed File Systems
Distributed File Systems Distributed File Systems
Distributed File Systems
 
message passing vs shared memory
message passing vs shared memorymessage passing vs shared memory
message passing vs shared memory
 
KERNAL ARCHITECTURE
KERNAL ARCHITECTUREKERNAL ARCHITECTURE
KERNAL ARCHITECTURE
 
Synchronization in distributed computing
Synchronization in distributed computingSynchronization in distributed computing
Synchronization in distributed computing
 
Chord Algorithm
Chord AlgorithmChord Algorithm
Chord Algorithm
 

Viewers also liked

An Adaptive Gossip-Based Dissemination Protocol for Multi-Source Message Streams
An Adaptive Gossip-Based Dissemination Protocol for Multi-Source Message StreamsAn Adaptive Gossip-Based Dissemination Protocol for Multi-Source Message Streams
An Adaptive Gossip-Based Dissemination Protocol for Multi-Source Message Streams
Förderverein Technische Fakultät
 
Gossip & Key Value Store
Gossip & Key Value StoreGossip & Key Value Store
Gossip & Key Value Store
Sajeev P
 
2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocol2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocol
Sugawara Genki
 
Cassandra background-and-architecture
Cassandra background-and-architectureCassandra background-and-architecture
Cassandra background-and-architecture
Markus Klems
 
Introduction to Cassandra Basics
Introduction to Cassandra BasicsIntroduction to Cassandra Basics
Introduction to Cassandra Basics
nickmbailey
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache Cassandra
Robert Stupp
 
Cassandra Explained
Cassandra ExplainedCassandra Explained
Cassandra Explained
Eric Evans
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache Cassandra
DataStax
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
DataStax Academy
 
test
testtest
IDMEF, the universal format for security alerts, OW2con'16, Paris.
IDMEF, the universal format for security alerts, OW2con'16, Paris. IDMEF, the universal format for security alerts, OW2con'16, Paris.
IDMEF, the universal format for security alerts, OW2con'16, Paris.
OW2
 
Wildi 2009 Resume Addendum
Wildi 2009 Resume  AddendumWildi 2009 Resume  Addendum
Wildi 2009 Resume Addendum
Wildi
 
Service Cloud OW2 Conference Nov10
Service Cloud OW2 Conference Nov10Service Cloud OW2 Conference Nov10
Service Cloud OW2 Conference Nov10
OW2
 
Hahn Golf Academia & Club
Hahn Golf Academia & ClubHahn Golf Academia & Club
Hahn Golf Academia & Club
Csaba Hahn
 
E-Government Portal-DAWLATI, OW2con'12, Paris
E-Government Portal-DAWLATI, OW2con'12, ParisE-Government Portal-DAWLATI, OW2con'12, Paris
E-Government Portal-DAWLATI, OW2con'12, Paris
OW2
 
OW2con'14 - Xlcloud, 3D rendering in the cloud
OW2con'14 - Xlcloud, 3D rendering in the cloudOW2con'14 - Xlcloud, 3D rendering in the cloud
OW2con'14 - Xlcloud, 3D rendering in the cloud
OW2
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr code
Matthew Chang
 
TDC 2012 - Métricas de código na arquitetura
TDC 2012 - Métricas de código na arquiteturaTDC 2012 - Métricas de código na arquitetura
TDC 2012 - Métricas de código na arquitetura
Leandro Daniel
 
OW2con'14 - Weblab in the land of Big Data
OW2con'14 - Weblab in the land of Big DataOW2con'14 - Weblab in the land of Big Data
OW2con'14 - Weblab in the land of Big Data
OW2
 
Chapter 1 presentation
Chapter 1 presentationChapter 1 presentation
Chapter 1 presentation
dphil002
 

Viewers also liked (20)

An Adaptive Gossip-Based Dissemination Protocol for Multi-Source Message Streams
An Adaptive Gossip-Based Dissemination Protocol for Multi-Source Message StreamsAn Adaptive Gossip-Based Dissemination Protocol for Multi-Source Message Streams
An Adaptive Gossip-Based Dissemination Protocol for Multi-Source Message Streams
 
Gossip & Key Value Store
Gossip & Key Value StoreGossip & Key Value Store
Gossip & Key Value Store
 
2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocol2014 09-23 Mechanism of Gossip protocol
2014 09-23 Mechanism of Gossip protocol
 
Cassandra background-and-architecture
Cassandra background-and-architectureCassandra background-and-architecture
Cassandra background-and-architecture
 
Introduction to Cassandra Basics
Introduction to Cassandra BasicsIntroduction to Cassandra Basics
Introduction to Cassandra Basics
 
Introduction to Apache Cassandra
Introduction to Apache CassandraIntroduction to Apache Cassandra
Introduction to Apache Cassandra
 
Cassandra Explained
Cassandra ExplainedCassandra Explained
Cassandra Explained
 
An Overview of Apache Cassandra
An Overview of Apache CassandraAn Overview of Apache Cassandra
An Overview of Apache Cassandra
 
Cassandra Introduction & Features
Cassandra Introduction & FeaturesCassandra Introduction & Features
Cassandra Introduction & Features
 
test
testtest
test
 
IDMEF, the universal format for security alerts, OW2con'16, Paris.
IDMEF, the universal format for security alerts, OW2con'16, Paris. IDMEF, the universal format for security alerts, OW2con'16, Paris.
IDMEF, the universal format for security alerts, OW2con'16, Paris.
 
Wildi 2009 Resume Addendum
Wildi 2009 Resume  AddendumWildi 2009 Resume  Addendum
Wildi 2009 Resume Addendum
 
Service Cloud OW2 Conference Nov10
Service Cloud OW2 Conference Nov10Service Cloud OW2 Conference Nov10
Service Cloud OW2 Conference Nov10
 
Hahn Golf Academia & Club
Hahn Golf Academia & ClubHahn Golf Academia & Club
Hahn Golf Academia & Club
 
E-Government Portal-DAWLATI, OW2con'12, Paris
E-Government Portal-DAWLATI, OW2con'12, ParisE-Government Portal-DAWLATI, OW2con'12, Paris
E-Government Portal-DAWLATI, OW2con'12, Paris
 
OW2con'14 - Xlcloud, 3D rendering in the cloud
OW2con'14 - Xlcloud, 3D rendering in the cloudOW2con'14 - Xlcloud, 3D rendering in the cloud
OW2con'14 - Xlcloud, 3D rendering in the cloud
 
A new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr codeA new interface between smart device and web using html5 web socket and qr code
A new interface between smart device and web using html5 web socket and qr code
 
TDC 2012 - Métricas de código na arquitetura
TDC 2012 - Métricas de código na arquiteturaTDC 2012 - Métricas de código na arquitetura
TDC 2012 - Métricas de código na arquitetura
 
OW2con'14 - Weblab in the land of Big Data
OW2con'14 - Weblab in the land of Big DataOW2con'14 - Weblab in the land of Big Data
OW2con'14 - Weblab in the land of Big Data
 
Chapter 1 presentation
Chapter 1 presentationChapter 1 presentation
Chapter 1 presentation
 

Similar to Gossip-based algorithms

Introduction to stream processing
Introduction to stream processingIntroduction to stream processing
Introduction to stream processing
Amir Payberah
 
Chubby
ChubbyChubby
Deadlocks
DeadlocksDeadlocks
Deadlocks
Amir Payberah
 
Process Synchronization - Part2
Process Synchronization -  Part2Process Synchronization -  Part2
Process Synchronization - Part2
Amir Payberah
 
Time, clocks and the ordering of events
Time, clocks and the ordering of eventsTime, clocks and the ordering of events
Time, clocks and the ordering of events
Amir Payberah
 
Security
SecuritySecurity
Security
Amir Payberah
 
2014 Taverna Tutorial Introduction to eScience and workflows
2014 Taverna Tutorial Introduction to eScience and workflows2014 Taverna Tutorial Introduction to eScience and workflows
2014 Taverna Tutorial Introduction to eScience and workflows
myGrid team
 
I017134347
I017134347I017134347
I017134347
IOSR Journals
 
Modeling and Threshold Sensitivity Analysis of Computer Virus Epidemic
Modeling and Threshold Sensitivity Analysis of Computer Virus EpidemicModeling and Threshold Sensitivity Analysis of Computer Virus Epidemic
Modeling and Threshold Sensitivity Analysis of Computer Virus Epidemic
IOSR Journals
 
Updated (version 2.3 THRILLER) Easy Perspective to (Complexity)-Thriller 12 S...
Updated (version 2.3 THRILLER) Easy Perspective to (Complexity)-Thriller 12 S...Updated (version 2.3 THRILLER) Easy Perspective to (Complexity)-Thriller 12 S...
Updated (version 2.3 THRILLER) Easy Perspective to (Complexity)-Thriller 12 S...
EmadfHABIB2
 
AJH CV sept2016
AJH CV sept2016AJH CV sept2016
AJH CV sept2016
andrew heuze
 
Applying principles of chaos engineering to serverless (ServerlessCPH)
Applying principles of chaos engineering to serverless (ServerlessCPH)Applying principles of chaos engineering to serverless (ServerlessCPH)
Applying principles of chaos engineering to serverless (ServerlessCPH)
Yan Cui
 
AUDIO CRYPTOGRAPHY VIA ENHANCED GENETIC ALGORITHM
AUDIO CRYPTOGRAPHY VIA ENHANCED GENETIC ALGORITHMAUDIO CRYPTOGRAPHY VIA ENHANCED GENETIC ALGORITHM
AUDIO CRYPTOGRAPHY VIA ENHANCED GENETIC ALGORITHM
ijma
 
Introduction to Operating Systems - Part1
Introduction to Operating Systems - Part1Introduction to Operating Systems - Part1
Introduction to Operating Systems - Part1
Amir Payberah
 
Introduction into Fault-tolerant Distributed Algorithms and their Modeling (P...
Introduction into Fault-tolerant Distributed Algorithms and their Modeling (P...Introduction into Fault-tolerant Distributed Algorithms and their Modeling (P...
Introduction into Fault-tolerant Distributed Algorithms and their Modeling (P...
Iosif Itkin
 
SIP Flooding Attack Detection Using Hybrid Detection Algorithm
SIP Flooding Attack Detection Using Hybrid Detection AlgorithmSIP Flooding Attack Detection Using Hybrid Detection Algorithm
SIP Flooding Attack Detection Using Hybrid Detection Algorithm
Editor IJMTER
 
Paxos
PaxosPaxos
Probabilistic models for anomaly detection based on usage of network traffic
Probabilistic models for anomaly detection based on usage of network trafficProbabilistic models for anomaly detection based on usage of network traffic
Probabilistic models for anomaly detection based on usage of network traffic
Alexander Decker
 
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
ijcsta
 
Graph processing - Pregel
Graph processing - PregelGraph processing - Pregel
Graph processing - Pregel
Amir Payberah
 

Similar to Gossip-based algorithms (20)

Introduction to stream processing
Introduction to stream processingIntroduction to stream processing
Introduction to stream processing
 
Chubby
ChubbyChubby
Chubby
 
Deadlocks
DeadlocksDeadlocks
Deadlocks
 
Process Synchronization - Part2
Process Synchronization -  Part2Process Synchronization -  Part2
Process Synchronization - Part2
 
Time, clocks and the ordering of events
Time, clocks and the ordering of eventsTime, clocks and the ordering of events
Time, clocks and the ordering of events
 
Security
SecuritySecurity
Security
 
2014 Taverna Tutorial Introduction to eScience and workflows
2014 Taverna Tutorial Introduction to eScience and workflows2014 Taverna Tutorial Introduction to eScience and workflows
2014 Taverna Tutorial Introduction to eScience and workflows
 
I017134347
I017134347I017134347
I017134347
 
Modeling and Threshold Sensitivity Analysis of Computer Virus Epidemic
Modeling and Threshold Sensitivity Analysis of Computer Virus EpidemicModeling and Threshold Sensitivity Analysis of Computer Virus Epidemic
Modeling and Threshold Sensitivity Analysis of Computer Virus Epidemic
 
Updated (version 2.3 THRILLER) Easy Perspective to (Complexity)-Thriller 12 S...
Updated (version 2.3 THRILLER) Easy Perspective to (Complexity)-Thriller 12 S...Updated (version 2.3 THRILLER) Easy Perspective to (Complexity)-Thriller 12 S...
Updated (version 2.3 THRILLER) Easy Perspective to (Complexity)-Thriller 12 S...
 
AJH CV sept2016
AJH CV sept2016AJH CV sept2016
AJH CV sept2016
 
Applying principles of chaos engineering to serverless (ServerlessCPH)
Applying principles of chaos engineering to serverless (ServerlessCPH)Applying principles of chaos engineering to serverless (ServerlessCPH)
Applying principles of chaos engineering to serverless (ServerlessCPH)
 
AUDIO CRYPTOGRAPHY VIA ENHANCED GENETIC ALGORITHM
AUDIO CRYPTOGRAPHY VIA ENHANCED GENETIC ALGORITHMAUDIO CRYPTOGRAPHY VIA ENHANCED GENETIC ALGORITHM
AUDIO CRYPTOGRAPHY VIA ENHANCED GENETIC ALGORITHM
 
Introduction to Operating Systems - Part1
Introduction to Operating Systems - Part1Introduction to Operating Systems - Part1
Introduction to Operating Systems - Part1
 
Introduction into Fault-tolerant Distributed Algorithms and their Modeling (P...
Introduction into Fault-tolerant Distributed Algorithms and their Modeling (P...Introduction into Fault-tolerant Distributed Algorithms and their Modeling (P...
Introduction into Fault-tolerant Distributed Algorithms and their Modeling (P...
 
SIP Flooding Attack Detection Using Hybrid Detection Algorithm
SIP Flooding Attack Detection Using Hybrid Detection AlgorithmSIP Flooding Attack Detection Using Hybrid Detection Algorithm
SIP Flooding Attack Detection Using Hybrid Detection Algorithm
 
Paxos
PaxosPaxos
Paxos
 
Probabilistic models for anomaly detection based on usage of network traffic
Probabilistic models for anomaly detection based on usage of network trafficProbabilistic models for anomaly detection based on usage of network traffic
Probabilistic models for anomaly detection based on usage of network traffic
 
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
Random Keying Technique for Security in Wireless Sensor Networks Based on Mem...
 
Graph processing - Pregel
Graph processing - PregelGraph processing - Pregel
Graph processing - Pregel
 

More from Amir Payberah

P2P Content Distribution Network
P2P Content Distribution NetworkP2P Content Distribution Network
P2P Content Distribution Network
Amir Payberah
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
Amir Payberah
 
Data Intensive Computing Frameworks
Data Intensive Computing FrameworksData Intensive Computing Frameworks
Data Intensive Computing Frameworks
Amir Payberah
 
The Stratosphere Big Data Analytics Platform
The Stratosphere Big Data Analytics PlatformThe Stratosphere Big Data Analytics Platform
The Stratosphere Big Data Analytics Platform
Amir Payberah
 
The Spark Big Data Analytics Platform
The Spark Big Data Analytics PlatformThe Spark Big Data Analytics Platform
The Spark Big Data Analytics Platform
Amir Payberah
 
Protection
ProtectionProtection
Protection
Amir Payberah
 
Linux Module Programming
Linux Module ProgrammingLinux Module Programming
Linux Module Programming
Amir Payberah
 
IO Systems
IO SystemsIO Systems
IO Systems
Amir Payberah
 
File System Implementation - Part2
File System Implementation - Part2File System Implementation - Part2
File System Implementation - Part2
Amir Payberah
 
File System Implementation - Part1
File System Implementation - Part1File System Implementation - Part1
File System Implementation - Part1
Amir Payberah
 
File System Interface
File System InterfaceFile System Interface
File System Interface
Amir Payberah
 
Storage
StorageStorage
Storage
Amir Payberah
 
Virtual Memory - Part2
Virtual Memory - Part2Virtual Memory - Part2
Virtual Memory - Part2
Amir Payberah
 
Virtual Memory - Part1
Virtual Memory - Part1Virtual Memory - Part1
Virtual Memory - Part1
Amir Payberah
 
Main Memory - Part2
Main Memory - Part2Main Memory - Part2
Main Memory - Part2
Amir Payberah
 
Main Memory - Part1
Main Memory - Part1Main Memory - Part1
Main Memory - Part1
Amir Payberah
 
CPU Scheduling - Part2
CPU Scheduling - Part2CPU Scheduling - Part2
CPU Scheduling - Part2
Amir Payberah
 
CPU Scheduling - Part1
CPU Scheduling - Part1CPU Scheduling - Part1
CPU Scheduling - Part1
Amir Payberah
 
Process Synchronization - Part1
Process Synchronization -  Part1Process Synchronization -  Part1
Process Synchronization - Part1
Amir Payberah
 
Threads
ThreadsThreads
Threads
Amir Payberah
 

More from Amir Payberah (20)

P2P Content Distribution Network
P2P Content Distribution NetworkP2P Content Distribution Network
P2P Content Distribution Network
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Data Intensive Computing Frameworks
Data Intensive Computing FrameworksData Intensive Computing Frameworks
Data Intensive Computing Frameworks
 
The Stratosphere Big Data Analytics Platform
The Stratosphere Big Data Analytics PlatformThe Stratosphere Big Data Analytics Platform
The Stratosphere Big Data Analytics Platform
 
The Spark Big Data Analytics Platform
The Spark Big Data Analytics PlatformThe Spark Big Data Analytics Platform
The Spark Big Data Analytics Platform
 
Protection
ProtectionProtection
Protection
 
Linux Module Programming
Linux Module ProgrammingLinux Module Programming
Linux Module Programming
 
IO Systems
IO SystemsIO Systems
IO Systems
 
File System Implementation - Part2
File System Implementation - Part2File System Implementation - Part2
File System Implementation - Part2
 
File System Implementation - Part1
File System Implementation - Part1File System Implementation - Part1
File System Implementation - Part1
 
File System Interface
File System InterfaceFile System Interface
File System Interface
 
Storage
StorageStorage
Storage
 
Virtual Memory - Part2
Virtual Memory - Part2Virtual Memory - Part2
Virtual Memory - Part2
 
Virtual Memory - Part1
Virtual Memory - Part1Virtual Memory - Part1
Virtual Memory - Part1
 
Main Memory - Part2
Main Memory - Part2Main Memory - Part2
Main Memory - Part2
 
Main Memory - Part1
Main Memory - Part1Main Memory - Part1
Main Memory - Part1
 
CPU Scheduling - Part2
CPU Scheduling - Part2CPU Scheduling - Part2
CPU Scheduling - Part2
 
CPU Scheduling - Part1
CPU Scheduling - Part1CPU Scheduling - Part1
CPU Scheduling - Part1
 
Process Synchronization - Part1
Process Synchronization -  Part1Process Synchronization -  Part1
Process Synchronization - Part1
 
Threads
ThreadsThreads
Threads
 

Recently uploaded

一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
kgyxske
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
kalichargn70th171
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
Pedro J. Molina
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
confluent
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio, Inc.
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Vince Scalabrino
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Paul Brebner
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
widenerjobeyrl638
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
Yara Milbes
 
Optimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptxOptimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptx
WebConnect Pvt Ltd
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
Alina Yurenko
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
safelyiotech
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
OnePlan Solutions
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
The Third Creative Media
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 

Recently uploaded (20)

一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
一比一原版(sdsu毕业证书)圣地亚哥州立大学毕业证如何办理
 
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
A Comprehensive Guide on Implementing Real-World Mobile Testing Strategies fo...
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Orca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container OrchestrationOrca: Nocode Graphical Editor for Container Orchestration
Orca: Nocode Graphical Editor for Container Orchestration
 
Building API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructureBuilding API data products on top of your real-time data infrastructure
Building API data products on top of your real-time data infrastructure
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data PlatformAlluxio Webinar | 10x Faster Trino Queries on Your Data Platform
Alluxio Webinar | 10x Faster Trino Queries on Your Data Platform
 
Assure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyesAssure Contact Center Experiences for Your Customers With ThousandEyes
Assure Contact Center Experiences for Your Customers With ThousandEyes
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
 
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
Why Apache Kafka Clusters Are Like Galaxies (And Other Cosmic Kafka Quandarie...
 
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
美洲杯赔率投注网【​网址​🎉3977·EE​🎉】
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024The Rising Future of CPaaS in the Middle East 2024
The Rising Future of CPaaS in the Middle East 2024
 
Optimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptxOptimizing Your E-commerce with WooCommerce.pptx
Optimizing Your E-commerce with WooCommerce.pptx
 
All you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVMAll you need to know about Spring Boot and GraalVM
All you need to know about Spring Boot and GraalVM
 
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
Safelyio Toolbox Talk Softwate & App (How To Digitize Safety Meetings)
 
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...Transforming Product Development using OnePlan To Boost Efficiency and Innova...
Transforming Product Development using OnePlan To Boost Efficiency and Innova...
 
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
Unlock the Secrets to Effortless Video Creation with Invideo: Your Ultimate G...
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 

Gossip-based algorithms

  • 1. Epidemic Algorithms Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 1 / 60
  • 2. What is the Problem? Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 2 / 60
  • 3. What is the Problem? Application-level broadcast/multicast Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 3 / 60
  • 4. What is the Problem? Application-level broadcast/multicast • Database replication • Video streaming • RSS feeds • ... Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 3 / 60
  • 5. Possible Solutions Flooding • Robust, but inefficient (O(n2 )) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 4 / 60
  • 6. Possible Solutions Flooding • Robust, but inefficient (O(n2 )) Tree • Efficient (O(n)), but fragile Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 4 / 60
  • 7. Possible Solutions Flooding • Robust, but inefficient (O(n2 )) Tree • Efficient (O(n)), but fragile Gossip • Efficient (O(nlogn)) and robust, but has relative high latency Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 4 / 60
  • 8. Possible Solutions Flooding • Robust, but inefficient (O(n2 )) Tree • Efficient (O(n)), but fragile Gossip • Efficient (O(nlogn)) and robust, but has relative high latency Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 4 / 60
  • 9. Epidemic/Gossip Algorithms Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 5 / 60
  • 10. Introduction Epidemiology studies the spread of a disease or infection in terms of populations of infected/uninfected individuals and their rates of change. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 6 / 60
  • 11. Introduction Epidemiology studies the spread of a disease or infection in terms of populations of infected/uninfected individuals and their rates of change. Nodes infect each other trough messages. Total number of messages is less than O(n2). No node is overloaded. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 6 / 60
  • 12. Introduction Epidemiology studies the spread of a disease or infection in terms of populations of infected/uninfected individuals and their rates of change. Nodes infect each other trough messages. Total number of messages is less than O(n2). No node is overloaded. But • No deterministic guarantee on reliability. • Only probabilistic ones. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 6 / 60
  • 13. History of the Epidemic/Gossip Paradigm First defined by Alan Demers et al. (1987) 90s: gossip applied to the information dissemination problem 00s: gossip beyond dissemination 2006: Workshop on the future of gossip (Leiden, the Netherlands) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 7 / 60
  • 14. History of the Epidemic/Gossip Paradigm (1987) Database replicated at thousands of nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
  • 15. History of the Epidemic/Gossip Paradigm (1987) Database replicated at thousands of nodes. Heterogeneous and unreliable network. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
  • 16. History of the Epidemic/Gossip Paradigm (1987) Database replicated at thousands of nodes. Heterogeneous and unreliable network. Independent updates to single elements of the DB are injected at multiple nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
  • 17. History of the Epidemic/Gossip Paradigm (1987) Database replicated at thousands of nodes. Heterogeneous and unreliable network. Independent updates to single elements of the DB are injected at multiple nodes. Updates must propagate to all nodes or be supplanted by later up- dates of the same element. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
  • 18. History of the Epidemic/Gossip Paradigm (1987) Database replicated at thousands of nodes. Heterogeneous and unreliable network. Independent updates to single elements of the DB are injected at multiple nodes. Updates must propagate to all nodes or be supplanted by later up- dates of the same element. Replicas become consistent after no more new updates. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 8 / 60
  • 19. History of the Epidemic/Gossip Paradigm (Today) Amazon uses a gossip protocol to quickly spread information throughout the S3 system. Amazon’s Dynamo uses a gossip-based failure detection service. The basic information exchange in BitTorrent is based on gossip. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 9 / 60
  • 20. SIR Model (1/2) Kermack and McKendrick, 1927 An individual p can be: • Susceptible: if p is not yet infected by the disease. • Infective: if p is infected and capable to spread the disease. • Removed: if p has been infected and has recovered from the disease. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 10 / 60
  • 21. SIR Model (2/2) Initially, a single individual is infective. Individuals get in touch with each other, spreading the disease. Susceptible individuals are turned into infective ones. Eventually, infective individuals will become removed. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 11 / 60
  • 22. From Epidemiology to Distributed Systems The idea • Disease spread quickly and robustly. • Our goal is to spread an update as fast and as reliable as possible. • Can we apply these ideas to distributed systems? Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 12 / 60
  • 23. From Epidemiology to Distributed Systems The idea • Disease spread quickly and robustly. • Our goal is to spread an update as fast and as reliable as possible. • Can we apply these ideas to distributed systems? SIR Model for database replication: • Susceptible: if p has not yet received an update. • Infective: if p has not yet received an update. • Removed: if p has the update but is no longer willing to share it. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 12 / 60
  • 24. Two Styles of Epidemic Protocols Anti-entropy Rumor mongering Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 13 / 60
  • 25. Anti-Entropy Each node p periodically contacts a random partner q selected from the current population. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 14 / 60
  • 26. Anti-Entropy Each node p periodically contacts a random partner q selected from the current population. Then, p and q engage in an information exchange protocol, where updates known to p but not to q are transferred from p to q (push), or vice-versa (pull), or in both direction (push-pull). Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 14 / 60
  • 27. Rumor Mongering Nodes are initially ignorant. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 15 / 60
  • 28. Rumor Mongering Nodes are initially ignorant. When an update is learned by a node, it becomes a hot rumor. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 15 / 60
  • 29. Rumor Mongering Nodes are initially ignorant. When an update is learned by a node, it becomes a hot rumor. While a node holds a hot rumor, it periodically chooses a random node from the current population and sends (pushes) the rumor to it. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 15 / 60
  • 30. Rumor Mongering Nodes are initially ignorant. When an update is learned by a node, it becomes a hot rumor. While a node holds a hot rumor, it periodically chooses a random node from the current population and sends (pushes) the rumor to it. Eventually, a node will lose interest in spreading the rumor. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 15 / 60
  • 31. Epidemic Algorithms Applications Aggregation Peer sampling (Cyclon) Topology management (Tman) ... Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 16 / 60
  • 32. Aggregation Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 17 / 60
  • 33. Aggregation Aggregation provides a summary of some global system property. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 18 / 60
  • 34. Aggregation Aggregation provides a summary of some global system property. It allows local access to global information. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 18 / 60
  • 35. Aggregation Aggregation provides a summary of some global system property. It allows local access to global information. Examples of aggregation functions: • The average load of nodes in a cluster. • The sum of free space in a distributed storage. • The total number of nodes in a P2P system. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 18 / 60
  • 36. Aggregation Generic Framework (1/3) Executed by all processes: repeat evert t time units: q = selectRandomPeer() // Select a random neighbor send <p, pullRequest, Sp> to q Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 19 / 60
  • 37. Aggregation Generic Framework (2/3) Executed by all processes: upon receive<p, pullRequest, Sp> do: send <q, pullResponse, Sq> to p Sq = update(Sp, Sq) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 20 / 60
  • 38. Aggregation Generic Framework (2/3) Executed by all processes: upon receive<p, pullRequest, Sp> do: send <q, pullResponse, Sq> to p Sq = update(Sp, Sq) update function: • avg: return (Sp + Sq) / 2 • max: return max(Sp, Sq) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 20 / 60
  • 39. Aggregation Generic Framework (3/3) Executed by all processes: upon receive<q, pullResponse, Sq> do: Sp = update(Sp, Sq) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 21 / 60
  • 40. Aggregation Generic Framework (3/3) Executed by all processes: upon receive<q, pullResponse, Sq> do: Sp = update(Sp, Sq) update function: • avg: return (Sp + Sq) / 2 • max: return max(Sp, Sq) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 21 / 60
  • 41. Aggregation Example (1/5) Taking the average of the numbers in the nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 22 / 60
  • 42. Aggregation Example (2/5) Taking the average of the numbers in the nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 23 / 60
  • 43. Aggregation Example (3/5) Taking the average of the numbers in the nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 24 / 60
  • 44. Aggregation Example (4/5) Taking the average of the numbers in the nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 25 / 60
  • 45. Aggregation Example (5/5) Taking the average of the numbers in the nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 26 / 60
  • 46. Network Size Estimation Any ideas? Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 27 / 60
  • 47. Network Size Estimation Any ideas? All nodes set their states to 0. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 27 / 60
  • 48. Network Size Estimation Any ideas? All nodes set their states to 0. The initiator sets its state to 1 and starts gossiping for the average. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 27 / 60
  • 49. Network Size Estimation Any ideas? All nodes set their states to 0. The initiator sets its state to 1 and starts gossiping for the average. Eventually all nodes converge to the avg = 1 N . Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 27 / 60
  • 50. Peer Sampling Service Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 28 / 60
  • 51. Epidemic Protocols In a epidemic (gossip) protocol, each node in the system periodically exchanges information with a subset of nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 29 / 60
  • 52. Epidemic Protocols In a epidemic (gossip) protocol, each node in the system periodically exchanges information with a subset of nodes. The choice of this subset is crucial. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 29 / 60
  • 53. Epidemic Protocols In a epidemic (gossip) protocol, each node in the system periodically exchanges information with a subset of nodes. The choice of this subset is crucial. Ideally, the nodes should be selected following a uniform random sample of all nodes currently in the system. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 29 / 60
  • 54. Achieving a Uniform Random Sample Each node may be assumed to know every other node in the system. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 30 / 60
  • 55. Achieving a Uniform Random Sample Each node may be assumed to know every other node in the system. Providing each node with a complete membership table is unrealistic in a large scale dynamic system. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 30 / 60
  • 56. Peer Sampling An alternative solution. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 31 / 60
  • 57. Peer Sampling An alternative solution. Every node maintains a relatively small local membership table that provides a partial view on the complete set of nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 31 / 60
  • 58. Peer Sampling An alternative solution. Every node maintains a relatively small local membership table that provides a partial view on the complete set of nodes. Periodically refreshes the table using a gossiping procedure. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 31 / 60
  • 59. Peer Sampling Generic Framework (1/4) Executed by all processes: repeat evert t time units: q = selectPeer() buf = ((myAddress, 0)) view.permute() move oldest H items to the end of view buf.append(view.head(c/2-1)) send <p, psRequest, buf> to q Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 32 / 60
  • 60. Peer Sampling Generic Framework (2/4) Executed by all processes: upon receive<p, psRequest, bufp> do: buf = ((myAddress, 0)) view.permute() move oldest H items to the end of view buf.append(view.head(c/2-1)) send <q, psResponse, buf> to p view.select(c, H, S, bufp) view.increaseAge() Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 33 / 60
  • 61. Peer Sampling Generic Framework (3/4) Executed by all processes: upon receive<q, psResponse, bufq> do: view.select(c, H, S, bufq) view.increaseAge() Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 34 / 60
  • 62. Peer Sampling Generic Framework (4/4) method view.select(c, H, S, bufp) view.append(bufp) view.removeDuplicates() view.removeOldItems(min(H, view.size-c)) view.removeHead(min(S, view.size-c)) view.removeAtRandom(view.size-c) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 35 / 60
  • 63. Gossip-based Peer Sampling (1/7) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 36 / 60
  • 64. Gossip-based Peer Sampling (2/7) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 37 / 60
  • 65. Gossip-based Peer Sampling (3/7) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 38 / 60
  • 66. Gossip-based Peer Sampling (4/7) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 39 / 60
  • 67. Gossip-based Peer Sampling (5/7) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 40 / 60
  • 68. Gossip-based Peer Sampling (6/7) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 41 / 60
  • 69. Gossip-based Peer Sampling (7/7) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 42 / 60
  • 70. Peer Sampling Design Space Peer Selection • Rand: uniform random • Tail: highest age View Propagation • Push • Push-Pull View Selection • Blind: H = 0, S = 0 • Healer: H = c/2 • Swapper: H = 0, S = c/2 Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 43 / 60
  • 71. Cyclon as a Peer Sampling Service Peer Selection • Rand: uniform random • Tail: highest age View Propagation • Push • Push-Pull View Selection • Blind: H = 0, S = 0 • Healer: H = c/2 • Swapper: H = 0, S = c/2 Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 44 / 60
  • 72. Cyclon (1/5) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 45 / 60
  • 73. Cyclon (2/5) Pick the oldest node from my view and remove it from the view (tail) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 46 / 60
  • 74. Cyclon (3/5) Exchange some of the nodes in neighbours (push-pull) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 47 / 60
  • 75. Cyclon (4/5) Exchange some of the nodes in neighbours (push-pull) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 48 / 60
  • 76. Cyclon (5/5) Update the views (swapper) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 49 / 60
  • 77. Topology Management Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 50 / 60
  • 78. T-Man T-man is a protocol to construct and maintain any topology with the help of a ranking function. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 51 / 60
  • 79. T-Man T-man is a protocol to construct and maintain any topology with the help of a ranking function. The ranking function orders any set of nodes according to their desirability to be neighbors of a given node. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 51 / 60
  • 80. T-Man Generic Framework (1/3) Executed by all processes. repeat evert t time units: q = selectPeer() myDescriptor = (myAddress, myProfile) buf = merge(view, myDescriptor) buf = merge(buf, view.rnd) send <p, tmanRequest, buf> to q Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 52 / 60
  • 81. T-Man Generic Framework (1/3) Executed by all processes. repeat evert t time units: q = selectPeer() myDescriptor = (myAddress, myProfile) buf = merge(view, myDescriptor) buf = merge(buf, view.rnd) send <p, tmanRequest, buf> to q selectPeer • Sort all nodes in the view based on ranking. • Pick randomly one node from the first half. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 52 / 60
  • 82. T-Man Generic Framework (1/3) Executed by all processes. repeat evert t time units: q = selectPeer() myDescriptor = (myAddress, myProfile) buf = merge(view, myDescriptor) buf = merge(buf, view.rnd) send <p, tmanRequest, buf> to q selectPeer • Sort all nodes in the view based on ranking. • Pick randomly one node from the first half. view.rnd • Provides a random sample of the nodes from the entire network, e.g., using cyclon. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 52 / 60
  • 83. T-Man Generic Framework (2/3) Executed by all processes. upon receive<p, psRequest, bufp> do: myDescriptor = (myAddress, myProfile) buf = merge(view, myDescriptor) buf = merge(buf, rnd.view) send <q, tmanResponse, buf> to p buf = merge(bufp, view) view = selectView(buf) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 53 / 60
  • 84. T-Man Generic Framework (2/3) Executed by all processes. upon receive<p, psRequest, bufp> do: myDescriptor = (myAddress, myProfile) buf = merge(view, myDescriptor) buf = merge(buf, rnd.view) send <q, tmanResponse, buf> to p buf = merge(bufp, view) view = selectView(buf) selectView • Sort all nodes in buffer (about double size of the view). • Pick out c highest ranked nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 53 / 60
  • 85. T-Man Generic Framework (3/3) Executed by all processes. upon receive<q, tmanResponse, bufq> do: buf = merge(bufq, view) view = selectView(buf) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 54 / 60
  • 86. T-Man Generic Framework (3/3) Executed by all processes. upon receive<q, tmanResponse, bufq> do: buf = merge(bufq, view) view = selectView(buf) selectView • Sort all nodes in buffer (about double size of the view). • Pick out c highest ranked nodes. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 54 / 60
  • 87. Ranking Function Sample ranking functions: • Line: d(a, b) = |a − b| • Ring: d(a, b) = min(N − |a − b|, |a − b|) Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 55 / 60
  • 88. Illustration of T-Man Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 56 / 60
  • 89. Summary Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 57 / 60
  • 90. Summary Epidemic/Gossip algorithms: anti-entropy and rumor mongering Aggregation Peer sampling service: cyclon • Peer selection • View propagation • View selection Topology management: T-man Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 58 / 60
  • 91. References: M. Jelasity, and A. Montresor, Epidemic-style proactive aggregation in large overlay networks, ICDCS, 2004. M. Jelasity, and O. Babaoglu, T-Man: Gossip-based overlay topol- ogy management, Engineering Self-Organising Systems, 2006. M. Jelasity et al., Gossip-based peer sampling, TOCS, 2007. S. Voulgaris, D. Gavidia, and M. Van Steen, Cyclon: Inexpensive membership management for unstructured P2P overlays, Journal of Network and Systems Management, 2005. A. Demers et al., Epidemic algorithms for replicated database main- tenance, PODC, 1987. Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 59 / 60
  • 92. Questions? Acknowledgements Some slides were derived from Alberto Montresor (Trento University). Amir H. Payberah (Tehran Polytechnic) Epidemic Algorithms 1393/7/7 60 / 60