Download presentation
Presentation is loading. Please wait.
Published byIne ter Linde Modified over 5 years ago
1
Robust Counting Via Counter Braids: An Error-Resilient Network Measurement Architecture
Author: Yi Lu, Balaji Prabhakar Publisher: INFOCOM’09 Presenter: Yun-Yan Chang Date: 2011/11/2
2
Outline Previous work Space-efficient approximate flow label collection Error-resilient message passing decoder Evaluation
3
Previous work Counter braids : 2 : 24 : 3 : 2 : 1 : 3
4
Previous work Standard Bloom Filter (SBF)
A m-bit vector B Use k hash functions h1(.),…, hk(.) Insert: Set the h1(x)th, …, h1(x)th bit of bit-vector to “1”. Bloom filter with Variable-length Signature (VBF) Insert: set t (k) bits to “1”. Query: a flow is valid if at least q (k) bits are set to “1” in bit-vecotr B. Delete: unset kd bits of a flow’s signature (d < q)
5
Space-efficient approximate flow label collection
Problem Collect the flow labels for each measurement epoch. Memory resource constrains of recording flow labels. Approximate solution Identify flows by VLSC (variable-length signature counting) Bloom filters in SRAM. Store the flow labels in off-chip DRAM.
6
Space-efficient approximate flow label collection
Flowchart All collected flow labels are stored in DRAM. BF1: identify TCP flows. BF2: identify non-TCP flows. Three paths to DRAM Corresponds to a TCP “SYN” packet, recorded in DRAM directly and insert to BF1. Corresponds to TCP packets that is not “SYN”. Corresponds to non-TCP packets. Fig. 4. Flow label collection using VLSC Bloom filters
7
Space-efficient approximate flow label collection
Problem when decoding: Missing flow labels Result from packets of a flow being false positives in BF1. Cause a problem when decoding. Fig. 3. Layer-1 decoding graph with missing flow labels. The top figure shows the actual flows and corresponding counts, with dashed lines indicating contribution from the missing flow. The bottom figure shows the actual decoding graph and noise in counters due to the missing flow.
8
Error-resilient message passing decoder
To decode when some flow labels are missing. Algorithm
9
Iteration 3 Iteration 2 Iteration 1 Initialize
flow node i counter node a μ11(3) = max{c1-0,1} = 1 μ21(3) = max{c2- ν22(2), 1} = 1 μ22(3) = max{c2- ν12(2), 1} = 32 μ31(3) = max{c3- ν23(2), 1} = 3 μ32(3) = max{c3- ν13(2), 1} = 34 μ42(3) = max{c4- 0, 1} = 32 μ11(1) = max{c1-0,1} = 1 μ21(1) = max{c2- ν22(0), 1} = 33 μ22(1) = max{c2- ν12(0), 1} = 33 μ31(1) = max{c3- ν23(0), 1} = 35 μ32(1) = max{c3- ν13(0), 1} = 35 μ42(1) = max{c4- 0, 1} = 32 μ11(2) = max{c1-0,1} = 1 μ21(2) = max{c2- ν22(1), 1} = 1 μ22(2) = max{c2- ν12(1), 1} = 32 μ31(2) = max{c3- ν23(1), 1} = 3 μ32(2) = max{c3- ν13(1), 1} = 34 μ42(2) = max{c4- 0, 1} = 32 Iteration 3 Iteration 2 Iteration 1 Initialize μ11 μ21 μ22 μ31 μ32 μ42 c 1 = 1 c 2 = 33 c 3 = 35 c 4 = 32 ν11 ν12 ν13 ν22 ν23 ν24 v11 (2) = min{μ21(2), μ31(2)} = 1 v12(2) = min {μ11(2), μ31(2)} = 1 v13(2) = min {μ11(2), μ21(2)} = 1 v22 (2) = min {μ32(2), μ42(2)} = 32 v23 (2) = min {μ22(2), μ42(2)} = 32 v24 (2) = min {μ22(2), μ32(2)} = 32 v11 (1) = min{μ21(1), μ31(1)} = 33 v12(1) = min {μ11(1), μ31(1)} = 1 v13(1) = min {μ11(1), μ21(1)} = 1 v22 (1) = min {μ32(1), μ42(1)} = 32 v23 (1) = min {μ22(1), μ42(1)} = 32 v24 (1) = min {μ22(1), μ32(1)} = 33
10
Iteration 2 Iteration 1 Iteration 3 Initialize
flow node i counter node a μ11(3) = max{c1-0,1} = 1 μ21(3) = max{c2- ν22(2), 1} = 1 μ22(3) = max{c2- ν12(2), 1} = 30 μ31(3) = max{c3- ν23(2), 1} = 3 μ32(3) = max{c3- ν13(2), 1} = 34 μ42(3) = max{c4- 0, 1} = 32 μ11(2) = max{c1-0,1} = 1 μ21(2) = max{c2- ν22(1), 1} = 1 μ22(2) = max{c2- ν12(1), 1} = 32 μ31(2) = max{c3- ν23(1), 1} = 3 μ32(2) = max{c3- ν13(1), 1} = 34 μ42(2) = max{c4- 0, 1} = 32 μ11(1) = max{c1-0,1} = 1 μ21(1) = max{c2- ν22(0), 1} = 33 μ22(1) = max{c2- ν12(0), 1} = 33 μ31(1) = max{c3- ν23(0), 1} = 35 μ32(1) = max{c3- ν13(0), 1} = 35 μ42(1) = max{c4- 0, 1} = 32 Iteration 2 Iteration 1 Iteration 3 Initialize μ11 μ21 μ22 μ31 μ32 μ42 c 1 = 1 c 2 = 33 c 3 = 35 c 4 = 32 ν11 ν12 ν13 ν22 ν23 ν24 v11 (1) = min{μ21(1), μ31(1)} = 33 v12(1) = min {μ11(1), μ31(1)} = 1 v13(1) = min {μ11(1), μ21(1)} = 1 v22 (1) = min {μ32(1), μ42(1)} = 32 v23 (1) = min {μ22(1), μ42(1)} = 32 v24 (1) = min {μ22(1), μ32(1)} = 33 v11 (2) = max{μ21(2), μ31(2)} = 3 v12(2) = max {μ11(2), μ31(2)} = 3 v13(2) = max {μ11(2), μ21(2)} = 1 v22 (2) = max {μ32(2), μ42(2)} = 34 v23 (2) = max {μ22(2), μ42(2)} = 32 v24 (2) = max {μ22(2), μ32(2)} = 34
11
Evaluation Space-accuracy tradeoff of VLSC Bloom filters Trace file:
5 million packet CAIDA trace (collected at 9:10 am, Aug 14, 2002)
12
Perr: reconstruction Error
Em: average error magnitude Evaluation
13
Perr: reconstruction Error
Em: average error magnitude Evaluation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.