Design and Implementation of Sender Initiated Congestion Control

0 downloads 0 Views 237KB Size Report
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 -