Probabilistic Broadcast Presented by Keren Censor 1.

39
Probabilistic Broadcast Presented by Keren Censor 1

Transcript of Probabilistic Broadcast Presented by Keren Censor 1.

Page 1: Probabilistic Broadcast Presented by Keren Censor 1.

Probabilistic BroadcastPresented by Keren Censor

1

Page 2: Probabilistic Broadcast Presented by Keren Censor 1.

Traditional client-server model Central point of failure Performance bottleneck Heavy load on servers

2

Page 3: Probabilistic Broadcast Presented by Keren Censor 1.

Peer-to-Peer (P2P) Central point of failure Performance bottleneck Heavy load on servers

3

Page 4: Probabilistic Broadcast Presented by Keren Censor 1.

Information Dissemination Deterministic solutions

Flooding – send a message to every neighbor #Messages = O(#edges) Time = diameter

Deterministic routing – send according to a spanning tree Non-resilient to failures Time = O(#nodes)

4

Page 5: Probabilistic Broadcast Presented by Keren Censor 1.

Requirements Reliable broadcast

Reach all nodes Resilient to failures

Considering: Dynamic network topology Crashes Disconnections Packet losses

5

Page 6: Probabilistic Broadcast Presented by Keren Censor 1.

Random information spreading Trade reliability with scalability

Algorithm may be less reliable, but should scale well with system size

Basic gossip algorithm Forward information to a randomly chosen subset

of your neighbors. Design parameters: Buffer capacity B Fan-out F Number of times a message is forwarded T

6

Page 7: Probabilistic Broadcast Presented by Keren Censor 1.

Previous algorithms First developed for consistency management

of replicated database [Demers et al. 1987]

Reliability in Bimodal Multicast [Birman et al. 1999]:

The set of nodes that a message reaches is Almost all of the nodes, with high probability Almost none of the nodes, with small probability Other subsets, with vanishingly small probability

7

Page 8: Probabilistic Broadcast Presented by Keren Censor 1.

Design constraints Membership

Knowledge of the participants Network awareness

Knowledge of real network topology Buffer management

Memory usage Message filtering

According to different interests

8

Page 9: Probabilistic Broadcast Presented by Keren Censor 1.

Design constraints Membership

Knowledge of the participants in the system Previous algorithms assume this knowledge Problems:

Storage increases linearly with system size n Maintenance imposes extra load

9

Page 10: Probabilistic Broadcast Presented by Keren Censor 1.

Design constraints Membership

Solution: integrate membership with gossip and maintain partial view Uniformity: how to gossip to members chosen

uniformly at random from the entire system Adaptivity: some parameter must grow with system

size, how do we estimate the system size? Bootstraping: how is the system initialized?

10

Page 11: Probabilistic Broadcast Presented by Keren Censor 1.

Design constraints Network awareness

Knowledge of real network topology Problem: a message sent by p to a nearby q may be

routed through a remote w

p wq

11

Page 12: Probabilistic Broadcast Presented by Keren Censor 1.

Network awareness Solution: organize processes in a hierarchy that

reflects the network topology Distributed? Fault tolerant? Scalable?

Design constraints

12

Page 13: Probabilistic Broadcast Presented by Keren Censor 1.

Related approaches

Directional gossip [Lin and Marzullo, 1999]: a weight is given for each neighbor, according to its connectivity. A higher probability is given for neighbors with less weight

11Pr nBlue

Pr Green

in each round

grows with each round

13

Page 14: Probabilistic Broadcast Presented by Keren Censor 1.

Design constraints Buffer management

Memory usage Problem: limited buffers. When buffer is full:

Drop new messages? Drop old messages?

In Bimodal Multicast: a message is gossiped by a node for a limited number of rounds, and then it is erased

14

Page 15: Probabilistic Broadcast Presented by Keren Censor 1.

Design constraints Buffer management

Solutions: Age-based priorities Application semantics

Elaboration later

15

Page 16: Probabilistic Broadcast Presented by Keren Censor 1.

Message filtering According to different interests Problem: redundancy if there are topics of interest

How does a process know the interest of its neighbors? Assume magically that this info is available, does p

decide not to send to q a message it is not interested in?

Solution: hierarchy of processes

Design constraints

p wq

What if w is interested?

16

Page 17: Probabilistic Broadcast Presented by Keren Censor 1.

LPBCAST Lightweight Probabilistic Broadcast

[Eugster, Guerraoui, Handurukande, Kouznetsov, and Kermarrec, 2003]

Main contribution: Scalable memory consumption for

Membership management Message buffering

17

Page 18: Probabilistic Broadcast Presented by Keren Censor 1.

Model Set of processes П = {p1 , p2 , …} Synchronous rounds Complete logical network

LPBCAST has partial views

Application Application

LPBCASTLPBCAST

18

Page 19: Probabilistic Broadcast Presented by Keren Censor 1.

Buffers Event notifications – events Event notifications identifiers – eventIds Unsubscriptions – unSubs Subscriptions – subs and view

Each buffer L has a maximum size |L|max

Truncation of L: removing random elements so that |L|≤|L|max

view

eventIds

unSubs

subs

events

19

Page 20: Probabilistic Broadcast Presented by Keren Censor 1.

Receiving event from application Upon LPCAST(e)

Add e to events

e

eventsApplication

LPBCASTe

20

Page 21: Probabilistic Broadcast Presented by Keren Censor 1.

Gossiping Periodically (gossip period T ms) generate a

message and send to F (fanout) members chosen randomly from view

view

F random elements

Gossipmessage

eventIds

unSubs

subs

events = Ø

∪{pi}

21

Page 22: Probabilistic Broadcast Presented by Keren Censor 1.

Gossip reception Unsubscriptions:

Remove from view and subs Add to unSubs and truncate

view unSubssubs

pi pipi

pj pjpj

unSubsunSubs

random elements

22

Page 23: Probabilistic Broadcast Presented by Keren Censor 1.

Gossip reception Subscriptions:

Add to view and subs Truncate view into subs Truncate subs

view subs

pipi

pjpj

viewview subssubssubs

random elementsrandom elements

23

Page 24: Probabilistic Broadcast Presented by Keren Censor 1.

Gossip reception Events:

Deliver new event notifications to application Add to eventIds and events, and truncate If received id not in eventIds then add to

retrieveBuf

eeventIdsevents

Application

LPBCAST e e.id

retrieveBuf

id

Keeps ids of all delivered events

24

Page 25: Probabilistic Broadcast Presented by Keren Censor 1.

Retrieving events If > k rounds passed since an eventId was

inserted into retrieveBuf, and the matching event was not yet received: Ask for the event from the process q from whom

eventId was received. If no reply for r rounds: Ask for the event from a random neighbor. Ask for the event from the source of the event.

25

Page 26: Probabilistic Broadcast Presented by Keren Censor 1.

Subscriptions and unsubscriptions Subscribe: pi subscribes by some known pj , which

gossips this subscription. Gossip messages will start reaching pi , otherwise it subscribes again

Unsubscribe: have timestamps after which unsubscriptions become obsolete

Subscriptions are gossiped continuously to insure uniformly distributed views: a failed process will be removed from all views with high probability

26

Page 27: Probabilistic Broadcast Presented by Keren Censor 1.

Analysis – Assumptions n processes, П is constant Latency is smaller than gossip period T Failures are stochastically independent:

Probability of a message lost ≤ ε Number of crashes ≤ f

Event notification identifiers are unique Pr f

ncrash

27

Page 28: Probabilistic Broadcast Presented by Keren Censor 1.

Analysis – Distribution of views Assume each p has an independent uniformly

distributed random view of size l In round r: In round r+1:

For l << |subs|maxF , this is estimated by l/(n-1)

1Pr lnp view

max1 | | 1 1Pr 1l l l l

n subs F l n np view

p in view p not removed

p not in view p enters view

28

Page 29: Probabilistic Broadcast Presented by Keren Censor 1.

Analysis – Event propagation pr = Pr[p receives certain gossip message] ≥

sr,e = #processes that received event e by round r

Markov chain: pij = Pr[sr+1=j | sr=i] =

1 11 1 1 1l F Fn l n

p in view p is chosen message not lost p doesn’t crash

Doesn’t depend on l

( )(1 )

0

i j i i n jn iq q j i

j i

j i

q=1-pr

29

Page 30: Probabilistic Broadcast Presented by Keren Censor 1.

Analysis – Event propagation Markov chain: pij = Pr[sr+1=j | sr=i] =

Distribution of sr:

( )(1 )

0

i j i i n jn iq q j i

j i

j i

q=1-pr

0

1 1Pr[ ]

0 1

js j

j

1Pr[ ] Pr[ ]r r iji j

s j s i p

30

Page 31: Probabilistic Broadcast Presented by Keren Censor 1.

Analysis – Gossip rounds #rounds decreases as the fanout F increases Claim: #rounds increases logarithmically with

system size n Compare: diameter of a random graph is O(logn)

View size l does not influence #rounds But we needed to assume l << |subs|maxF , so the

subs buffer pays the price?

31

Page 32: Probabilistic Broadcast Presented by Keren Censor 1.

Analysis – Partitioning

Pr[partition of size i]=

For constant n: decreases as l increases For constant l: decreases as n increases

1 1

( , , )1 1

i n ii n i

n l li n l

n ni

l l

•In one set: i views include only the other i-1,

• In the other set: n-i views include only the other n-i-1

32

Page 33: Probabilistic Broadcast Presented by Keren Censor 1.

Analysis – PartitioningPr[no partition up to round r]=

Decreases very slowly with r Design: can choose l as a function of some required

probability of not partitioning In practice, add a hierarchy – a set of processes that

are always known to everyone

1 /2

( , , ) 1 ( , , )

r

l i n

n l r i n l

33

Page 34: Probabilistic Broadcast Presented by Keren Censor 1.

Age-based message purging Replaces the randomly truncating of the

events buffer Each event e has an age parameter

Initialized to 0 by the application Incremented by every gossiping processes

While |events|>|events|max

Remove smallest id events from the same source Remove oldest events, according to their age

34

Page 35: Probabilistic Broadcast Presented by Keren Censor 1.

Age-based message purging Evaluation:

Delivery ratio: ratio between number of messages delivered and number of messages sent per round.

Redundancy: fraction of same messages received by a certain process in a given round

Throughput: as a function of stability – delivered by 90% of the processes

Fault tolerance: delivery ratio in the presence of faults

35

Page 36: Probabilistic Broadcast Presented by Keren Censor 1.

Frequency-based membership purging With random truncating, a new member has

the same probability of being removed as a well known member

Each element in subs has a frequency parameter Incremented each time it is received

Truncating: avg = average frequency in list1. Choose random element from list2. If its frequency > k·avg , then remove this element3. Otherwise, increment its frequency and goto 1

36

Page 37: Probabilistic Broadcast Presented by Keren Censor 1.

Frequency-based membership purging Evaluation:

Propagation delay: number of informed processes as a function of the round number

Membership management: number of times membership information about a process is seen by others. Measured on processes removed from the subs buffer

37

Page 38: Probabilistic Broadcast Presented by Keren Censor 1.

References Epidemic Algorithms for Replicated Database

Maintenance [Demers et al. 1987]

Bimodal Multicast [Birman et al. 1999]

Directional Gossip: Gossip in a Wide Area Network [Lin and Marzullo 1999]

Lightweight Probabilistic Broadcast [Eugster et al. 2003]

38

Page 39: Probabilistic Broadcast Presented by Keren Censor 1.

Thank you :)

39