Introduction ------------ This is modified bloom filter, a technique for data temperature identification implementation in C. If you are reading this you probably already know about bloom filters and why you might use one. If not, the wikipedia article is a good intro: http://en.wikipedia.org/wiki/Bloom_filter Building -------- The Makefile assumes GNU Make, so run 'make' or 'gmake' as appropriate on your system. By default it builds an optimized 64 bit libbloom. See Makefile comments for other build options. The shared library will be in ./build/libbloom.so You may also compile and run some basic test simulteneously just by using command like "make test" We provide some sample main files to launch our framework in "testi.c" files We also provide some I/O workloads and python parser scripts for these workloads to construct proper input to our modified bloom filter as well as to analyze the results after data tempurature identification completes Sample Usage ------------ #include "bloom.h" struct bloom bloom; bloom_init(&bloom, 1000000, 0.01); bloom_add(&bloom, buffer, buflen); if (bloom_check(&bloom, buffer, buflen)) { printf("It may be there!\n"); } Documentation ------------- Read bloom.h for more detailed documentation on the public interfaces.
Meggie4/BloomStream
BloomStream: Designing Reusable Bloom Filters and Framework for Hot Data Identification and Stream Identification for Flash Based Systems
CBSD-2-Clause