SlideShare une entreprise Scribd logo
1  sur  27
Designing TCP-Friendly Window-based Congestion
Control for Real-time Multimedia Applications
PFLDNeT 2009
Soo-Hyun Choi and Mark Handley
University College London
congestion control for
real-time multimedia applications
• Two key common demands
– Timely delivery over perfect reliability
– Smooth and predictable throughput
• Proposed standard: TFRC
– What it solves?
• Smooth and predictable throughput
– How it solved?
• Equation-based sending rate control by modelling TCP
throughput
background
problems and goals
• TFRC works incorrectly in certain circumstances
• Fairness
– It could starve TCP traffics at a DSL-like link (especially with a very
small bottleneck buffer)
• Smoothness
– It could generate unwanted throughput oscillation in a short-term
timescale (due to EWMA coeff. when measuring RTT)
• Hard to Implement
– If RTT is smaller than CPU interrupt cycle, it will have to sub-
sample it, which in turn leads a noise in throughput calculation
problems and goals (1/3)
fairness
• DSL-like link (low statistical mux), Drop-tail queue
with a tiny bottleneck buffer
– TFRC is sufficiently smooth due to the different fine-grain CC
avoidance mechanism from TCP
problems and goals (2/3)
FIFO
TCP TFRC
Dest.
2 TCP and 2 TFRC
Droptail (5 packets)
Bottleneck link = 1Mb/s
smoothness and practical issue
• Short-term oscillatory behaviour
– To avoid this:
• Original TFRC used for inter-packet spacing
• Bansal introduced 'conservative' mode
– Worked well in the simulations, but not so sure in real-world
• Practical issue (uneasiness to implement correctly)
– Saurin observed the regular TFRC cuts inappropriately when
RTT is small (e.g., less than a host OS's interrupt clock
granularity)
problems and goals (3/3)
RTT i
E RTT s
motivation (1/2)
Do we have to be rate-based to be smooth?
Is rate-based worth all the trouble?
motivation
• Problems with rate-based control
– Fairness
– Hard to implement
• Solution: Smooth Thruput with Ack-clocking
motivation (2/2)
If there is another mean that can achieve
better fairness and make easy to implement
without compromising smoothness, then?
TCP-Friendly Window-based
Congestion Control (TFWC)
• Re-introduce TCP-like Ack-clock
– Using a window, it can embed RTT implicit in the Ack-clock
– No need to work around the OS's interrupt timer
• Smoothness, Friendliness, Responsiveness
– By using TCP-equation with the change to Ack-clock can
retain “ Friendliness” and “ Responsiveness” property
– Do we lose “ Smoothness” after all?
proposal
window calculation
• Window calculation using TCP-equation
– From the original TCP-equation
– Multiply , then we get window size:
TFWC mechanisms (1/9)
W =
1
2p
3
12
3p
8
 p132p
2

tRTT /s
T =
s
t RTT 2p
3
12
3p
8
 p132p
2

loss event rate
• Average Loss Interval
– Weighted average interval of packet losses
• Loss event rate from average loss interval
TFWC mechanisms (2/9)
Loss Event Rate  p=
1
Average Loss Interval
Ack Vector
• What is it?
– Data structure for Ack message
– No cumulative Ack numbers (unreliable transport)
• Data receiver builds AckVec
– Packet list indicating the packet has arrived
– Data receiver sends in an acknowledgement
• Data sender reports Ack of Ack (AoA)
– Data receiver prune AckVec based upon AoA
TFWC mechanisms (3/9)
Upon receipt of AckVec
• Sender determines which packets are missing:
TFWC mechanisms (4/9)
20 19 18 16 15 14 13 11 10
Latest Ack
AoA
19 18 17
16 15 14 13 12 11
margin to allow
re-ordering
packet loss
Received
AckVec
sender functionality
• On every AckVec reception
– Check packet loss
– Compute Average Loss Interval
– Calculate cwnd using the equation
– Send the next available packets if:
– Update RTT and RTO
→ Hence, making it sender driven Ack-clock basis
TFWC mechanisms (5/9)
≤Seqno. of New Data cwnd + Unacked Seqno.
hybrid window and rate (1/2)
• When the loss rate is high:
– A packet loss can cause timeout with very small windows due to the Ack-
clock failure
– The equation can result in cwnd less than one, for example.:
• when p > 0.15, then W < 1
• when p > 0.1, then W < 2
• TCP-like timeout method to clock packets out?
– Constant switching between window and timeout???
– Some of them will do exponential back-off, too.
→ TFRC-like rate-based when window is so small (i.e.,
when cwnd is less than 2)
TFWC mechanisms (6/9)
hybrid window and rate (2/2)
– One TCP/TFRC/TFWC for the queue size of 5 packets
– 500 Kb/s with 50 ms delay of the bottleneck link
– This is a boarder-line case where it doesn't run rate-driven always.
TFWC mechanisms (7/9)
Window only mode Hybrid mode
cwnd jitter (1/2)
• TFWC's throughput often less smooth enough for
interactive streaming applications than that of TFRC
– Phase effect?
• Maybe, yes, as flows through same bottleneck show different loss rate.
– This can be significantly mitigated by RED queue
• Being motivated by RED,
– Randomly add cwnd 'jitter' by inflating cwnd at least once an RTT
– Borrow a “ future” packet that would have been sent in that RTT
• Results:
– Reverses packet phase, hence breaking phase effects
TFWC mechanisms (8/9)
cwnd jitter (2/2)
TFWC mechanisms (9/9)
Without jitter With jitter
FIFO
TFWC
Dest.8 TFWCs
5 Mb/s
50 ms
5 Mb/s
50 ms
50 Mb/s
BDP = 63
Drop-tail
Size = BDP
Protocol Analysis
Friendliness, Smoothness, Responsiveness
analysis
TCP-Friendly (1/2)
• Scenario
– Varying # of sources from 1 to 100 in a dumbbell topology
– Varying bottleneck BW from 0.1 ~ 20 Mb/s with 10ms delay
– Reverse path TCP sources to reveal issues about Ack-
compression and reduce phase effect
– Drop-tail queue with a size of BDP
• Fairness Index (Θ) =
analysis > fairness (1/2)
∑
i =1
n
T tcpi
∑i=1
n
T tcpi
∑j =1
n
T j
TCP-Friendly (2/2)
analysis > fairness (2/2)
– For TFRC, Θ ~ 0.1 when bottleneck BW is low
– For TFWC, though it is not perfect, it certainly does a lot better
than TFRC
TCP competing with
the same number of TFRC
TCP competing with
the same number of TFWC
smoothness (1/4)
• Scenario
– Are we going to loose all the nice smoothness property by re-
introducing TCP-like Ack-clock?
• Let's plot Coefficient of Variance (CoV).
– Same simulation sets used in fairness comparison cases, and
plot averaged per-flow CoVs
CoV =
analysis > smoothness (1/4)
1
k
∑
i=1
k
Ti − T 2
T
: average throughput over time
k : number of time intervals
(time interval = 0.5 sec)
T
smoothness (2/4)
analysis > smoothness (2/4)
– TFRC's CoV is very high (> 0.9) when # of sources is small
– TFWC's CoV is relatively high when bottleneck BW is small
TFRC CoV TFWC CoV
smoothness – detailed (3/4)
• Scenario
– 8 TFR(W)C competing with the same # of TCP
– Bottleneck of 5 Mb/s with 20 ms link delay, Drop-tail queue
with a size of 300 packets
– Average cwnd per flow =
– Reverse path TCP sources:
• To reduce simulation phase effect
• To perturb the TFWC Ack flow
analysis > smoothness (3/4)
BDPqueuesize
no.of TCPno of TFWC
≈15 packets
smoothness – detailed (4/4)
analysis > smoothness (4/4)
• TCP
• TFRC
• TFWC
responsiveness (1/2)
• Scenario
– Stress TCP/TFRC/TFWC with impulse response as a form
of ON/OFF CBR source
• CBR rate is the half of the links speed
– Bottleneck of 1.5 Mb/s with roughly 60 ms of RTT
– Drop-tail queue with arbitrary large queue size
– One CBR source competing with one TFR(W)C
analysis > responsiveness (1/2)
responsiveness (2/2)
analysis > responsiveness (2/2)
CBR On CBR Off
conclusion
• TFWC achieved providing:
1. Fairer throughput
2. Same level of smoothness with that of TFRC
3. Faster responsiveness
4. Simpler to implement
without bearing all the trouble that a rate-based CC has.
• Future work
– Question on what is really better for such an application
between a rate-based CC and a window-based CC.
– Move to the real-world experiments
conclusion

Contenu connexe

Tendances

Tendances (20)

Transportlayer tanenbaum
Transportlayer tanenbaumTransportlayer tanenbaum
Transportlayer tanenbaum
 
transport layer
transport layertransport layer
transport layer
 
Week10 transport
Week10 transportWeek10 transport
Week10 transport
 
The Transport Layer
The Transport LayerThe Transport Layer
The Transport Layer
 
Transport services
Transport servicesTransport services
Transport services
 
Transport layer
Transport layerTransport layer
Transport layer
 
Cs8591 Computer Networks
Cs8591 Computer NetworksCs8591 Computer Networks
Cs8591 Computer Networks
 
Chapter1 intro
Chapter1 introChapter1 intro
Chapter1 intro
 
Transport layer (computer networks)
Transport layer (computer networks)Transport layer (computer networks)
Transport layer (computer networks)
 
the transport layer
the transport layerthe transport layer
the transport layer
 
Tcp Udp Icmp And The Transport Layer
Tcp Udp Icmp And The Transport LayerTcp Udp Icmp And The Transport Layer
Tcp Udp Icmp And The Transport Layer
 
CS6551 COMPUTER NETWORKS
CS6551 COMPUTER NETWORKSCS6551 COMPUTER NETWORKS
CS6551 COMPUTER NETWORKS
 
Lec 12(Transport Layer)
Lec 12(Transport Layer)Lec 12(Transport Layer)
Lec 12(Transport Layer)
 
Chapter 3 final
Chapter 3 finalChapter 3 final
Chapter 3 final
 
Transport Layer
Transport LayerTransport Layer
Transport Layer
 
Transport layer
Transport layerTransport layer
Transport layer
 
Transport layer
Transport layerTransport layer
Transport layer
 
Chapter 3 - Computer Networking a top-down Approach 7th
Chapter 3 - Computer Networking a top-down Approach 7thChapter 3 - Computer Networking a top-down Approach 7th
Chapter 3 - Computer Networking a top-down Approach 7th
 
Transport Protocols
Transport ProtocolsTransport Protocols
Transport Protocols
 
Transport layer
Transport layerTransport layer
Transport layer
 

En vedette (7)

Escritura básica
Escritura básicaEscritura básica
Escritura básica
 
Youtube Introduction =D
Youtube Introduction =DYoutube Introduction =D
Youtube Introduction =D
 
Global warming and its impacts
Global warming and its impactsGlobal warming and its impacts
Global warming and its impacts
 
Medicinal herbs
Medicinal herbsMedicinal herbs
Medicinal herbs
 
Present Continuous - הווה ממשוך
Present Continuous - הווה ממשוךPresent Continuous - הווה ממשוך
Present Continuous - הווה ממשוך
 
Prevention of globalwarming
Prevention of globalwarmingPrevention of globalwarming
Prevention of globalwarming
 
Herbs and health
Herbs and healthHerbs and health
Herbs and health
 

Similaire à Designing TCP-Friendly Window-based Congestion Control

Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)
NYversity
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc
Chandra Meena
 
TCP Over Wireless
TCP Over WirelessTCP Over Wireless
TCP Over Wireless
Farooq Khan
 
Computer network (11)
Computer network (11)Computer network (11)
Computer network (11)
NYversity
 
05 ergeg mmergm maergergcongergeestion.ppt
05 ergeg mmergm maergergcongergeestion.ppt05 ergeg mmergm maergergcongergeestion.ppt
05 ergeg mmergm maergergcongergeestion.ppt
TLRTHR
 
05compuernetworkscongestioncontrolalgo.ppt
05compuernetworkscongestioncontrolalgo.ppt05compuernetworkscongestioncontrolalgo.ppt
05compuernetworkscongestioncontrolalgo.ppt
TLRTHR
 
Tcp congestion control
Tcp congestion controlTcp congestion control
Tcp congestion control
Abdo sayed
 

Similaire à Designing TCP-Friendly Window-based Congestion Control (20)

Computer network (13)
Computer network (13)Computer network (13)
Computer network (13)
 
Lect9
Lect9Lect9
Lect9
 
Lect9 (1)
Lect9 (1)Lect9 (1)
Lect9 (1)
 
features of tcp important for the web
features of tcp  important for the webfeatures of tcp  important for the web
features of tcp important for the web
 
Congestion control in tcp
Congestion control in tcpCongestion control in tcp
Congestion control in tcp
 
RIPE 80: Buffers and Protocols
RIPE 80: Buffers and ProtocolsRIPE 80: Buffers and Protocols
RIPE 80: Buffers and Protocols
 
Mobile Transpot Layer
Mobile Transpot LayerMobile Transpot Layer
Mobile Transpot Layer
 
6610-l14.pptx
6610-l14.pptx6610-l14.pptx
6610-l14.pptx
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc Lecture 19 22. transport protocol for ad-hoc
Lecture 19 22. transport protocol for ad-hoc
 
TCP protocol flow control
TCP protocol flow control TCP protocol flow control
TCP protocol flow control
 
NE #1.pptx
NE #1.pptxNE #1.pptx
NE #1.pptx
 
TCP Over Wireless
TCP Over WirelessTCP Over Wireless
TCP Over Wireless
 
Computer network (11)
Computer network (11)Computer network (11)
Computer network (11)
 
05 ergeg mmergm maergergcongergeestion.ppt
05 ergeg mmergm maergergcongergeestion.ppt05 ergeg mmergm maergergcongergeestion.ppt
05 ergeg mmergm maergergcongergeestion.ppt
 
05compuernetworkscongestioncontrolalgo.ppt
05compuernetworkscongestioncontrolalgo.ppt05compuernetworkscongestioncontrolalgo.ppt
05compuernetworkscongestioncontrolalgo.ppt
 
Troubleshooting TCP/IP
Troubleshooting TCP/IPTroubleshooting TCP/IP
Troubleshooting TCP/IP
 
Tcp congestion avoidance
Tcp congestion avoidanceTcp congestion avoidance
Tcp congestion avoidance
 
tcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptx
tcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptxtcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptx
tcpflowcontrolanurag-150513130509-lva1-app6892 (1).pptx
 
Tcp congestion control
Tcp congestion controlTcp congestion control
Tcp congestion control
 

Dernier

會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
中 央社
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
heathfieldcps1
 

Dernier (20)

factors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptxfactors influencing drug absorption-final-2.pptx
factors influencing drug absorption-final-2.pptx
 
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文會考英文
 
Word Stress rules esl .pptx
Word Stress rules esl               .pptxWord Stress rules esl               .pptx
Word Stress rules esl .pptx
 
Behavioral-sciences-dr-mowadat rana (1).pdf
Behavioral-sciences-dr-mowadat rana (1).pdfBehavioral-sciences-dr-mowadat rana (1).pdf
Behavioral-sciences-dr-mowadat rana (1).pdf
 
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdfINU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
INU_CAPSTONEDESIGN_비밀번호486_업로드용 발표자료.pdf
 
Application of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matricesApplication of Matrices in real life. Presentation on application of matrices
Application of Matrices in real life. Presentation on application of matrices
 
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdfPost Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
Post Exam Fun(da) Intra UEM General Quiz 2024 - Prelims q&a.pdf
 
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdf
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdfPost Exam Fun(da) Intra UEM General Quiz - Finals.pdf
Post Exam Fun(da) Intra UEM General Quiz - Finals.pdf
 
2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx2024_Student Session 2_ Set Plan Preparation.pptx
2024_Student Session 2_ Set Plan Preparation.pptx
 
Championnat de France de Tennis de table/
Championnat de France de Tennis de table/Championnat de France de Tennis de table/
Championnat de France de Tennis de table/
 
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General QuizPragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
Pragya Champions Chalice 2024 Prelims & Finals Q/A set, General Quiz
 
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 2 STEPS Using Odoo 17
 
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdfDanh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
Danh sách HSG Bộ môn cấp trường - Cấp THPT.pdf
 
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptxMatatag-Curriculum and the 21st Century Skills Presentation.pptx
Matatag-Curriculum and the 21st Century Skills Presentation.pptx
 
Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).Dementia (Alzheimer & vasular dementia).
Dementia (Alzheimer & vasular dementia).
 
[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation[GDSC YCCE] Build with AI Online Presentation
[GDSC YCCE] Build with AI Online Presentation
 
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptxREPRODUCTIVE TOXICITY  STUDIE OF MALE AND FEMALEpptx
REPRODUCTIVE TOXICITY STUDIE OF MALE AND FEMALEpptx
 
size separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceuticssize separation d pharm 1st year pharmaceutics
size separation d pharm 1st year pharmaceutics
 
The basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptxThe basics of sentences session 4pptx.pptx
The basics of sentences session 4pptx.pptx
 
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
Operations Management - Book1.p  - Dr. Abdulfatah A. SalemOperations Management - Book1.p  - Dr. Abdulfatah A. Salem
Operations Management - Book1.p - Dr. Abdulfatah A. Salem
 

Designing TCP-Friendly Window-based Congestion Control

  • 1. Designing TCP-Friendly Window-based Congestion Control for Real-time Multimedia Applications PFLDNeT 2009 Soo-Hyun Choi and Mark Handley University College London
  • 2. congestion control for real-time multimedia applications • Two key common demands – Timely delivery over perfect reliability – Smooth and predictable throughput • Proposed standard: TFRC – What it solves? • Smooth and predictable throughput – How it solved? • Equation-based sending rate control by modelling TCP throughput background
  • 3. problems and goals • TFRC works incorrectly in certain circumstances • Fairness – It could starve TCP traffics at a DSL-like link (especially with a very small bottleneck buffer) • Smoothness – It could generate unwanted throughput oscillation in a short-term timescale (due to EWMA coeff. when measuring RTT) • Hard to Implement – If RTT is smaller than CPU interrupt cycle, it will have to sub- sample it, which in turn leads a noise in throughput calculation problems and goals (1/3)
  • 4. fairness • DSL-like link (low statistical mux), Drop-tail queue with a tiny bottleneck buffer – TFRC is sufficiently smooth due to the different fine-grain CC avoidance mechanism from TCP problems and goals (2/3) FIFO TCP TFRC Dest. 2 TCP and 2 TFRC Droptail (5 packets) Bottleneck link = 1Mb/s
  • 5. smoothness and practical issue • Short-term oscillatory behaviour – To avoid this: • Original TFRC used for inter-packet spacing • Bansal introduced 'conservative' mode – Worked well in the simulations, but not so sure in real-world • Practical issue (uneasiness to implement correctly) – Saurin observed the regular TFRC cuts inappropriately when RTT is small (e.g., less than a host OS's interrupt clock granularity) problems and goals (3/3) RTT i E RTT s
  • 6. motivation (1/2) Do we have to be rate-based to be smooth? Is rate-based worth all the trouble?
  • 7. motivation • Problems with rate-based control – Fairness – Hard to implement • Solution: Smooth Thruput with Ack-clocking motivation (2/2) If there is another mean that can achieve better fairness and make easy to implement without compromising smoothness, then?
  • 8. TCP-Friendly Window-based Congestion Control (TFWC) • Re-introduce TCP-like Ack-clock – Using a window, it can embed RTT implicit in the Ack-clock – No need to work around the OS's interrupt timer • Smoothness, Friendliness, Responsiveness – By using TCP-equation with the change to Ack-clock can retain “ Friendliness” and “ Responsiveness” property – Do we lose “ Smoothness” after all? proposal
  • 9. window calculation • Window calculation using TCP-equation – From the original TCP-equation – Multiply , then we get window size: TFWC mechanisms (1/9) W = 1 2p 3 12 3p 8  p132p 2  tRTT /s T = s t RTT 2p 3 12 3p 8  p132p 2 
  • 10. loss event rate • Average Loss Interval – Weighted average interval of packet losses • Loss event rate from average loss interval TFWC mechanisms (2/9) Loss Event Rate  p= 1 Average Loss Interval
  • 11. Ack Vector • What is it? – Data structure for Ack message – No cumulative Ack numbers (unreliable transport) • Data receiver builds AckVec – Packet list indicating the packet has arrived – Data receiver sends in an acknowledgement • Data sender reports Ack of Ack (AoA) – Data receiver prune AckVec based upon AoA TFWC mechanisms (3/9)
  • 12. Upon receipt of AckVec • Sender determines which packets are missing: TFWC mechanisms (4/9) 20 19 18 16 15 14 13 11 10 Latest Ack AoA 19 18 17 16 15 14 13 12 11 margin to allow re-ordering packet loss Received AckVec
  • 13. sender functionality • On every AckVec reception – Check packet loss – Compute Average Loss Interval – Calculate cwnd using the equation – Send the next available packets if: – Update RTT and RTO → Hence, making it sender driven Ack-clock basis TFWC mechanisms (5/9) ≤Seqno. of New Data cwnd + Unacked Seqno.
  • 14. hybrid window and rate (1/2) • When the loss rate is high: – A packet loss can cause timeout with very small windows due to the Ack- clock failure – The equation can result in cwnd less than one, for example.: • when p > 0.15, then W < 1 • when p > 0.1, then W < 2 • TCP-like timeout method to clock packets out? – Constant switching between window and timeout??? – Some of them will do exponential back-off, too. → TFRC-like rate-based when window is so small (i.e., when cwnd is less than 2) TFWC mechanisms (6/9)
  • 15. hybrid window and rate (2/2) – One TCP/TFRC/TFWC for the queue size of 5 packets – 500 Kb/s with 50 ms delay of the bottleneck link – This is a boarder-line case where it doesn't run rate-driven always. TFWC mechanisms (7/9) Window only mode Hybrid mode
  • 16. cwnd jitter (1/2) • TFWC's throughput often less smooth enough for interactive streaming applications than that of TFRC – Phase effect? • Maybe, yes, as flows through same bottleneck show different loss rate. – This can be significantly mitigated by RED queue • Being motivated by RED, – Randomly add cwnd 'jitter' by inflating cwnd at least once an RTT – Borrow a “ future” packet that would have been sent in that RTT • Results: – Reverses packet phase, hence breaking phase effects TFWC mechanisms (8/9)
  • 17. cwnd jitter (2/2) TFWC mechanisms (9/9) Without jitter With jitter FIFO TFWC Dest.8 TFWCs 5 Mb/s 50 ms 5 Mb/s 50 ms 50 Mb/s BDP = 63 Drop-tail Size = BDP
  • 19. TCP-Friendly (1/2) • Scenario – Varying # of sources from 1 to 100 in a dumbbell topology – Varying bottleneck BW from 0.1 ~ 20 Mb/s with 10ms delay – Reverse path TCP sources to reveal issues about Ack- compression and reduce phase effect – Drop-tail queue with a size of BDP • Fairness Index (Θ) = analysis > fairness (1/2) ∑ i =1 n T tcpi ∑i=1 n T tcpi ∑j =1 n T j
  • 20. TCP-Friendly (2/2) analysis > fairness (2/2) – For TFRC, Θ ~ 0.1 when bottleneck BW is low – For TFWC, though it is not perfect, it certainly does a lot better than TFRC TCP competing with the same number of TFRC TCP competing with the same number of TFWC
  • 21. smoothness (1/4) • Scenario – Are we going to loose all the nice smoothness property by re- introducing TCP-like Ack-clock? • Let's plot Coefficient of Variance (CoV). – Same simulation sets used in fairness comparison cases, and plot averaged per-flow CoVs CoV = analysis > smoothness (1/4) 1 k ∑ i=1 k Ti − T 2 T : average throughput over time k : number of time intervals (time interval = 0.5 sec) T
  • 22. smoothness (2/4) analysis > smoothness (2/4) – TFRC's CoV is very high (> 0.9) when # of sources is small – TFWC's CoV is relatively high when bottleneck BW is small TFRC CoV TFWC CoV
  • 23. smoothness – detailed (3/4) • Scenario – 8 TFR(W)C competing with the same # of TCP – Bottleneck of 5 Mb/s with 20 ms link delay, Drop-tail queue with a size of 300 packets – Average cwnd per flow = – Reverse path TCP sources: • To reduce simulation phase effect • To perturb the TFWC Ack flow analysis > smoothness (3/4) BDPqueuesize no.of TCPno of TFWC ≈15 packets
  • 24. smoothness – detailed (4/4) analysis > smoothness (4/4) • TCP • TFRC • TFWC
  • 25. responsiveness (1/2) • Scenario – Stress TCP/TFRC/TFWC with impulse response as a form of ON/OFF CBR source • CBR rate is the half of the links speed – Bottleneck of 1.5 Mb/s with roughly 60 ms of RTT – Drop-tail queue with arbitrary large queue size – One CBR source competing with one TFR(W)C analysis > responsiveness (1/2)
  • 26. responsiveness (2/2) analysis > responsiveness (2/2) CBR On CBR Off
  • 27. conclusion • TFWC achieved providing: 1. Fairer throughput 2. Same level of smoothness with that of TFRC 3. Faster responsiveness 4. Simpler to implement without bearing all the trouble that a rate-based CC has. • Future work – Question on what is really better for such an application between a rate-based CC and a window-based CC. – Move to the real-world experiments conclusion