/BloomStream

BloomStream: Designing Reusable Bloom Filters and Framework for Hot Data Identification and Stream Identification for Flash Based Systems

Primary LanguageCBSD 2-Clause "Simplified" LicenseBSD-2-Clause

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.