critical path analysis of tcp transactions authors:paul barford (university of wisconsin-madison)...
TRANSCRIPT
Critical Path Analysis of TCP Transactions
Authors:Paul Barford (University of Wisconsin-Madison) Mark Crovella (University of Boston) Member, IEEE
Source:IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 9,NO. 3, JUNE 2001
Presented by Chin-Yi Tsai
4
Introduction(cont.)
Motivation What are the root causes of delay in
TCP transactions? Server Network Server/Network interaction
5
Introduction(cont.) Identify root causes of response time
Delays can occur in many points along end-to-end path simultaneously
Pinpointing where delays occur and which delays matter is difficult
Identify precisely the determiners of response time in TCP transaction
Client Server
router1
router3
router2
6
Introduction(cont.) Critical Path Definition
The longest path in the tree starting from the root A weighted chain of dependence relations running
from the connection’s first data packet to its last data packet sent
reducing the execution times of activities on the critical path will certainly reduce overall response time, while this is not necessarily true for activities off the critical path
Events on the critical path are the “right” ones for examining the sources of delay (rather than all events during the entire transfer)
7
Mechanics of Critical Path Analysis
Critical Path for a Unidirectional TCP Flow
Discovering the Critical Path for an HTTP Transaction
Critical Path Discovery and profile Algorithm
Limitations
8
Critical Path for Unidirectional TCP Flow
Packet Dependence Graph (PDG) Possible Nodes Possible Arcs
9
Packet Dependence Graph (PDG)
Client
1 or more data packets
ACK packet
Client Server
D
DD
DD
DD
DDD
A
AA
D
A
A
DD
D D
System Time line Graph
DD
A
A
D D
AA A
DD DDD
DD
DDD
Server
D
10
Possible Nodes Server side
a. arrival of an ACK packet b. departure of a data packet
Client side c. arrival of an data packet d. departure of an ACK packet
Client Server
D
DD
DD
DD
DDD
A
AA
DD
DDD
a
b
c
d
11
Possible Node(cont.)
Client Server
D
DD
DD
DD
DDD
A
AA
DD
DDD
a
b
c
d
D
A
A
DD
D D
A
A
D D
AA A
DD DDD
DDD
PDG Time line
12
Possible Arcs Type1
from the arrival of that data packet to the departure of that ACK packet (at client side)
Type2 its departure at one endpoint to its arrival at the other
endpoint (server-to-client, client-to-server) Type3
from the arrival of the ACK to the departure of each liberated data packets (at server side)
Type4 from the departure of the dropped packet to the departure
of the earliest subsequent retransmission (at server side)
13
Possible Arcs (cont.)
Client Server
type1
type2
type3
type4
D
D
D
D
A
A
A
drop
Network delay
Client delay
Server
delay
Packet loss
delay
14
Discovering the Critical Path for an HTTP Transaction
Four stages for HTTP/1.0 1. connection establishments (SYN, SYN-ACK, ACK) 2. packets sequence delivering HTTP GET3. data transfer in response to GET (file size
dependent)4. connection tear-down (FIN, ACK, FIN, ACK)
15
Discovering the Critical Path for an HTTP Transaction
FIN x
HTTP GET
Ack k+1
SYN k,Ack j+1
SYN j
Ack y+1
FIN y
Ack x+1
Connection Establishment
Application Protocol
Bulk Transfer
Connection Tear Down
Client
Server
ProfileNetwork delay
Network delay
Network delay
Network delay
Network delay
Network delay
Server delay
Server delay
Client delay
Client delay
16
Critical Path Discovery and profile Algorithm
Capture of packet traces Analysis of rounds Construction of critical path Profiling of the critical path
Client Server
Original Data Flow
1461:2921
5841:7301
11681:13141
drop 17521
17521:20441
20441:24821
16061:17521
24821:27741
27741:29201
ack 2921
ack 7301
ack 10221
ack 16061
ack 16061
ack 16061
ack 24821
ack 27741
Number
Rounds
Bytes Liberated
1:29201
2921:73002
7301:131403
13141:175204
17520:248205
24821:277406
27741:306607
Client Server
Critical Path
1461:2921
5841:7301
11681:13141
drop 17521
16061:17521
24821:27741
27741:29201
ack 2921
ack 7301
ack 10221
ack 24821
ack 27741
Profile
Network Delay
Network Delay
Network Delay
Network Delay
Network Delay
Network Delay
Network Delay
Network Delay
Network Delay
Network Delay
Network Delay
Server Delay
Server Delay
Server Delay
Client Delay
Client Delay
Drop Delay
20
Experimental SetupApache server on Linux or FreeBSDServer load controlled by SURGE Web load generator: high or low loadOne PC collect TCP packet tracesOne PC measures network conditions
Boston University
Harvard UniversityDenver University
(Server)
(client2)(client1)
22
CPA results for 1KB(small) file
0
0.2
0.4
0.6
0.8
1
Seconds
LN, LS LN, HS HN, LS HN, HS
Net Variance
Propagation
Server
Time Out
Client
Fast Retrans
Latency is dominated by server load
24
CPA results for 20KB(medium) file
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
Seconds
LN, LS LN, HS HN, LS HN, HS
Net Variance
Propagation
Server
Time Out
Client
Fast Retrans
Both server load and network effects are significant
25
CPA results for 500KB(large) file
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
Seconds
LN, LS LN, HS HN, LS HN, HS
Net Variance
Propagation
Server
Time Out
Client
Fast Retrans
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
Seconds
LN, LS LN, HS HN, LS HN, HS
Net Variance
Propagation
Server
Time Out
Client
Fast Retrans
Latency is dominated by network effects
26
Effect of File Size Small files:
high server load: server delays can dominate low server load: network delay can dominate
Medium files: high server load: propagation delay and
server delay are comparable low server load: network delay can dominate
Large files: network delay dominates overall transaction
delay regardless of server load
27
Effect of Network For small and medium files, propagation
delay is independent of network load or server load
For large files, propagation delay are higher under high network load. There are more round-trips in the critical path due to more coarse-grained timeouts.
Network queueing delay is less important than propagation delay.
28
Conclusions and Future Work Complex interactions between clients,
the network and servers Complex packet transactions can be
effectively understood using CPA CP profiling allowed precise assignment
of delays Latency for small files is dominated by
server load Latency for large files is dominated by
network effects