Reliable and Scalable Packet Striping Hari Adiseshu Guru Parulkar - - PowerPoint PPT Presentation

reliable and scalable packet striping
SMART_READER_LITE
LIVE PREVIEW

Reliable and Scalable Packet Striping Hari Adiseshu Guru Parulkar - - PowerPoint PPT Presentation

Reliable and Scalable Packet Striping Hari Adiseshu Guru Parulkar George Varghese Washington University in St. Louis 1 Hari Adiseshu@Washington University Packet Striping Introduction u Packet Striping * using multiple links as a single


slide-1
SLIDE 1

Packet Striping Hari Adiseshu@Washington University 1

Reliable and Scalable Packet Striping

Hari Adiseshu Guru Parulkar George Varghese

Washington University in St. Louis

slide-2
SLIDE 2

Packet Striping Hari Adiseshu@Washington University 2

Introduction

u Packet Striping

* using multiple links as a single logical link

u Used for performance or cost reasons

slide-3
SLIDE 3

Packet Striping Hari Adiseshu@Washington University 3

Current Striping Techniques

u Usually at the physical level (Inverse

Multiplexing)

u Physical level striping has drawbacks u Wanted: packet striping at a logical level u Multilink PPP provides framing, not load

sharing

slide-4
SLIDE 4

Packet Striping Hari Adiseshu@Washington University 4

Packet Striping Reference Model

Channel Resequencing Algorithm Channel Striping Algorithm

Sender Receiver Desirable properties: Desirable properties: Desirable properties: Load Sharing Load Sharing Load Sharing FIFO delivery FIFO delivery FIFO delivery Assume: All Channels are FIFO Assume: All Channels are FIFO Assume: All Channels are FIFO

slide-5
SLIDE 5

Packet Striping Hari Adiseshu@Washington University 5

Overview of Talk

u How to achieve load sharing u How to achieve FIFO delivery u How to recover from packet loss u Experimental results

slide-6
SLIDE 6

Packet Striping Hari Adiseshu@Washington University 6

Contributions

u Provide a transformation of a class of fair

queuing algorithms into striping algorithms providing load sharing

u Provide a specific instance of such a fair

queuing algorithm

u Show how to achieve Quasi-FIFO delivery

at the receiver

u Show how to recover from packet loss

through periodic marker packets

slide-7
SLIDE 7

Packet Striping Hari Adiseshu@Washington University 7

RR Striping Algorithm 100 1 100 2 100 3 100 4 100 1 100 2 100 4 100 3 Equal Sized Packets

Round Robin Striping

slide-8
SLIDE 8

Packet Striping Hari Adiseshu@Washington University 8

RR Striping Algorithm 200 1 100 2 200 3 100 4 200 1 100 2 100 4 200 3 No Load Sharing with unequal sized packets

Round Robin Striping

slide-9
SLIDE 9

Packet Striping Hari Adiseshu@Washington University 9

Causal Fair Queuing Algorithm

Use function f(s) to select queue Transmit packet p at head of queue Update state using function g(s, p) f(s)

Load Sharing Algorithm

f(s)

CFQ and Load Sharing

slide-10
SLIDE 10

Packet Striping Hari Adiseshu@Washington University 10

Load Sharing

u CFQ algorithms - FQ algorithm in which

queue to be served depends only on packets sent so far

u CFQ algorithms can be modeled as repeated

applications of two functions

u Theorem: Causal FQ algorithms can be

transformed into load sharing algorithms with the same fairness properties

slide-11
SLIDE 11

Packet Striping Hari Adiseshu@Washington University 11

Surplus Round Robin (SRR)

u Example of a CFQ algorithm u Each input queue associated with a

Quantum and a Deficit Counter (DC)

u Queues served in round robin order u At each visit to a queue, DC is incremented

by Quantum

u Each queue served as long as DC is

positive

slide-12
SLIDE 12

Packet Striping Hari Adiseshu@Washington University 12

SRR CFQ Algorithm

400 7 250 1 300 2 400 5 200 6 300 3 Output Channel 400 5 200 6 300 2

DC1 = -50 DC2 = -100 DC1 = 500 DC2 = 500

Round 1 400 7 300 3 150 4

DC1 = 0 DC2 = 0 DC1 = 450 DC2 = 400

Round 2 Queue 1 Queue 2

DC1 = 0 DC2 = 0

Initialization

Quantum = 500

SRR Causal Fair Queuing

250 1 150 4

slide-13
SLIDE 13

Packet Striping Hari Adiseshu@Washington University 13

SRR Transform Algorithm

400 7 250 1 300 2 200 3 400 4 300 5 Input Queue 400 7 300 5 150 6

DC1 = 0 DC2 = 0 DC1 = 450 DC2 = 400

Round 2 Output Channel 1 Output Channel 2

DC1 = 0 DC2 = 0

Initialization

Quantum = 500

SRR Transform for Load Sharing

200 3 400 4 300 2

DC1 = -50 DC2 = -100 DC1 = 500 DC2 = -500

Round 1 250 1 150 6

slide-14
SLIDE 14

Packet Striping Hari Adiseshu@Washington University 14

SRR Results

u SRR transform provides load sharing if the

Quantum associated with each channel is proportion to its capacity, and is greater than the maximum packet size

u K rounds after initialization, the difference

between data actually sent over a channel i and the amount that actually should have been sent is bounded by Quantumi

slide-15
SLIDE 15

Packet Striping Hari Adiseshu@Washington University 15

Contributions

u Provide a transformation of a class of fair

queuing algorithms into striping algorithms providing load sharing

u Provide a specific instance of such a fair

queuing algorithm

u Show how to achieve Quasi-FIFO delivery

at the receiver

slide-16
SLIDE 16

Packet Striping Hari Adiseshu@Washington University 16

FIFO delivery

u Guaranteed FIFO - add sequence number to

packets

* not always possible, e.g.. ATM cells, transparent Ethernet striping

u Quasi-FIFO - FIFO in the absence of

packet loss

slide-17
SLIDE 17

Packet Striping Hari Adiseshu@Washington University 17

100 3 100 2 100 4 100 1 Time Axis Physical Reception 100 3 100 2 100 4 100 1 Time Axis Logical Reception

Logical Reception

u Receiver

Buffering

u Receiver

simulation

  • f the

sending algorithm

slide-18
SLIDE 18

Packet Striping Hari Adiseshu@Washington University 18

SRR CFQ Algorithm SRR Transform Algorithm

Quasi-FIFO reception using SRR

Sender Sender Receiver Receiver

slide-19
SLIDE 19

Packet Striping Hari Adiseshu@Washington University 19

Quasi-FIFO result

u The combination of a transformed version

  • f a CFQ algorithm at the sender, and the

CFQ algorithm at the receiver provides Quasi-FIFO delivery

slide-20
SLIDE 20

Packet Striping Hari Adiseshu@Washington University 20

SRR Transform Algorithm

Sender

100 6 100 4 100 2 100 5 100 3 100 1 100 3 100 1 100 2 100 4 100 5 100 6

Input Queue Input Queue Channel 1 Channel 1 Channel 2 Channel 2

Effect of Packet Loss

SRR CFQ Algorithm

100 3 100 1 100 2 100 4 100 5 100 6

Output Queue Output Queue Receiver

slide-21
SLIDE 21

Packet Striping Hari Adiseshu@Washington University 21

Effect of Packet Loss

SRR Transform Algorithm

Sender

100 12 100 10 100 8 100 11 100 9 100 7 100 9 100 7 100 8 100 10 100 11 100 12

Input Queue Input Queue Channel 1 Channel 1 Channel 2 Channel 2

Effect of Packet Loss

SRR CFQ Algorithm

100 11 100 9 100 8 100 10

Output Queue Output Queue

Packet 7 is lost Packet 7 is lost Buffered Buffered Buffered

Receiver

slide-22
SLIDE 22

Packet Striping Hari Adiseshu@Washington University 22

Recovery from Packet Loss

u Synchronization depends on shared state between sender

and receiver

u On packet loss, the shared state is lost u Solution: propagate state periodically from the sender to

the receiver

u For the specific case of SRR algorithm, state consists of

Round Number, and Deficit Counter values for each link

u Periodically propagate these values to the receiver using

marker packets

slide-23
SLIDE 23

Packet Striping Hari Adiseshu@Washington University 23

Sync Recovery

SRR Transform Algorithm

Sender

100 18 100 16 100 14 100 17 100 15 100 13 100 15 100 13 100 14 100 16 100 17 100 18

Input Queue Input Queue Channel 1 Channel 1 Channel 2 Channel 2

SRR CFQ Algorithm

100 15 100 13 100 14 100 16 100 17 100 18

Output Queue Output Queue

G=7M

Marker causes receiver to skip channel Marker causes receiver to skip channel

100 12 100 12

Buffered Buffered Buffered

Receiver

slide-24
SLIDE 24

Packet Striping Hari Adiseshu@Washington University 24

IP IP IP IP Convergence Convergence Layer Layer Data Link Data Link Interface Interface strIPe strIPe IP IP Convergence Convergence Layer Layer Data Link Data Link Interface Interface

strIPe layer

slide-25
SLIDE 25

Packet Striping Hari Adiseshu@Washington University 25

Ethernet Ethernet ATM ATM

Experimental Setup

slide-26
SLIDE 26

Packet Striping Hari Adiseshu@Washington University 26

NetBSD Implementation

2 4 6 8 10 12 14 16 18 20 10 20 30

ATM Channel Capacity (Mbps) Application Level Throughput (Mbps)

Sum of Ethernet and ATM Throughputs SRR, logical reception SRR, no logical reception GRR, logical reception GRR, no logical reception RR, logical reception RR, no logical reception Contributions

slide-27
SLIDE 27

Packet Striping Hari Adiseshu@Washington University 27

Experimental Results

u Throughput with SRR matched aggregate

throughput

u Throughput more with resequencing u Throughput of SRR greater than other

variants

slide-28
SLIDE 28

Packet Striping Hari Adiseshu@Washington University 28

Conclusions

u Simple transformation of a class of FQ

algorithms can be used for scalable striping algorithms, providing FIFO packet delivery with variable sized packets and variable speed channels

u Quasi-FIFO provides transparent striping,

with the marker algorithm restoring synchronization in the event of packet loss