Congestion Control for Streaming Media Jae Won Chung Ph.D. Dissertation Committee: Prof. Mark Claypool, WPI Prof. Robert K...
Internet Congestion Control (CC) <ul><li>Little Support From The Router </li></ul><ul><ul><li>Packet Drop: Implicit Conges...
Efficient Congestion Control Feedback Queue Outbound Link Router Inbound Link Active Queue Management (AQM) <ul><li>Active...
Bandwidth Usage Control <ul><li>Bandwidth Control Mechanism </li></ul><ul><ul><li>Protect network and fairness </li></ul><...
Efficient Bandwidth Usage Control Queue Outbound Link Router Inbound Link TCP-Friendly Transport Protocol <ul><li>TCP-Frie...
Outline <ul><li>Internet Congestion Control </li></ul><ul><li>Problem Statement </li></ul><ul><li>The Crimson Architecture...
Problem Statement <ul><li>The Internet does not provide a  streaming-friendly transport protocol  (TCP is streaming-unfrie...
The Crimson Architecture <ul><li>MTP: Multimedia Transport Protocol </li></ul><ul><li>SFG: Stochastic Fairness Guardian </...
Contributions (1 of 2) <ul><li>Internet measurement study </li></ul><ul><ul><li>Compare commercial Internet TCP & UDP vide...
Contributions (2 of 2) <ul><li>Stochastic Fairness guardian (SFG) </li></ul><ul><ul><li>Design a  lightweight  bandwidth c...
Outline <ul><li>Internet Congestion Control </li></ul><ul><li>Problem Statement </li></ul><ul><li>The Crimson Architecture...
Random Early Detection (RED) <ul><li>RED (Floyd+, 1993) : 1G AQM congestion controller </li></ul><ul><ul><li>Uses a low pa...
Aggregate Rate Control (ARC) <ul><li>Problem with current PI-based congestion controllers </li></ul><ul><ul><li>Difficult ...
Rate-Based Implementation of PI <ul><li>Every  d  seconds: </li></ul><ul><li>2:  b      0 ; </li></ul><ul><li>Every  pack...
TCP-ARC Feedback Control Model (Hollot+, 2001) ARC TCP + Delay .
TCP-ARC Stability Conditions Slope =    20 dB/decade    40 dB/decade    60 dB/decade    40 dB/decade  90  180 0  p ...
ARC Configuration Guidelines <ul><li>Configure ARC  (    / d   )  for your   average case   lower boundary   (  )  condit...
Evaluation of ARC <ul><li>Evaluate ARC with other PI-based AQM congestion controllers ( AVQ  and PI)   and  Drop-Tail </li...
Web Flash Crowd Simulation <ul><li>C = 10Mbps </li></ul><ul><li>Q = 500  Kbytes </li></ul><ul><li>RTLD = [60, 1000] ms </l...
Web Flash Crowd: Queue Dynamics
Web Flash Crowd: Data Losses
Light Traffic Load Simulation <ul><li>Simulation Objectives: </li></ul><ul><ul><li>Compare PI-based AQMs on everyday light...
Light Traffic Load: Queue Dynamics
Light Traffic Load: Throughput
Summary of ARC  <ul><li>Minimize queuing delay at IP routers. </li></ul><ul><ul><li>Provide best-delay-effort Internet ser...
Outline <ul><li>Internet Congestion Control </li></ul><ul><li>Problem Statement </li></ul><ul><li>The Crimson Architecture...
Conclusions (1 of 2) <ul><li>Internet measurement study </li></ul><ul><ul><li>Compare Internet TCP and UDP media streams. ...
Conclusions (2 of 2) <ul><li>Stochastic Fairness guardian (SFG) </li></ul><ul><ul><li>Lightweight bandwidth controller tha...
Questions? Thank You
Congestion Control for Streaming Media Jae Won Chung Ph.D. Dissertation Committee: Prof. Mark Claypool, WPI Prof. Robert K...
Outline <ul><li>Internet Congestion Control </li></ul><ul><li>Problem Statement </li></ul><ul><li>The Crimson Architecture...
Block diagram of a TCP connection N 1  __ Time Delay τ   TCP window control TCP load factor C ongested queue Control law ...
PID Controller for AQM <ul><li>PI Controller   </li></ul><ul><ul><li>AVQ (Kunniyur, 2001) </li></ul></ul><ul><ul><li>PI  (...
Web Flash Crowd: Queue CDF
Web Flash Crowd: Throughput
Web Flash Crowd: Service Time
Streaming Media Applications <ul><li>Popular use of streaming media in the Internet. </li></ul><ul><ul><li>Archived: Jukeb...
Upcoming SlideShare
Loading in …5
×

ppt

500 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
500
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

ppt

  1. 1. Congestion Control for Streaming Media Jae Won Chung Ph.D. Dissertation Committee: Prof. Mark Claypool, WPI Prof. Robert Kinicki, WPI Prof. Craig Wills, WPI Pr of. Kevin Jeffay, UNC-Chapel Hill
  2. 2. Internet Congestion Control (CC) <ul><li>Little Support From The Router </li></ul><ul><ul><li>Packet Drop: Implicit Congestion Signal </li></ul></ul><ul><li>TCP Congestion Avoidance </li></ul><ul><ul><li>Respond to Congestion Signal </li></ul></ul>Queue Receiver Outbound Link Router Inbound Link Receiver TCP TCP ACK ACK Queue Receiver Outbound Link Router Inbound Link Receiver TCP TCP ACK ACK Queue Receiver Outbound Link Router Inbound Link Receiver TCP TCP ACK Drop!!! Queue Receiver Outbound Link Router Inbound Link Receiver TCP TCP
  3. 3. Efficient Congestion Control Feedback Queue Outbound Link Router Inbound Link Active Queue Management (AQM) <ul><li>Active Queue Management (AQM) </li></ul><ul><ul><li>Low Delay & High Utilization </li></ul></ul><ul><ul><li>Reduce Packet Loss </li></ul></ul><ul><ul><ul><li>Reduce Queue Overflow </li></ul></ul></ul><ul><ul><ul><li>Explicit Congestion Notification (ECN) </li></ul></ul></ul><ul><ul><li>Stability and Configuration Issue </li></ul></ul>Receiver Receiver TCP TCP Congestion Mark ECN Bit Explicit Congestion Notification (ECN) ACK Queue Receiver Outbound Link Router Inbound Link Receiver TCP TCP Active Queue Management (AQM)
  4. 4. Bandwidth Usage Control <ul><li>Bandwidth Control Mechanism </li></ul><ul><ul><li>Protect network and fairness </li></ul></ul><ul><ul><li>Extend AQM Feature </li></ul></ul><ul><ul><li>Scalability Issue </li></ul></ul>Queue Receiver Outbound Link Router Inbound Link Sink AQM UDP TCP Queue Receiver Outbound Link Router Inbound Link Sink AQM Forced Drop UDP TCP
  5. 5. Efficient Bandwidth Usage Control Queue Outbound Link Router Inbound Link TCP-Friendly Transport Protocol <ul><li>TCP-Friendly Transport Protocol </li></ul><ul><ul><li>Average throughput does not exceed </li></ul></ul><ul><ul><li>that of conforming TCP flow under the </li></ul></ul><ul><ul><li>same network condition </li></ul></ul><ul><ul><li>Application-Friendly also? </li></ul></ul>Receiver Receiver AQM TCP
  6. 6. Outline <ul><li>Internet Congestion Control </li></ul><ul><li>Problem Statement </li></ul><ul><li>The Crimson Architecture </li></ul><ul><li>Aggregate Rate Control </li></ul><ul><li>Summary </li></ul>
  7. 7. Problem Statement <ul><li>The Internet does not provide a streaming-friendly transport protocol (TCP is streaming-unfriendly). </li></ul><ul><ul><li>TCP API hides network information. </li></ul></ul><ul><ul><li>TCP’s reliable in-order delivery service incurs extra delays. </li></ul></ul><ul><li>The Internet stability is vulnerable to misbehaving high-bandwidth UDP streams. </li></ul><ul><ul><li>Streaming media applications often use UDP without a proper congestion control mechanism . </li></ul></ul><ul><ul><li>Internet video has potentially high demand for bandwidth. </li></ul></ul><ul><ul><li>ISPs provide broadband Internet connections (  3 Mbps). </li></ul></ul><ul><li>The Internet does not guarantee low transmission delays required by streaming media applications. </li></ul><ul><ul><li>Large queuing delays at IP routers in congestion. </li></ul></ul>
  8. 8. The Crimson Architecture <ul><li>MTP: Multimedia Transport Protocol </li></ul><ul><li>SFG: Stochastic Fairness Guardian </li></ul><ul><li>ARC: Aggregate Rate Controller </li></ul>Bandwidth Controller In Filtered Best-Delay-Effort Protection Active Queue Management (IP Router) Congestion Controller Out SFG ARC M ultimedia T ransport P rotocol TCP UDP TCP MTP UDP M ultimedia T ransport P rotocol TCP UDP UDP MTP TCP drop drop
  9. 9. Contributions (1 of 2) <ul><li>Internet measurement study </li></ul><ul><ul><li>Compare commercial Internet TCP & UDP video streams </li></ul></ul><ul><ul><li>Characterize streaming transport protocol requirements . </li></ul></ul><ul><ul><ul><li>[Chung+, 2003] Packet Video Workshop (PV) </li></ul></ul></ul><ul><ul><ul><li>[Chung+, 2004] Kluwer Multimedia Tools and Applications </li></ul></ul></ul><ul><li>Multimedia Transport Protocol (MTP) </li></ul><ul><ul><li>Modify TCP (Reno in NS) not to retransmit . </li></ul></ul><ul><ul><li>Add streaming-friendly API . </li></ul></ul><ul><ul><ul><li>[Chung+, 2000] SCS Euromedia Conference </li></ul></ul></ul><ul><li>Goddard streaming media client and server </li></ul><ul><ul><li>Design and implement a realistic streaming application in Network Simulator ( NS ). </li></ul></ul><ul><ul><li>Simulates bandwidth estimation, media scaling and playout. </li></ul></ul>
  10. 10. Contributions (2 of 2) <ul><li>Stochastic Fairness guardian (SFG) </li></ul><ul><ul><li>Design a lightweight bandwidth controller (statistical packet filter) that limits misbehaving high-bandwidth UDP traffic. </li></ul></ul><ul><ul><ul><li>[Chung+, 2000] NOSSDAV </li></ul></ul></ul><ul><ul><ul><li>[Chung+, 2000] ACM Multimedia </li></ul></ul></ul><ul><ul><ul><li>[Chung+, 2002] IEEE Symposium on Computers and Comm. </li></ul></ul></ul><ul><li>Aggregate Rate Controller (ARC) </li></ul><ul><ul><li>Design a congestion controller that minimizes queuing delay while achieving high link utilization. </li></ul></ul><ul><ul><li>Provide complete and practical configuration guidelines . </li></ul></ul><ul><ul><ul><li>[Chung+, 2003] Network Computing and Applications </li></ul></ul></ul><ul><ul><ul><li>[Chung+, 2004] ACM SIGCOMM, (Poster) </li></ul></ul></ul><ul><li>Integration of the Crimson components </li></ul><ul><ul><li>Evaluate Goddard over MTP with the Crimson (SFG+ARC). </li></ul></ul>
  11. 11. Outline <ul><li>Internet Congestion Control </li></ul><ul><li>Problem Statement </li></ul><ul><li>The Crimson Architecture </li></ul><ul><li>Aggregate Rate Control </li></ul><ul><li>Summary </li></ul>
  12. 12. Random Early Detection (RED) <ul><li>RED (Floyd+, 1993) : 1G AQM congestion controller </li></ul><ul><ul><li>Uses a low pass filter on the queue length to detect and compute congestion notification probability ( p ). </li></ul></ul><ul><li>RED configuration problems </li></ul><ul><ul><li>Lack of configuration guidelines  Queue law (Firoiu+, 2000; Chung+, 2003) </li></ul></ul><ul><ul><li>Stability margin is small (Hollot+, 2001)  Gentle extension, self-configuring RED (add-hoc approaches). </li></ul></ul><ul><li>Proportional Integral (PI) AQM Controllers: Apply control engineering paradigm to design AQM </li></ul><ul><ul><li>Large stability margin and prompt response. </li></ul></ul><ul><ul><li>AVQ (Kunniyur+, 2001), </li></ul></ul><ul><ul><li>PI (Hollot+, 2001) and REM (Athuraliya+, 2001) </li></ul></ul>
  13. 13. Aggregate Rate Control (ARC) <ul><li>Problem with current PI-based congestion controllers </li></ul><ul><ul><li>Difficult to configure PI controller for a time-delay system. </li></ul></ul><ul><ul><li>Incomplete stability analysis: measurement epoch. </li></ul></ul><ul><ul><li>Queue sample-based control information acquisition </li></ul></ul><ul><ul><li> Induce control noise when link is not fully utilized. </li></ul></ul><ul><li>Aggregated Rate Controller (ARC) </li></ul><ul><ul><li>Parameter r educed PI c ontroller for TCP System </li></ul></ul><ul><ul><li> Ease the control parameter configuration. </li></ul></ul><ul><ul><li>Complete stability analysis </li></ul></ul><ul><ul><li> Practical c onfiguration g uideline s & recommendations. </li></ul></ul><ul><ul><li>Rate-based control information acquisition </li></ul></ul><ul><ul><li> Noise reduction + flexible configuration </li></ul></ul><ul><ul><li> Minimized queuing delay. </li></ul></ul>
  14. 14. Rate-Based Implementation of PI <ul><li>Every d seconds: </li></ul><ul><li>2: b  0 ; </li></ul><ul><li>Every packet arrival: </li></ul><ul><li>3: if ( uniform ( 0,1 )  p ) </li></ul><ul><li>4: if ( mark ( packet ) == false ) { </li></ul><ul><li>5: drop ( packet ); </li></ul><ul><li>6: return ; </li></ul><ul><li>7: } </li></ul><ul><li>8: b  b + sizeof ( packet ); </li></ul><ul><li>9: if ( enqueue ( packet ) == false ) drop ( packet ); </li></ul><ul><li>C : link capacity </li></ul><ul><li>: target utilization (C 0 /C) </li></ul><ul><li>q 0 : target queue length </li></ul><ul><li>d : measurement interval </li></ul><ul><li> : virtual queue control const. </li></ul><ul><li> : queue control const. </li></ul>p : notification probability q : queue length b : bytes received this epoch 1: p  p +  ( b   ( d C  ( q – q 0 )));    1: p  p +  ( b   ( d C  ( q – q 0 ))); ARC Algorithm
  15. 15. TCP-ARC Feedback Control Model (Hollot+, 2001) ARC TCP + Delay .
  16. 16. TCP-ARC Stability Conditions Slope =  20 dB/decade  40 dB/decade  60 dB/decade  40 dB/decade  90  180 0  p  180  g  p rad/sec rad/sec  (dB)  (deg)  g 0   3  3 C 3 (1+  ) 4 d N 2  1  2  C 2 N  1 +  T p = Select  /d such that Given System Boundary Bode Stability Analysis TCP-ARC Stable Operating Range
  17. 17. ARC Configuration Guidelines <ul><li>Configure ARC (  / d ) for your average case lower boundary ( ) condition . </li></ul><ul><li>Set the measurement interval ( d ) close to the maximum expected system RTT ( ) . </li></ul><ul><li>Check to see if the chosen  meets the mi nimum s tability c ondition . </li></ul>  System RTT (  ) Number of flows ( N )
  18. 18. Evaluation of ARC <ul><li>Evaluate ARC with other PI-based AQM congestion controllers ( AVQ and PI) and Drop-Tail </li></ul><ul><ul><li>O ver a wide range of realistic traffic mixes and loads . </li></ul></ul><ul><ul><li>Show two simulation study results in this presentation. </li></ul></ul><ul><li>AQM Configurations </li></ul><ul><ul><li>AV Q </li></ul></ul><ul><ul><ul><li> = 0.98,  = 0.15 </li></ul></ul></ul><ul><ul><li>PI </li></ul></ul><ul><ul><ul><li>q 0 = 50,  = 1.822  10 -5,  = 1.816  10 -5 ,  = 170 </li></ul></ul></ul><ul><ul><li>ARC </li></ul></ul><ul><ul><ul><li> = 0.98, q 0 = 0 , d = 1 sec,  = 1.42  10 -5 </li></ul></ul></ul>
  19. 19. Web Flash Crowd Simulation <ul><li>C = 10Mbps </li></ul><ul><li>Q = 500 Kbytes </li></ul><ul><li>RTLD = [60, 1000] ms </li></ul><ul><li>N ftp_fw = 25, N ftp_bw = 50 </li></ul><ul><li>N web = 300 (O L =0.25)  1300 (OL=1.1 0 )  300 </li></ul><ul><ul><li>+ N web = + 10 ses sions /min (from 100 sec) </li></ul></ul><ul><ul><li> N web =  10 session s /min (from 6100 sec) </li></ul></ul><ul><ul><li>Flash Rate ( FIFA World Cup ’98 Data ) </li></ul></ul><ul><ul><li> Peak Flash Rate: 2M  10M req s /h in 2 hours </li></ul></ul><ul><ul><li>Web session setting ( H-Campos +, 20 03 ) </li></ul></ul><ul><ul><li> Size avg = 5KB, S hape = 1.2 , T avg_t hink = 7sec (expo) </li></ul></ul><ul><li>Simulation time = 12100 sec </li></ul>r 1 r 2 s s s s d d d d Q = 500 pkts C = 10 Mbps
  20. 20. Web Flash Crowd: Queue Dynamics
  21. 21. Web Flash Crowd: Data Losses
  22. 22. Light Traffic Load Simulation <ul><li>Simulation Objectives: </li></ul><ul><ul><li>Compare PI-based AQMs on everyday light traffic load. </li></ul></ul><ul><ul><li>Simulate sudden increase in delay (due to routing change). </li></ul></ul><ul><li>C = 10Mbps </li></ul><ul><li>Q = 500 Kbytes </li></ul><ul><li>N ftp_fw = 5, N ftp_bw = 10 </li></ul><ul><li>N web = 300 sessions </li></ul><ul><li>RTLD = [ 10 0, 5 00] ms  [2200, 2600] ms </li></ul><ul><ul><li>Increase the congested link RTLD 300 ms every 200 secs. </li></ul></ul><ul><ul><li>Average RTLD: 300  600  …  2100  2400 (ms) </li></ul></ul>r 1 r 2 s s s s d d d d Q = 500 pkts C = 10 Mbps
  23. 23. Light Traffic Load: Queue Dynamics
  24. 24. Light Traffic Load: Throughput
  25. 25. Summary of ARC <ul><li>Minimize queuing delay at IP routers. </li></ul><ul><ul><li>Provide best-delay-effort Internet service to support streaming media and other delay sensitive applications. </li></ul></ul><ul><li>Practical and complete configuration guidelines and recommendations. </li></ul><ul><ul><li>Ease the controller parameter configuration through the PI parameter reduction. </li></ul></ul><ul><ul><li>Provide configuration guidelines and recommendations that works for a wide range of traffic condition </li></ul></ul><ul><li>Robust congestion control performance over wide range of traffic conditions. </li></ul><ul><ul><li>Rate-based control information acquisition. </li></ul></ul><ul><ul><li>High (flash crowd) and low (everyday) traffic loads. </li></ul></ul>
  26. 26. Outline <ul><li>Internet Congestion Control </li></ul><ul><li>Problem Statement </li></ul><ul><li>The Crimson Architecture </li></ul><ul><li>Aggregate Rate Control </li></ul><ul><li>Summary </li></ul>
  27. 27. Conclusions (1 of 2) <ul><li>Internet measurement study </li></ul><ul><ul><li>Compare Internet TCP and UDP media streams. </li></ul></ul><ul><ul><li>Characterize commercial video stream behavors. </li></ul></ul><ul><ul><li>Identify streaming unfriendly features of TCP. </li></ul></ul><ul><li>Multimedia Transport Protocol (MTP) </li></ul><ul><ul><li>TCP-friendly: TCP modification not to retransmit. </li></ul></ul><ul><ul><li>API: Streaming-friendly transport protocol. </li></ul></ul><ul><ul><li>MTP offers streaming performance comparable to that provided by UDP, while doing so under a TCP-Friendly rate. </li></ul></ul><ul><li>Goddard streaming media client and server </li></ul><ul><ul><li>Design and build a realistic streaming application in NS. </li></ul></ul><ul><ul><li>Simulates bandwidth estimation, media scaling and playout. </li></ul></ul>
  28. 28. Conclusions (2 of 2) <ul><li>Stochastic Fairness guardian (SFG) </li></ul><ul><ul><li>Lightweight bandwidth controller that filters misbehaving high-bandwidth UDP traffic without flow monitoring. </li></ul></ul><ul><ul><li>SFG outperforms other statistical traffic filters, and performs as well as bandwidth controllers using per-flow information. </li></ul></ul><ul><li>Aggregate Rate Controller (ARC) </li></ul><ul><ul><li>Minimizes queuing delay with high link utilization. </li></ul></ul><ul><ul><li>Complete and practical configuration guidelines. </li></ul></ul><ul><ul><li>Robust performance over wide range of traffic conditions. </li></ul></ul><ul><li>Evaluation of the Crimson network (SFG + ARC) </li></ul><ul><ul><li>Goddard over MTP achieves the best stream quality. </li></ul></ul><ul><ul><li>SFG controls high-bandwidth UDP Goddard streams. </li></ul></ul><ul><ul><li>ARC minimizes the queuing delay. </li></ul></ul>
  29. 29. Questions? Thank You
  30. 30. Congestion Control for Streaming Media Jae Won Chung Ph.D. Dissertation Committee: Prof. Mark Claypool, WPI Prof. Robert Kinicki, WPI Prof. Craig Wills, WPI Pr of. Kevin Jeffay, UNC-Chapel Hill
  31. 31. Outline <ul><li>Internet Congestion Control </li></ul><ul><li>Problem Statement </li></ul><ul><li>The Crimson Architecture </li></ul><ul><li>Aggregate Rate Control </li></ul><ul><li>Summary </li></ul><ul><li>ARC Leftovers </li></ul>
  32. 32. Block diagram of a TCP connection N 1  __ Time Delay τ TCP window control TCP load factor C ongested queue Control law (e.g. AQM ) (Misra, 2000) . .
  33. 33. PID Controller for AQM <ul><li>PI Controller </li></ul><ul><ul><li>AVQ (Kunniyur, 2001) </li></ul></ul><ul><ul><li>PI (Hollot, 2001) </li></ul></ul><ul><ul><li>REM (Athuraliya, 2001) </li></ul></ul><ul><li>Other Designs </li></ul><ul><ul><li>SFC (Gao, 2003): P Q P L Controller </li></ul></ul><ul><ul><li>… </li></ul></ul>AQM Mechanics Queue Acceleration Acceleration D erivative  Queue Velocity =  Load  Velocity I ntegral Queue Displacement Position Displacement P roportional Same design & implementation
  34. 34. Web Flash Crowd: Queue CDF
  35. 35. Web Flash Crowd: Throughput
  36. 36. Web Flash Crowd: Service Time
  37. 37. Streaming Media Applications <ul><li>Popular use of streaming media in the Internet. </li></ul><ul><ul><li>Archived: Jukebox, Video on Demand (VoD) </li></ul></ul><ul><ul><li>Live: Internet Radio, Internet TV </li></ul></ul><ul><ul><li>Interactive: Voice over IP (VoIP), Video Conferencing </li></ul></ul><ul><li>Streaming media applications estimate available network bandwidth to control the stream quality. </li></ul><ul><ul><li>Media scaling: Choose a media of which the encoded bitrate is less than the available bandwidth. </li></ul></ul><ul><ul><li>Monitor network information (loss rate, delay, throughput). </li></ul></ul><ul><li>Streaming media applications are sensitive to delay . </li></ul><ul><ul><li>There exist media playout deadlines to meet. </li></ul></ul><ul><ul><li>Interactive streaming has even tighter delay requirements. </li></ul></ul>

×