Detecting Shared Congestion of Flows Via End- to-end Measurement Dan Rubenstein Jim Kurose Don Towsley Computer Networks Research Group
Client Point of congestion Motivation When flows share common point of congestion (POC), bandwidth can be “transferred” between flows w/o impacting other traffic Applications: WWW servers, multi-flow (multi-media) sessions, multi-sender multicast Can limit “transfer” to flows w/ identical e2e data paths [Balak’99] –ensures flows have common bottleneck –but limits applicability Server Point of congestion
Detecting Shared POCs Q: Can we identify whether two flows share the same Point of Congestion (POC)? Network Assumptions: –routers use FIFO forwarding –The two flows’ POCs are either all shared or all separate
Techniques for detecting shared POCs Requirement: flows’ senders or receivers are co-located Packet ordering through a potential SPOC same as that at the co-located end-system Good SPOC candidates S2S2 S1S1 R1R1 R2R2 S1S1 S2S2 R1R1 R2R2 co-located sendersco-located receivers
Simple Queueing Models of POCs for two flows FG Flow 1FG Flow 2 A Shared POC FG Flow 1FG Flow 2 Separate POCs BG Internet
Approach (High level) Idea: Packets passing through same POC close in time experience loss and delay correlations [Moon’98, Yajnik’99] Using either loss or delay statistics, compute two measures of correlation: –M c : cross-measure (correlation between flows) –M a : auto-measure (correlation within a flow) such that –if M c < M a then infer POCs are separate –else M c > M a and infer POCs are shared
The Correlation Statistics... Loss-Corr for co-located senders: M c = Pr(Lost( i ) | Lost( i-1 )) M a = Pr(Lost( i ) | Lost(prev( i ))) Loss-Corr for co-located receivers: in paper (complicated) Delay: Either co-located topology: M c = C(Delay( i ), Delay( i-1 )) M a = C(Delay( i ), Delay(prev( i )) C(X,Y) = E[XY] - E[X]E[Y] (E[X 2 ] - E 2 [X])(E[Y 2 ] - E 2 [Y]) i-4 i-2 i i-1 i-3 i+1 time Flow 1 pkts Flow 2 pkts
Intuition: Why the comparison works T arr (prev( i ), i )T arr ( i-1, i ) Recall: Pkts closer together exhibit higher correlation E[T arr ( i-1, i )] < E[T arr (prev( i ), i )] –On avg, i “more correlated” with i-1 than with prev( i ) –True for many distributions, e.g., deterministic, any poisson, poisson Rest of talk: assume poisson, poisson
Delay-Correlation technique: Assume POC(s) are M+G/G/1/ queues –Thm: Both co-located topologies: M c > M a iff flows share POCs Analytical Results As # samples Loss-Correlation technique: –Assume POC(s) are M+M/M/1/K queues: –Thm: Co-located senders, then M c > M a iff flows share POCs –co-located receivers: M c > M a iff flows share POCs shown via extensive tests using recursive solutions of M c and M a
Simulation Setup Co-located senders: Shared POCs 10ms30ms10ms 20ms 30ms 20ms 30ms S1S1 S2S2 R1R1 R2R2 1.5 Mbs 1000 Mbs TCP traffic on/off sources 20 pps
2nd Simulation Setup Co-located senders: Independent POCs TCP traffic on/off sources 10ms30ms10ms 20ms 30ms 20ms 30ms S1S1 S2S2 R1R1 R2R Mbs 1.5 Mbs 20pps TCP traffic on/off sources
Independent POCsShared POCs Simulation results Delay-corr an order of magnitude faster than loss-corr The Shared loss-corr dip: bias due to delayed M c samples Similar results on co-located receiver topology simulations
Internet Experiments Goal: Verify techniques using real Internet traces Experimental Setup: –Choose topologies where POC status (shared or unshared) –Use traceroute to assess shared links and approximate per-link delays UMass ACIRI UCL Separate POCs (?) 193 ms 264 ms 30 ms
Experimental Results Correct Inconclusive Wrong 3 Umass (MA) Columbia (NY) UCL (UK) ACIRI (Calif.) AT&T (Calif.) Sites
Summary E2E Shared-POC detecting techniques –Delay-based techniques more accurate, take less time (order of magnitude) Future Directions: –Experiment with non-Poisson foreground traffic –Focus on making techniques more practical (e.g., BU CS for recent TR)