Download presentation
Presentation is loading. Please wait.
1
By: Ran Ben Basat, Technion, Israel
Pay for a Sliding Bloom Filter and Get Counting, Distinct Elements, and Entropy for Free By: Ran Ben Basat, Technion, Israel Joint work with Eran Assaf, Gil Einziger, and Roy Friedman IEEE INFOCOM2018 4/15/2019
2
Computing network statistics. Monitoring a large number of flows.
Motivation Computing network statistics. Load balancing, Fairness, Anomaly detection. Monitoring a large number of flows. Allowing real-time queries. 4/15/2019
3
Did appear in the window?
Sliding Bloom Filter Did appear in the window? Recent data is often the most important! No false negatives: ππ« yes πβπΎ =π Few false positives: ππ« yes πβπΎ β€π Traditionally β must fit in the SRAM 1 5 3 7 8 4 2 Year 2012 2014 2016 SRAM (MB) 10-20 30-60 50-100 (SilkRoad, SIGCOMM 2017) 4/15/2019
4
Lower Bounds for Sliding Bloom Filters
Any sliding Bloom filter must π
=πlog π/π bits (Naor and Yogev, ISAAC 2013) For convenience we assume that π= π π 1 . Alternatively, log π/π = log π (1+π 1 ) An algorithm is called succinct if it uses π
1+π 1 space.
5
Sliding Window Bloom Filter (Liu et al., INFOCOM 2013)
Use a Cuckoo Hash Table. Current time: π π π π π Table 1 Thm: if the load factor is β€ π.π then with high probability all operations take constant time Table 2 FP Timestamp FP Timestamp πππ π π π π π π Space: ππΎπ₯π¨π π π+π¨ π =π
π+π π bits π π π π π π π π π π π π π π Has appeared in the last 3 packets?
6
Per-flow frequency estimation
How many times does appear in the window? A generalization of a Sliding Bloom Filter ππβAdditive approximation using π π β1 log π bits and with constant time operations (Ben Basat et al., INFOCOM 2016)
7
Sliding Window Approximate Measurement Protocol (SWAMP)
Current Item Pointer (curr) Cyclic Fingerprint Buffer (CFB)
8
Multiset representations
Consider representing a set of π items from an π- sized universe. replace( , ) Universe: multiplicity( ) Set: There exist succinct (use π
(π,π) 1+π 1 bits) representations with π(1) time operations. (Einziger and Friedman, ICDCN 2016), (Pandey et al., SIGMOD 2017) 4/15/2019
9
Sliding Window Approximate Measurement Protocol (SWAMP)
Current Item Pointer (curr) Cyclic Fingerprint Buffer (CFB) replace( , ) Fingerprint Frequency 2 1 4 (+1) (-1) Aggregates Table
10
The results Algorithm Space Update Time Counts TBF π πlogπlog π β1
SWBF 2+π 1 π log 2 π π(1) SWAMP 1+π 1 π log 2 π
11
Is SWAMP a good counting algorithm?
We compared to the state of the art WCSS algorithm (Ben Basat et al., INFOCOM 2016)
12
Counting distinct elements over sliding windows
How many distinct flows appear in the window? (1+π)βmultiplicative approximation using π π β2 log π log log π bits and with constant update time (Fusy and Giroire, ANALCO 2007), (Chabchoub and Hebrail, ICDM 2010),
13
Counting distinct elements with SWAMP
Current Item Pointer (curr) Cyclic Fingerprint Buffer (CFB) Distinct Fingerprints: π=6 (-1) Requires just π₯π¨π π bits! Fingerprint Frequency 2 1 4 Aggregates Table
14
Counting distinct elements with SWAMP
Guarantees: Pr π·β₯π =1 Pr π·βπβ₯ππ·log πΏ β1 β€πΏ (never overestimate, likely to not underestimate by much) (approximate) Maximum Likelihood Estimate: Return ln 1 β π 2 πΏ ln 1 β πΏ
15
Counting distinct elements with SWAMP
Instead of paying π π βπ π₯π¨π πΎ bits using the existing algorithms, SWAMP required πΆ(πΎπππ(πΎ/π)) which is more efficient when π is small
16
Takeaways A succinct sliding bloom filter that can also count.
Beats the state of the art for: Sliding Bloom Filter Per-flow Frequency Estimation Counting Distinct Elements Computing Entropy (in the paper) 4/15/2019
17
Any Questions 4/15/2019
18
Distribution Entropy over Sliding Windows
What is the distribution entropy of the window? (1+π)βmultiplicative approximation using π π β2 log π bits and with π π β2 update time (Braverman et al., PODS 2009).
19
Computing Entropy with SWAMP
We can track π» β the entropy of the finger print distribution Guarantees: Pr π»β₯ π» =1 Pr π»β π» β₯π β€πΏ
20
Computing Entropy with SWAMP
Instead of paying π π βπ π₯π¨π πΎ bits using the existing algorithms, SWAMP required πΆ(πΎπππ(πΎ/π)) which is more efficient when π is small
21
Set Membership (Bloom Filter)
Did appear in the stream? How about ? Canβt allocate a bit for each potential flow! Traditionally β must fit in the SRAM 1 5 3 7 8 4 2 Year 2012 2014 2016 SRAM (MB) 10-20 30-60 50-100 (SilkRoad, SIGCOMM 2017) 4/15/2019
22
The Bloom Filter (Bloom, 1970)
Use a bit-array of size π and π hash functions β π :πβ 1,β¦,π No False Negatives! Few False Positives. Has appeared? 1 1 1 4/15/2019
23
The Timing Bloom Filter (Zhang and Guan, ICDCS 2008)
Use a timestamp-array of size π and π hash functions β π :πβ 1,β¦,π Current time: π π π π π π Space: πΆ πΎπ₯π¨π πΎπ₯π¨π π βπ Update/Query: πΆ π₯π¨π π βπ Has appeared in the last 3 packets? 2 4 3 5 2 1 2 1 3 1 2 4 3
24
Any Questions 4/15/2019
25
Any Questions 4/15/2019
26
Sliding Window Approximate Measurement Protocol (SWAMP)
Current Item Pointer (curr) Cyclic Fingerprint Buffer (CFB) β(π₯ π )=
27
1.0 0.8 0.6 0.4 0.2 0.0 Recall 1.0 0.8 0.6 0.4 0.2 0.0 10 8 10 7 10 6 10 5 10 4 10 3 10 2 10 Mean Square Error Precision Recall 1.0 0.8 0.6 0.4 0.2 0.0 Recall Number of Packets [x100K]
28
10 9 10 8 10 7 10 6 10 5 10 4 10 3 Mean Square Error 10 9 10 8 10 7 10 6 10 5 10 4 10 3 10 2 10 Mean Square Error 10 8 10 7 10 6 10 5 10 4 10 3 10 2 10 Mean Square Error
29
1.0 0.8 0.6 0.4 0.2 0.0 Recall Number of Packets [x100K] Number of Packets [x100K] Number of Videos [x100K]
30
1.0 0.8 0.6 0.4 0.2 0.0 1.0 0.8 0.6 0.4 0.2 0.0 1.0 0.8 0.6 0.4 0.2 0.0 Precision Precision Precision Recall Recall Recall
31
1.0 0.8 0.6 0.4 0.2 0.0 Recall 1.0 0.8 0.6 0.4 0.2 0.0 Recall 1.0 0.8 0.6 0.4 0.2 0.0 Recall
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.