Jan 12, 2007 - Control. Eiichi Muramoto, Takahiro Yoneda, Kazunobu Konishi. Matsushita Electric Industrial Co., Ltd. { muramoto.eiichi, yoneda.takahiro ...
Design and Implementation of Sender Initiated Congestion Control Eiichi Muramoto, Takahiro Yoneda, Kazunobu Konishi Matsushita Electric Industrial Co., Ltd. { muramoto.eiichi, yoneda.takahiro , konishi.kazunobu} @jp.panasonic.com
IEEE CCNC 2007
Content • Three parts – SICC protocol overview – Design and Implementation – Field Implementation
• Related work • Conclusion • Future work
2007/1/12
IEEE CCNC 2007
-2 -
Vision and Target Real-time Group Communication over the Internet e.g. Personal Broadcasting
Multicasting
Live Event
XCAST6
Camera
Internet
TCP Fairness (Maintain Fairness with TCP traffic)
Optical fiber ADSL Wireless LAN
Congestion Avoidance Home A Home B Home C
Mobile
SICC (proposed method)
Intra Session Fairness (Rate Control according to User Network Environment)
SICC: Sender Initiated Congestion Control 2007/1/12
IEEE CCNC 2007
-3 -
SICC Protocol overview SICC
CLASS Estimation of Sending Rate Rate Control Mechanism
2007/1/12
IEEE CCNC 2007
-4 -
SICC CLASS Prepare
several CLASSes which transmit CBR stream using XCAST6
SICC Sender CLASS C1 (1Mbps) R1
R2
XCAST6 packet IP R1 R2 DATA 1Mbps Stream
SICC Receiver R1 R2
CLASS C2 (512kbps) 512kbps Stream R3
R3
CLASS C3 (256kbps) 256kbps Stream
R4
R4
2007/1/12
R5
IEEE CCNC 2007
R5 -5 -
Estimation of Sending Rate Sender
estimates the rate that each receiver can accept while maintaining TCP Fairness using TFRC[*] approach The sender classifies each receiver to Suitable CLASS based on each estimation TFRC Equation
Xcal [bps] is acceptable sending rate 8s s [byte] is the packet size Xcal = 2 R ( 2 p / 3 + 4 R × 3 p / 8 × p × (1 + 32 p )) R [sec] is the estimated RTT p is the loss event rate
[*] M. Handley, S. Floyd, J. Padhye, J. Widmer, “TCP Friendly Rate Control (TFRC): Protocol Specification”, RFC3448, IETF, Jan.2003. 2007/1/12
IEEE CCNC 2007
-6 -
SICC Rate Control Mechanism (1) SICC Sender CLASS C1 (1Mbps) R1
SICC Receiver R1
1Mbps Stream
R2
R2 CLASS C2 (512kbps)
512kbps Stream
R3 CLASS C3 (256kbps) 256kbps Stream R4
R5
feedback
R3 R4 R5
TFRC Sending rate estimation 600kbps
2007/1/12
IEEE CCNC 2007
-7 -
SICC Rate Control Mechanism (2) SICC Sender CLASS C1 (1Mbps) R1
SICC Receiver 1Mbps Stream
R1
R2
R2 CLASS C2 (512kbps) R3
512kbps Stream
R4
CLASS C3 (256kbps) 256kbps Stream R4
2007/1/12
R5
IEEE CCNC 2007
R3 R4 R5
-8 -
SICC Rate Control Mechanism (3) SICC Sender CLASS C1 (1Mbps) R1
SICC Receiver R1
1Mbps Stream
R2
R2 CLASS C2 (512kbps) R3
512kbps Stream
R4
CLASS C3 (256kbps) 256kbps Stream R5
feedback
R3 R4 R5
TFRC Sending rate estimation 300kbps
2007/1/12
IEEE CCNC 2007
-9 -
SICC Rate Control Mechanism (4) SICC Sender CLASS C1 (1Mbps) R1
SICC Receiver 1Mbps Stream
R1
R2
R2 CLASS C2 (512kbps) R3
512kbps Stream
R4
CLASS C3 (256kbps) 256kbps Stream R4
2007/1/12
R5
IEEE CCNC 2007
R3 R4 R5
-10 -
Feature of SICC • SICC achieve – TCP Fairness by estimation of sending rate based on TFRC – Intra-Session Fairness by using multiple constant sending rate – Fast congestion avoidance by changing the CLASS immediately
2007/1/12
IEEE CCNC 2007
-11 -
Design and Implementation
IEEE CCNC 2007
Requirement of SICC protocol stack • Application requirement for various encoding – intra frame codec (M-JPEG, DV) – multi streams (MPEG-2,4) – layered codec (MPEG4-FGS, SVC)
• Requirement for Real-time streaming – Handling variable length of Application data unit – Notification of the availability on time at receiver – Synchronous delivery of multiple sub streams (MPEG4-FGS, SVC) 2007/1/12
IEEE CCNC 2007
-13 -
SICC socket design • Separation of SICC core and wrapper – Core provides flow control to satisfy TCP Fairness – Wrappers provide adaptation for each encoding Sender application Motion-JPEG, DV
Multiple MPEG2,4
Layered Encoded streams
SICC Wrapper (1) single socket
SICC Wrapper (2) multiple sockets
SICC Wrapper (3) multiple sockets
SICC sender Core
2007/1/12
IEEE CCNC 2007
Special function of classification of receivers for the Layered encoding (3)
-14 -
Multiple-implementations • Purpose & implementation – Evaluate the effect of timer accuracy • Implement User land NetBSD 1.6.2 with 1ms accuracy (HZ=1000) , it works fine.
– Proof the concept of the socket design • Implement Kernel stack in Linux 2.6.10 and it already works
– Verify the applicability for small appliance • Implement in Micro I-tron which is real time OS for embedding systems – Applicable ( demonstrated )
2007/1/12
IEEE CCNC 2007
-15 -
Field Experiment
IEEE CCNC 2007
Purpose of the field experiment • Confirm the TCP Fairness in the field – Experiment network with 231 participant • Various TCP session
2007/1/12
IEEE CCNC 2007
-17 -
Field experiment environment • Traffic ( by 231 participants in WIDE CAMP) – Many and short lived TCP session with long RTT – Multiple SICC session with short RTT TCP Flow
Internet
SICC Flow X2U Router Switch
Port Mirror
Measurement PC
Wireless Network
Bottleneck link
SICC Camera BoF1
2007/1/12
IEEE CCNC 2007
BoF2
BoF3
-18 -
The measurement index • Mean RTT weighted throughput (TR ) in the field experiment
TR = ∑ Ti × R s
Ti: throughtput for each flow R:RTT of each flow S: second
2007/1/12
IEEE CCNC 2007
-19 -
The experiment result • Mostly fair but fluctuated
The guessing reason of the fluctuation - fluctuation of RTT value in wireless LAN 2007/1/12
IEEE CCNC 2007
-20 -
Related work • DCCP implementation by Nishida – Applicable to unicast, not for multicast
• TFMCC, PGMCC – TCP Fairness : OK – Intra-session-fairness: NG – No academic report of a field experiment
• NORM – Must be combined to achieve TCP Fairness 2007/1/12
IEEE CCNC 2007
-21 -
Conclusion • SICC achieve TCP Fairness and Intrasession-fairness at the same time • We have design and implemented SICC to – Prove the concept of socket design – Confirm the TCP Fairness with restricted timer accuracy with 1ms timer – Verify the applicability to small appliance
• We have had the field experiment with the appliance. 2007/1/12
IEEE CCNC 2007
-22 -
Future Work • CLASS Change Mechanism – We should analyze the oscillation between CLASSes in single SICC session
• Adapting for ALM – The calculating time of the ALM sub tree when changing receiver to another CLASS – the influence of switching between multiple ALM paths
2007/1/12
IEEE CCNC 2007
-23 -
• Thanks
2007/1/12
IEEE CCNC 2007
-24 -
2007/1/12
IEEE CCNC 2007
-25 -
TCP Fairness (the result in dumbbell)
F (Fairness)
• SICC achieves TCP Fairness 1.6 1.5 1.4 1.3 1.2 1.1 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0
SICC TCP TCP Average
0
20
40
60
80
100
120
number of TCP flows 2007/1/12
IEEE CCNC 2007
-26 -
The applicability of SICC on ALM ALM (representatives)
Type
“Host multicast(HMTP)” B. Zhang,et.al, 2002
Tree first
“NICE” S. Banerjee,et al, 2002
Hieratical
“SCRIBE” M. Castro,et. Al,2002
“NARADA” Yang hua Chu,et al,2000
2007/1/12
IEEE CCNC 2007
Applicability of SICC
Easy
implicit (decentralized)
Mesh first
difficult
-27 -