optimizing buffer management for reliable multicast

30
Optimizing Buffer Management for Reliable Multicast Zhen Xiao AT&T Labs – Research Joint work with Ken Birman and Robbert van Renesse

Upload: sienna

Post on 25-Feb-2016

39 views

Category:

Documents


5 download

DESCRIPTION

Optimizing Buffer Management for Reliable Multicast. Zhen Xiao AT&T Labs – Research Joint work with Ken Birman and Robbert van Renesse. Why important?. Many applications desire reliable or semi-reliable delivery. IP multicast is best-effort. Buffering is necessary for retransmission. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Optimizing  Buffer  Management  for  Reliable  Multicast

Optimizing Buffer Management for Reliable Multicast

Zhen XiaoAT&T Labs – Research

Joint work with Ken Birman and Robbert van Renesse

Page 2: Optimizing  Buffer  Management  for  Reliable  Multicast

Why important?

• Many applications desire reliable or semi-reliable delivery.

• IP multicast is best-effort.• Buffering is necessary for retransmission.• Buffer space is limited!

How to utilize the amount of buffer space most efficiently?

Page 3: Optimizing  Buffer  Management  for  Reliable  Multicast

Previous Work

• RMTP: Buffer all messages on repair servers.– Impractical for long-lived sessions.

• SRM: Regenerate messages at the application.– Buffer management at the application level remains a

challenge.• Stability Detection: Buffer messages until they are

stable (i.e. received by all members in the group).– It takes a long time to achieve stability in a large multicast

group.• Bimodal Multicast: Buffer messages for a fixed

amount of time.– Optimization: buffer messages on a sub-group of members.

Page 4: Optimizing  Buffer  Management  for  Reliable  Multicast

Talk Overview

• RRMP: Randomized Reliable Multicast Protocol• Error recovery algorithm in RRMP: Infocom 2001• Buffering algorithms in RRMP: DSN 2002

– Feedback based short-term buffering– Randomized long-term buffering

• Simulation results• Summary

Page 5: Optimizing  Buffer  Management  for  Reliable  Multicast

RRMP: Randomized Reliable Multicast Protocol

Key idea: combine previous work on randomized error recovery with the Bimodal Multicast protocol and hierarchical error recovery similar to that employed by tree-based protocols.

• Group receivers into a hierarchy.• Do not use any repair server.• parent region: the least upstream

region of a receiver in the hierarchy.• Each receiver maintains group

membership information about receivers in its region and receivers in its parent region.

Page 6: Optimizing  Buffer  Management  for  Reliable  Multicast

Two-phase Error Recovery

Assume a receiver p detects a message loss. • local loss: the loss affects a fraction of receivers in p’s region • regional loss: the loss affects all receivers in p’s region

Local recovery: a receiver tries to recover the loss from randomly selected neighbors.

Remote recovery: some receivers in the region request retransmissions from the parent region.

Page 7: Optimizing  Buffer  Management  for  Reliable  Multicast

s

s

routers

receivers

sender

Page 8: Optimizing  Buffer  Management  for  Reliable  Multicast

s

p

q

s

routers

receivers

sender

Page 9: Optimizing  Buffer  Management  for  Reliable  Multicast

s

p

q

s

routers

receivers

sender

Page 10: Optimizing  Buffer  Management  for  Reliable  Multicast

Overview of Buffering Scheme

Local recovery

Remote recovery

Error Recovery

Long-term buffering

Short-term buffering

Buffering

Short-term buffering: when a message is first introduced into the system.

Long-term buffering: when almost all receivers in a region have received the message.

Page 11: Optimizing  Buffer  Management  for  Reliable  Multicast

Not All Messages Are Created Equal!

Internet

Page 12: Optimizing  Buffer  Management  for  Reliable  Multicast

Not All Messages Are Created Equal!

Internet

Page 13: Optimizing  Buffer  Management  for  Reliable  Multicast

idle message: no request for this message has been received for a time interval T. (T is the idle threshold.)Short-term buffering: buffer a received message until it becomes idle.Result: messages most needed in the system stay in the buffer longer.No extra traffic overhead!

n: the size of a regionp: the percentage of members in this region missing a messageThe probability that a member will not receive any request:

As n , this probability can be approximated by pe

idea: a member uses the retransmission requests it received as feedback to estimate how many members in the region still miss the message.

np

n)

111(

Feedback-based Short-term Buffering

Page 14: Optimizing  Buffer  Management  for  Reliable  Multicast

Simulation Results

• Short-term buffering in a local region.– 100 members in the region, fully connected.– RTT between any two members: 10ms.– idle threshold: 40ms.

• Outcome of IP multicast: select a random subset of members to hold a message initially.– Measure how long these members buffer the message.

Page 15: Optimizing  Buffer  Management  for  Reliable  Multicast

1 2 4 8 16 32 6420

30

40

50

60

70

80

90

100

110

#members holding a message initially

aver

age

buffe

ring

time

(ms)

Page 16: Optimizing  Buffer  Management  for  Reliable  Multicast

0 20 40 60 80 100 120 1400

10

20

30

40

50

60

70

80

90

100

time (ms)

#mem

bers

#received#buffered

96 %

Page 17: Optimizing  Buffer  Management  for  Reliable  Multicast

Why Long-term Buffering ???

Page 18: Optimizing  Buffer  Management  for  Reliable  Multicast

s

s

routers

receivers

sender

Page 19: Optimizing  Buffer  Management  for  Reliable  Multicast

s

s

routers

receivers

sender

idleidle

idle

Sorry, you are out of luck!

p

q

Page 20: Optimizing  Buffer  Management  for  Reliable  Multicast

Randomized Long-term Bufferingidea: provide long-term buffering for an idle message at a small subset of receivers in each region.Load balancing: spread the load of buffering across all receivers in a region.

Randomized algorithm: each member independently tosses a coin to decide whether to become a long-term bufferer.

C: the expected number of long-term bufferers.

Saving in buffer space: n / C

Network dynamics: message transfer

Page 21: Optimizing  Buffer  Management  for  Reliable  Multicast

The probability that k members buffer an idle message for different values of C, the expected number of long-term bufferers.

Page 22: Optimizing  Buffer  Management  for  Reliable  Multicast

1 2 3 4 5 60

5

10

15

20

25

30

35

40

C

Pro

babi

lity

of n

o lo

ng-te

rm b

uffe

rer (

%)

The probability that no member buffers an idle message decreases exponentially with C

Page 23: Optimizing  Buffer  Management  for  Reliable  Multicast

How to find a long-term bufferer ???

Page 24: Optimizing  Buffer  Management  for  Reliable  Multicast

s

p

q

s

routers

receivers

sender

Page 25: Optimizing  Buffer  Management  for  Reliable  Multicast

help!

Do you have the msg?

have the msg?have the msg?have the msg?

Page 26: Optimizing  Buffer  Management  for  Reliable  Multicast

The search is over!

Page 27: Optimizing  Buffer  Management  for  Reliable  Multicast

Search Overhead

• Evaluate penalty in recovery time due to search for a bufferer in a region with 100 members.– RTT between any two members: 10ms.– Assume a remote request arrives at a random

member.– Simulation repeated 100 times with different random

seeds.• Question I: how does the search time change

with the number of bufferers?• Question II: how does the search time changes

with the region size?

Page 28: Optimizing  Buffer  Management  for  Reliable  Multicast

1 2 3 4 5 6 7 8 9 1015

20

25

30

35

40

45

50

#bufferers

sear

ch ti

me(

ms)

Search time as the number of bufferers increases.

Page 29: Optimizing  Buffer  Management  for  Reliable  Multicast

100 200 300 400 500 600 700 800 900100015

20

25

30

35

40

45

50

region size

sear

ch ti

me(

ms)

Search time as the size of the region increases

Page 30: Optimizing  Buffer  Management  for  Reliable  Multicast

Summary

• Efficient buffer management is essential for reliable multicast in a large group.

• Two phase buffering to address variances in delivery latency in a large group.

• Retransmission requests can be used as feedback to allocate buffer space adaptively.

• Spread the load of buffering among all members in a group through randomization.