Download presentation
Presentation is loading. Please wait.
Published bySandra Jemima Holt Modified over 9 years ago
1
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
2
2 Outline Introduction Mechanics of Critical Path Analysis Experiment Conclusions and Future Work
3
3 Introduction Motivation Identifying root causes of response time Critical Path Definition
4
4 Introduction(cont.) Motivation What are the root causes of delay in TCP transactions? Server Network Server/Network interaction
5
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 ClientServer router1 router3 router2
6
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
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
8 Critical Path for Unidirectional TCP Flow Packet Dependence Graph (PDG) Possible Nodes Possible Arcs
9
9 Packet Dependence Graph (PDG) Client 1 or more data packets ACK packet ClientServer D D D D D D D D D D A A A D A A DD DD System Time line Graph D D A A DD AAA D D DD D DD D D D Server D
10
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 ClientServer D D D D D D D D D D A A A D D D D D a b c d
11
11 Possible Node(cont.) ClientServer D D D D D D D D D D A A A D D D D D a b c d D A A DD DD A A DD AAA D D DD D DD D PDGTime line
12
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
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
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 GET 3. data transfer in response to GET (file size dependent) 4. connection tear-down (FIN, ACK, FIN, ACK)
15
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 ClientServerProfile Network delay Server delay Client delay
16
16 Critical Path Discovery and profile Algorithm Capture of packet traces Analysis of rounds Construction of critical path Profiling of the critical path
17
ClientServer 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 24821 ack 27741 Number Rounds Bytes Liberated 1:29201 2921:73002 7301:131403 13141:17520 4 17520:248205 24821:277406 27741:306607 ClientServer 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 Server Delay Client Delay Drop Delay
18
18 Limitations Details of the web transactions Example: DNS Delay in the browser Browser parse time
19
19 Experiment Experimental Setup Experimental Results
20
20 Experimental Setup Apache server on Linux or FreeBSD Server load controlled by SURGE Web load generator: high or low load One PC collect TCP packet traces One PC measures network conditions Boston University Harvard University Denver University (Server) (client2) (client1)
21
21 Experimental Results Effect of File Size Effect of Network Load
22
22 CPA results for 1KB(small) file 0 0.2 0.4 0.6 0.8 1 Seconds LN, LSLN, HSHN, LSHN, HS Net Variance Propagation Server Time Out Client Fast Retrans Latency is dominated by server load
23
23 CP time line diagrams for 1KB file Low Server Load High Server Load Server delay
24
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, LSLN, HSHN, LSHN, HS Net Variance Propagation Server Time Out Client Fast Retrans Both server load and network effects are significant
25
25 CPA results for 500KB(large) file 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 Seconds LN, LSLN, HSHN, LSHN, 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, LSLN, HSHN, LSHN, HS Net Variance Propagation Server Time Out Client Fast Retrans Latency is dominated by network effects
26
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
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
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
29
29 Conclusions and Future Work(cont.) Future work Collect and analyze data from more client systems To consider the delay due to DNS Server/network integrated effects
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.