Applying TCP-Friendly Congestion Control to Concurrent Multipath - - PowerPoint PPT Presentation

applying tcp friendly congestion control to concurrent
SMART_READER_LITE
LIVE PREVIEW

Applying TCP-Friendly Congestion Control to Concurrent Multipath - - PowerPoint PPT Presentation

University of Duisburg-Essen, Institute for Experimental Mathematics Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer Thomas Dreibholz Institute for Experimental Mathematics University of Duisburg-Essen, Germany


slide-1
SLIDE 1

Thomas Dreibholz

Institute for Experimental Mathematics University of Duisburg-Essen, Germany dreibh@iem.uni-due.de University of Duisburg-Essen, Institute for Experimental Mathematics

Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

slide-2
SLIDE 2

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 2

Table of Contents

 Basics

– SCTP and Concurrent Multipath Transfer (CMT) – CMT Fairness Problem – Resource Pooling (RP)

 Our Approach: CMT/RP-SCTP

– Congestion Control – Simulation Scenario – Proof of Concept

 Conclusion and Outlook

Thomas Dreibholz's SCTP Page http://tdrwww.iem.uni-due.de/dreibholz/sctp/ Thomas Dreibholz's SCTP Page http://tdrwww.iem.uni-due.de/dreibholz/sctp/

slide-3
SLIDE 3

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 3

Stream Control Transmission Protocol (SCTP, RFC 4960)

 SCTP Features

Transport-Layer Protocol (like TCP or UDP – but much more powerful!)

Reliable, message-oriented, ordered/unordered, multi-streaming

 Multi-Homing

Support for multiple addresses per endpoint; may be changed (“Add-IP”)

Multiple unidirectional paths in the network (can be disjoint or shared)

One path in each direction is chosen for user data (primary path)

Other paths: backup only (only used for retransmissions) What about utilizing all paths simultaneously? What about utilizing all paths simultaneously?

slide-4
SLIDE 4

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 4

Concurrent Multipath Transfer (CMT)

 All paths are used for data transmission  Assumption of CMT: paths are disjoint → congestion control

slide-5
SLIDE 5

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 5

CMT Fairness Problem

 CMT Congestion Control:

TCP-like congestion control per path

CMT flow behaviour:

  • On path #1: like a single TCP flow
  • On path #2: like a single TCP flow
  • On shared bottleneck: like two TCP flows

– Doubled bandwidth in comparison to single TCP flow => unfair  – Cannot be detected reliably in arbitrary networks (e.g. the Internet)

Disjoint Paths Disjoint Paths Shared Bottleneck Shared Bottleneck

slide-6
SLIDE 6

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 6

Resource Pooling (RP)

 Definition of Resource Pooling (RP) from [WHB09]:

“Making a collection of resources behave like a single pooled resource”

Principle can be applied in many cases:

  • Statistical multiplexing
  • Failure resilience
  • Load balancing

 Applying RP for multipath transfer:

Do not handle each path independently

Instead, let the paths of a multi-homed flow behave like one big path …

… by using a congestion control which is aware of path interaction

Idea: combining CMT-SCTP with RP to solve the fairness problem! How to realize a RP-enabled congestion control for CMT-SCTP? How to realize a RP-enabled congestion control for CMT-SCTP?

slide-7
SLIDE 7

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 7

CMT/RP-SCTP – Combining CMT-SCTP with RP

 Definitions:

– the sum of slow start thresholds si on path i

– the sum of congestion windows ci on path i

 Idea: slow start threshold ratio as capacity measure for path P  Congestion window growth on path P

Slow Start: on α acknowledged bytes in fully-utilized congestion window

Congestion Avoidance: on fully-acknowledged congestion window

 Congestion window decrease on path P

On Fast Retransmission:

On Timer-Based Retransmission:

S=∑ si C=∑ ci

sP=maxcP−C 2 ,4∗MTU P∗sP S , MTU P;cP=MTU P sP=maxcP−C 2 ,4∗MTU P∗sP S , MTU P;cP=sP cP=cP⌈minMTU P ,α∗ S P S ⌉ cP=cP⌈ MTU P∗S P S ⌉

S P S

slide-8
SLIDE 8

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 8

Simulation Setup

 Scenario:  Parameters:

Routes switchable: disjoint paths or shared bottleneck

Saturated senders

Background flow(s): CMT-SCTP or CMT/RP-SCTP

Reference flow: non-CMT SCTP flow for comparison

  • Goal: this flow should get a fair bandwidth share, of course
slide-9
SLIDE 9

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 9

Throughput for Exclusive Usage of Two Disjoint 100 Mbit/s Paths

 Thoughput of single CMT/RP-SCTP flow is a little lower than CMT-SCTP  … but no significant difference for multiple flows ...

Only One Flow Only One Flow Multiple Flows Multiple Flows CMT-SCTP CMT-SCTP CMT/RP-SCTP CMT/RP-SCTP Standard SCTP Standard SCTP

slide-10
SLIDE 10

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 10

Congestion Window Examples

CMT-SCTP CMT-SCTP CMT/RP-SCTP CMT/RP-SCTP Here: cwnd of path #2 grows slowly Here: cwnd of path #2 grows slowly Similar cwnd behaviour on both paths Similar cwnd behaviour on both paths

slide-11
SLIDE 11

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 11

Flow Concurrency in 100/100 Mbit/s Setup: Throughput of the Reference Flow

 Disjoint paths: CMT/RP flow takes less bandwidth on shared path

Since it already gets 100% of the bandwidth on the non-shared path

 Shared bottleneck: non-CMT flow gets 50% of the bandwidth

CMT/RP-SCTP is working as expected! CMT/RP-SCTP is working as expected! Concurrency on Disjoint Paths Concurrency on Disjoint Paths Concurrency on Shared Bottleneck Concurrency on Shared Bottleneck

CMT-SCTP Background Flow CMT-SCTP Background Flow CMT/RP-SCTP Background Flow CMT/RP-SCTP Background Flow CMT-SCTP Background Flow CMT-SCTP Background Flow CMT/RP-SCTP Background Flow CMT/RP-SCTP Background Flow

slide-12
SLIDE 12

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 12

Conclusion and Outlook

 Conclusion

CMT-SCTP – Concurrent Multipath Transfer with SCTP

  • Unfair to concurrent non-CMT flows on shared bottlenecks

Resource Pooling

  • Take care of congestion interaction among paths

Our approach: CMT/RP-SCTP – CMT-SCTP with Resource Pooling

Proof of concept by simulations

 Future Work

Prototype implementation into FreeBSD networking stack

Performance for asymmetric paths

Contributions to IETF standardization process

slide-13
SLIDE 13

Thomas Dreibholz Applying TCP-Friendly Congestion Control to Concurrent Multipath Transfer

  • P. 13

Thank You for Your Attention! Any Questions?

Visit Our Project Homepage: http://tdrwww.iem.uni-due.de/dreibholz/sctp

Thomas Dreibholz, dreibh@iem.uni-due.de

To be continued ... To be continued ...