1 / 13

Robust Counting Via Counter Braids: An Error-Resilient Network Measurement Architecture

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. Outline. Previous work Space-efficient approximate flow label collection

lara-simon
Download Presentation

Robust Counting Via Counter Braids: An Error-Resilient Network Measurement Architecture

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Robust Counting Via Counter Braids: AnError-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 : 2 : 24 : 3 : 1 : 2 : 3 Counter braids

  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 kd bits of a flow’s signature (d < q)

  5. Space-efficient approximate flow label collection • Problem • Collect the flowlabels 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 Fig. 4. Flow label collection using VLSC Bloom filters • 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-TCPpackets.

  7. Space-efficient approximate flow label collection 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. • Problem when decoding: Missing flow labels • Result from packets of a flow being false positives in BF1. • Cause a problem when decoding.

  8. Error-resilient message passing decoder To decode when some flow labels are missing. Algorithm

  9. counter node a flow node i μ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 1 Iteration 3 Iteration 2 Initialize μ11 ν11ν12 ν13 c 1 = 1 c 2 = 33 c 3 = 35 c 4 = 32 μ21μ22 ν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) = 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 μ31μ32 μ42

  10. counter node a flow node i μ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 μ11 Iteration 1 Iteration 3 Iteration 2 Initialize ν11ν12 ν13 μ21μ22 c 1 = 1 c 2 = 33 c 3 = 35 c 4 = 32 ν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 μ31μ32 μ42

  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

More Related