Download presentation

Presentation is loading. Please wait.

Published byLyric Pittard Modified about 1 year ago

1
Estimating TCP Latency Approximately with Passive Measurements Sriharsha Gangam, Jaideep Chandrashekar, Ítalo Cunha, Jim Kurose

2
Motivation: Network Troubleshooting Home network or access link? o WiFi signal or access link? ISP, enterprise and content provider networks o Within the network or outside? 2 ? ? ? Latency and network performance problems? Where? Why?

3
Passive Measurement in the Middle Decompose path latency of TCP flows o Latency: Important interactive web-applications o Other approaches: active probing, NetFlow Challenges o Constrained devices and high data rates 3 Challenge: Constrained Resources Passive measurement device (gateway, router) A B

4
TCP Latency 4 Existing methods: Emulate TCP state for each flow Accurate estimates but expensive SourceDestination Time T S1 T M1 T M2 T S2 T D1 T D2 RTT = T M2 – T M1 S S 0, 99 A A 100

5
TCP Latency 5 Scaling challenges o Large packet and flow arrivals o Constrained devices (limited memory/CPU) ALE – Approximate Latency Estimator SourceDestination Time Large TCP state Expensive lookup

6
Design Space 6 Accuracy Overhead Ideal solution ALE Goals: Configurable tradeoff Existing solutions e.g., tcptrace Expensive for constrained devices

7
ALE Overview 7 Eliminate packet timestamps o Group into time intervals with granularity (w) Store expected ACK o SEG: 0-99, ACK: 100 Use probabilistic set membership data structure o Counting Bloom Filters SourceDestination Time ΔT = w S S 0, 99 A A 100

8
Sliding window of buckets (time intervals) o Buckets contain a counting bloom filter (CBF) ALE Overview 8 CBF T ALE W w ww CBF S S 0, 99 A A 100 S S 0, 99 hash(FlowId, 99+1) i i CBF A A 100 i i RTT = Δ + w + w/2 hash(inv(FlowId), 100) Current Bucket Lookup i i i i i i Match w w/2Δ Missed Latencies Max Error: w/2

9
Controlling Error with ALE Parameters 9 Decrease w: Higher Accuracy Increase W: Higher Coverage ALE-U (uniform) W w Number of buckets = W/w

10
ALE-Exponential (ALE-E) Process large and small latency flows simultaneously Absolute error is proportional to the latency Larger buckets shift slowly 10 A A w 2w 4w B B C C D D E E BA DC F F DCBA G G Counting Bloom Filter (CBF) Merge

11
Error Sources Bloom filters are probabilistic structures o False positives and negatives Artifacts from TCP Retransmitted packets and Reordered packets o Excess (to tcptrace) erroneous RTT samples ACK numbers not on SEQ boundaries, Cumulative ACKs 11

12
Evaluation Methodology 2 x Tier 1 backbone link traces (60s each) from CAIDA o Flows: 2,423,461, Packets: 54,089,453 o Bi-directional Flows: 93,791, Packets: 5,060,357 Ground truth/baseline comparison: tcptrace o Emulates TCP state machine Latencies ALE and tcptrace o Packet and flow level Overhead of ALE and tcptrace o Memory and compute 12

13
Latency Distribution ms120 ms 300 ms 500 ms Majority of the latencies

14
Accuracy: RTT Samples Range 0-60 ms Box plot of RTT differences More memory => Closer to tcptrace 14 Exact match with tcptrace Increasing overhead (smaller ‘w’)

15
Accuracy: RTT Samples 15 Exact match with tcptrace Increasing overhead ALE-E(12) outperforms ALE-U(24) for small latencies

16
Accuracy: Flow Statistics 16 Many applications use aggregated flow statics Small w (more buckets) o Median flow latencies approach tcptrace Exact match with tcptrace CDF

17
Accuracy: Flow Statistics 17 Small w: Standard deviation of flow latencies approach tcptrace Exact match with tcptrace

18
Compute and Memory Overhead Sample flows uniformly at random at rates 0.1, 0.2, o 5 pcap sub-traces per rate o Higher sampling rate (data rate) ⇒ More state for tcptrace GNU Linux taskstats API o Compute time and memory usage 18

19
Compute Time 19 ALE scales with increasing data rates

20
Memory Overhead TCPTRACEALE-U(96) 20 RSS memory: ≈64 MB (0.1) to ≈460 MB (0.7) VSS memory: ≈74 MB (0.1) to ≈468 MB (0.7) RSS memory: 2.0 MB for all Sampling rates VSS memory: 9.8 MB for all sampling rates ALE uses a fixed size data structure

21
Conclusions Current TCP measurements emulate state o Expensive: high data rates, constrained devices ALE provides low overhead data structure o Sliding window of CBF buckets Improvements over compute and memory with tcptrace sacrificing small accuracy o Tunable parameters Simple hash functions and counters o Hardware Implementation 21

22
Thank You 22

23
ALE Compute and Memory Bounds Insertion: O(h) time o CBF with h hash functions Matching ACK number: O(hn) time o ‘n’ buckets Shifting buckets: O(1) time o Linked list of buckets ALE-E: O(C) time to merge CBFs o ‘C’ counters in the CBF Memory usage: n × C × d bits o ‘d‘ bit CBF counters 23

24
ALE Error Bounds ALE-U: Average case error w/4 ALE-U: Worst case error w/2 ALE-E: Average case error (3w/16)2 i ALE-E: Worst case error (2 i−1 w) o ACK has a match in bucket i 24

25
ALE Parameters ‘w’ on accuracy requirements ‘W’ estimate of the maximum latencies expected CBFs with h = 4 hash functions C on traffic rate, w, false positive rate and h E.g., For w = 20 ms, h = 4, and m = R × w, the constraint for optimal h (h = (C/m) ln 2) yields C = counters 25

26
Compute Time 26 ALE scales with increasing data rates 10 min trace

27
Accuracy: RTT Samples 27

28
Memory Overhead 28

29
Eliminate packet timestamps o Time quantization: Use fixed number of intervals Store expected acknowledgement number ALE Overview 29 S S 0, 99 S S 100, 199 S S 200, 299 S S 300, 399 S S 400, 499 S S 500, 599 S S 600, 699 S S 700, 799 S S 800, 899 T1T1 T2T2 T3T3 S S 100 S S 200 S S 300 S S 400 S S 500 S S 600 S S 700 S S 800 S S 900 T1T1 T 2 = T 1 + w T 3 = T 1 + 2w

30
Motivation: Network Troubleshooting 30 Latency Sensitive Applications Latency and network performance problems? Where? Why?

Similar presentations

© 2016 SlidePlayer.com Inc.

All rights reserved.

Ads by Google