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 logical link u Used for performance or cost reasons 2 Hari Adiseshu@Washington University Packet Striping
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 3 Hari Adiseshu@Washington University Packet Striping
Packet Striping Reference Model Sender Receiver Channel Channel Striping Resequencing Algorithm Algorithm Assume: All Channels are FIFO Desirable properties: Assume: All Channels are FIFO Desirable properties: Assume: All Channels are FIFO Desirable properties: Load Sharing Load Sharing Load Sharing FIFO delivery FIFO delivery FIFO delivery 4 Hari Adiseshu@Washington University Packet Striping
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 5 Hari Adiseshu@Washington University Packet Striping
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 6 Hari Adiseshu@Washington University Packet Striping
Round Robin Striping 100 1 100 2 100 3 100 4 100 1 100 3 RR Striping Algorithm 100 2 100 4 Equal Sized Packets 7 Hari Adiseshu@Washington University Packet Striping
Round Robin Striping 200 1 100 2 200 3 100 4 200 1 200 3 RR Striping Algorithm 100 2 100 4 No Load Sharing with unequal sized packets 8 Hari Adiseshu@Washington University Packet Striping
CFQ and Load Sharing f(s) 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 9 Hari Adiseshu@Washington University Packet Striping
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 10 Hari Adiseshu@Washington University Packet Striping
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 11 Hari Adiseshu@Washington University Packet Striping
SRR Causal Fair Queuing Initialization Round 1 Round 2 DC 1 = 500 DC 1 = -50 DC 1 = 450 DC 1 = 0 DC 1 = 0 Queue 1 250 1 300 2 300 3 150 4 400 5 200 6 400 7 Queue 2 DC 2 = 0 DC 2 = 500 DC 2 = -100 DC 2 = 400 DC 2 = 0 Quantum = 500 SRR CFQ Algorithm Output Channel 250 1 300 2 400 5 200 6 300 3 150 4 400 7 12 Hari Adiseshu@Washington University Packet Striping
SRR Transform for Load Sharing Input Queue 250 1 300 2 200 3 400 4 300 5 150 6 400 7 SRR Transform Algorithm Initialization Round 1 Round 2 DC 1 = 500 DC 1 = -50 DC 1 = 450 DC 1 = 0 DC 1 = 0 250 1 300 2 300 5 150 6 Output Channel 1 Quantum = 500 200 3 400 4 400 7 Output Channel 2 DC 2 = 0 DC 2 = -500 DC 2 = -100 DC 2 = 400 DC 2 = 0 13 Hari Adiseshu@Washington University Packet Striping
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 Quantum i 14 Hari Adiseshu@Washington University Packet Striping
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 15 Hari Adiseshu@Washington University Packet Striping
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 16 Hari Adiseshu@Washington University Packet Striping
Logical Reception Physical Reception u Receiver 100 1 100 3 Buffering 100 2 100 4 u Receiver Time Axis simulation of the Logical Reception sending 100 1 100 3 algorithm 100 2 100 4 Time Axis 17 Hari Adiseshu@Washington University Packet Striping
Quasi-FIFO reception using SRR Receiver Receiver Sender Sender SRR SRR Transform CFQ Algorithm Algorithm 18 Hari Adiseshu@Washington University Packet Striping
Quasi-FIFO result u The combination of a transformed version of a CFQ algorithm at the sender, and the CFQ algorithm at the receiver provides Quasi-FIFO delivery 19 Hari Adiseshu@Washington University Packet Striping
Effect of Packet Loss Input Queue Input Queue 100 1 100 2 100 3 100 4 100 5 100 6 Channel 1 Channel 1 Sender Receiver 100 1 100 3 100 5 SRR SRR Transform CFQ Channel 2 Channel 2 Algorithm Algorithm 100 2 100 4 100 6 100 1 100 2 100 3 100 4 100 5 100 6 Output Queue Output Queue 20 Hari Adiseshu@Washington University Packet Striping
Effect of Packet Loss Effect of Packet Loss Input Queue Input Queue 100 7 100 8 100 9 100 10 100 11 100 12 Packet 7 is lost Packet 7 is lost Channel 1 Channel 1 Sender Receiver 100 7 100 9 100 11 SRR SRR Transform CFQ Channel 2 Channel 2 Algorithm Algorithm 100 8 100 10 100 12 Buffered Buffered Buffered 100 9 100 8 100 11 100 10 Output Queue Output Queue 21 Hari Adiseshu@Washington University Packet Striping
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 22 Hari Adiseshu@Washington University Packet Striping
Sync Recovery Input Queue Input Queue 100 13 100 14 100 15 100 16 100 17 100 18 Marker causes receiver to skip channel Marker causes receiver to skip channel Sender Receiver G=7M 100 13 100 15 100 17 Channel 1 SRR Channel 1 SRR Transform CFQ Channel 2 Channel 2 Algorithm Algorithm 100 14 100 16 100 18 Buffered Buffered Buffered 100 12 100 12 100 13 100 14 100 15 100 16 100 17 100 18 Output Queue Output Queue 23 Hari Adiseshu@Washington University Packet Striping
strIPe layer IP IP strIPe strIPe IP IP IP IP Convergence Convergence Convergence Convergence Layer Layer Layer Layer Data Link Data Link Data Link Data Link Interface Interface Interface Interface 24 Hari Adiseshu@Washington University Packet Striping
Experimental Setup Ethernet Ethernet ATM ATM 25 Hari Adiseshu@Washington University Packet Striping
NetBSD Implementation 20 18 Sum of Ethernet and ATM Throughputs 16 SRR, logical reception 14 SRR, no logical reception 12 Application Level GRR, logical reception 10 Throughput (Mbps) 8 GRR, no logical reception 6 RR, logical reception 4 RR, no logical reception 2 Contributions 0 0 10 20 30 ATM Channel Capacity (Mbps) 26 Hari Adiseshu@Washington University Packet Striping
Experimental Results u Throughput with SRR matched aggregate throughput u Throughput more with resequencing u Throughput of SRR greater than other variants 27 Hari Adiseshu@Washington University Packet Striping
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 28 Hari Adiseshu@Washington University Packet Striping
Recommend
More recommend