Adapting the Bloom filter to multithreaded environments

Many classical algorithms like the Bloom filter were envisioned and created at a time when computers were the size of rooms and multithreading was not yet even explored theoretically. The landscape of modern mainstream computer systems today is heavily dominated with multi-core CPU-s but the effort to make full use of such systems is still ongoing. The Bloom filter has proven itself useful both as a core algorithm and as a supportive or optimizing addition to other data classification algorithms. This work explores adaptations to the basic Bloom filter algorithm for use in multithreaded applications on contemporary SMP systems and the consequences of such adaptations to its overall efficiency.

[1]  Haoyu Song,et al.  Fast hash table lookup using extended bloom filter: an aid to network processing , 2005, SIGCOMM '05.

[2]  Haoyu Song,et al.  Fast packet classification using bloom filters , 2006, 2006 Symposium on Architecture For Networking And Communications Systems.

[3]  Kang Li,et al.  Approximate caches for packet classification , 2004, IEEE INFOCOM 2004.

[4]  Antoon Bosselaers,et al.  An Attack on the Last Two Rounds of MD4 , 1991, CRYPTO.

[5]  Mario Zagar,et al.  A high performance memory database for web application caches , 2008, MELECON 2008 - The 14th IEEE Mediterranean Electrotechnical Conference.

[6]  P. Hebden,et al.  Bloom filters for data aggregation and discovery: a hierarchical clustering approach , 2005, 2005 International Conference on Intelligent Sensors, Sensor Networks and Information Processing.

[7]  Craig Partridge,et al.  When the CRC and TCP checksum disagree , 2000, SIGCOMM 2000.

[8]  Burton H. Bloom,et al.  Space/time trade-offs in hash coding with allowable errors , 1970, CACM.

[9]  David M. Brooks,et al.  The design of a bloom filter hardware accelerator for ultra low power systems , 2009, ISLPED.

[10]  Jim D. Garside,et al.  An adaptive bloom filter cache partitioning scheme for multicore architectures , 2008, 2008 International Conference on Embedded Computer Systems: Architectures, Modeling, and Simulation.

[11]  Li Fan,et al.  Summary cache: a scalable wide-area web cache sharing protocol , 2000, TNET.

[12]  Fang Hao,et al.  IPv6 Lookups using Distributed and Load Balanced Bloom Filters for 100Gbps Core Router Line Cards , 2009, IEEE INFOCOM 2009.

[13]  Andrei Broder,et al.  Network Applications of Bloom Filters: A Survey , 2004, Internet Math..

[14]  Craig Partridge,et al.  When the CRC and TCP checksum disagree , 2000, SIGCOMM.

[15]  John W. Lockwood,et al.  Deep packet inspection using parallel Bloom filters , 2003, 11th Symposium on High Performance Interconnects, 2003. Proceedings..

[16]  Michael Mitzenmacher,et al.  Compressed bloom filters , 2001, PODC '01.