View
8
Download
0
Category
Preview:
Citation preview
1
Experimental assessment of BitTorrent Completion Time
in Heterogeneous TCP/uTP swarms
Claudio Testa – Télécom ParisTech
Dario Rossi – Télécom ParisTech Ashwin Rao – INRIA Planete
Arnaud Legout – INRIA Planete
13th Passive and Active Measurement conference,
TMA Workshop
March 10-14, 2011 – Wien, Austria
2
Agenda
● Bufferbloat problem− BitTorrent solution: uTP − Loss vs Delay based congestion control
● Experimental setup− Scenario description− TCP/uTP preference
● Experimental results− Homogeneous ( all TCP / all uTP ) Swarm− Heterogeneous ( mixed TCP and uTP ) Swarm
● Conclusion● Future work
3
Bufferbloat problem● Bufferbloat: excess buffering inside a network, causing high latency and reduced
throughput ● It occurs wherever there's a fast-to-slow transition in the network (most likely in
access for ADSL links) TCP data piling up delay-sensitive services unusable → → [1 ]
[1] BufferBloat: What's Wrong with the Internet?Communications of the ACM, Van Jacobson, Jim Gettys et al.,February 2012
TCP crosstraffic
ICMP ping
TCP crosstraffic
4
BitTorrent solution: uTP
v3
Oct'10
v4
Mar'11 Jul'11
v5,6,7
Oct'11
v8,9
May'10
libuTPopen src
Jul'10
v2
2.0.2
Dec'10
2.2
Apr'11
3.0
Sep'11
3.1 α BitTorrentclient
IETFdraft
● Dec 2008: first uTP implementation in closed-source uTorrent client, later as BEP doc● Oct 2009: BitTorrent co-chair a IETF WG (LEDBAT) and submit Draft v1
Our research● 2009-2010: focus on LEDBAT/uTP on Congestion control viewpoint [PAM, TR, ICCCN, LCN]
● 2010-2011: focus on the BitTorrent swarm viewpoint [P2P]
v1
Oct'09Dec'08
uTPclosed src
5
Loss vs Delay based Cong. Control
Detect congestion by losses
• Increment the congestion window
(cwnd) by one packet per RTT
• Halve cwnd on loss events
Consequences
• The buffer always fills up
• High delay for interactive apps
• Users need to prioritize traffic !
Infer via delay measurement
• Senders measure minimum delay
• Evaluate offset from TARGET delay
• React with linear controller
Aim
• At most TARGET ms of delay
• Lower priority than TCP
• Do not harm interactive application
• Avoid self-induced congestion
TCP uTP
cwn
d
time
losses
cwn
d
time
TARGETreached
6
Scenario description● Grid’5000 controlled testbed
− Gbps LAN, emulated capacity & delay− One peer per host (no shared queues)− Linux uTorrent 3.0 client
Seed
1
2
75
...
● Experimental scenarios− Flash crowd, single provisioned Seed− 75 peers, never leave the system− same delay and capacity for all peers
● Focus on 4 cases− Homogeneous (all TCP / all uTP)− Heterogeneous (25% uTP / 75% uTP)
● Performance − Linux kernel queue length− Torrent completion time (QoE)− Closed source, so no chunk level log :(
7
TCP/uTP preference (I)
● uTorrent TCP/uTP preferences
− bitmap semantic bt.transp_disposition flag− attempt outgoing: 1=TCP, 2=UDP − accept incoming: 4=TCP, 8=UDP− header format: 0=old, 16=new− Default = 31
Seed
A B
8
TCP/uTP preference (2)
A B
Data ACK
TCP
uTP
TCP connection
uTP connection
9
Homogeneous Swarm
Heterogeneous Swarm
all TCP peers all uTP peers
25% of uTP peers 75% of uTP peers
10
Homogeneous: Queue
E[uTP]= 108ms
E[TCP]=385ms
● Homogeneous swarms: ( all TCP ) XOR ( all uTP ) peers, separate experiments at different times − Several repetitions (envelope report min & max)
● As expected, uTP limits queue length close to TARGET (set to 100ms)● TCP peers tend to fill the buffer, then encounter self-induced congestion● Both able to saturate the capacity as queue is non null
Same efficiency in data plane !
11
Homogeneous: Completion Time● Homogeneous swarms: ( all TCP ) XOR ( all uTP ) peers, separate experiments at
different times
● Shorter queue length leads to faster signaling: awareness of content availability propagates faster !
● In turn, this assist in reducing the completion time● Hence about same efficiency in data plane
E[uTP]= 1345s
E[TCP]= 1421s
uTP more timely for control plane !
12
Heterogeneous: Queue● Heterogeneous swarms: ( 25% uTP ) XOR ( 75% uTP ) peers
● Increasing percentage of TCP peers leads to higher queuing delay (by 50%)
E[25%uTP]=337ms
E[75%uTP] =203ms
13
Heterogeneous: Completion Time● Heterogeneous swarms: ( 25% uTP ) XOR ( 75% uTP ) peers
● Fewer TCP traffic, lower delay (by 50%) and lower completion time (by 10%)● No difference in the completion time of uTP vs TCP peers
E[25%uTP]=1420sE[75%uTP] =1323s
14
The complete picture● Completion Time as a function of Byte-wise TCP traffic share in many scenarios
● Completion time increases linearly with TCP byte share● Linear model applies :
− to swarms with mixed TCP and uTP peers− “all uTP” case does not follow the linear model (low priority in data plane ?)
● Homogeneous Default (31) settings leads to lower Completion times (small but non null amount of TCP traffic)
Default (31) : attempt & accept both TCP and uTP
15
Conclusions
● Homogeneous− TCP and uTP have similar efficiency on the data plane− but very different buffer occupancy (hence delay)− timeliness in spreading the signalization info (control plane) yields to
lower completion time
● Heterogeneous− same consideration above applies− no difference in completion time of uTP vs TCP peers
● Keeping the queue short increases signaling efficiency !
16
Future work (I) ● Parameter net.utp_target_delay can be changed in Windows client GUI
● In this work, TARGET is homogeneous and fixed to 100ms● Heterogeneous settings of TARGET among peers ?
TARGET=25ms TARGET=100ms
17
Future work (2)
● Gather more information on experiments− Refine methodology (chunk level log)− uTP Wireshark parser
● uTP can help to mitigate Bufferbloat
− what about local AQM solutions− and interactions between uTP and AQM
18
Fin
References● [PAM] D. Rossi, C. Testa and S. Valenti, Yes, we LEDBAT: Playing with the new BitTorrent congestion control algorithm. In Passive and
Active Measurement (PAM'10), Zurich, Switzerland, April 2010.
● [TR] G. Carofiglio, L. Muscariello, D. Rossi, C. Testa, S. Valenti, Rethinking low extra delay backtround transport protocols. Tech.Rep. 2010.
● [ICCCN] D. Rossi, C. Testa, S. Valenti and L. Muscariello, LEDBAT: the new BitTorrent congestion control protocol. In International Conference on Computer Communication Networks (ICCCN'10), Zurich, Switzerland, August 2-5 2010.
● [LCN] G. Carofiglio, L. Muscariello, D. Rossi and C. Testa, A hands-on Assessment of Transport Protocols with Lower than Best Effort Priority. In 35th IEEE Conference on Local Computer Networks (LCN'10), Denver, CO, USA, October 10-14 2010.
● [P2P] C. Testa and D. Rossi, The impact of uTP on BitTorrent completion time. In IEEE Peer to Peer (P2P'11), Kyoto, Japan, September 2011.
19
The idea behind uTP@RX:
remote_timestamp = data_packet.timestamp
ack.delay = local_timestamp() - remote_timestamp
ack.send()
@TX:
current_delay = ack.delay
base_delay = min(delay, base_delay)
queuing_delay = current_delay - base_delay()
off_target = (TARGET - queuing_delay)/TARGET
cwnd += GAIN * off_target * bytes_newly_acked * MSS / cwnd
One-way delay
estimation
Feedback mechanism
Control mechanism (linear controller)
Note:
● lots of other details in the draft (e.g., route change, sample filtering, etc.) but not in today talk
● TARGET = 25ms (“magic number” fixed in draft v1), = 100ms (in BEP29), <= 100ms (from draft > v5)
20
Homogeneous: Default settings
● Differences with all uTP/TCP:− intermediate Buffer
occupancy− lowest Completion Time
● Default settings has TCP Byte share of about 20%, which leads to the better performances
Recommended