<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Linear Bloom Filters</title>
	<atom:link href="http://comonad.com/reader/2008/linear-bloom-filters/feed/" rel="self" type="application/rss+xml" />
	<link>http://comonad.com/reader/2008/linear-bloom-filters/</link>
	<description>types, (co)monads, substructural logic</description>
	<lastBuildDate>Sun, 24 Jan 2010 18:33:30 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Darrell Teague</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-7126</link>
		<dc:creator>Darrell Teague</dc:creator>
		<pubDate>Wed, 08 Apr 2009 00:41:27 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-7126</guid>
		<description>Ed,
I know you and some of your readers love Haskell so I thought I would share this funny (but real) programming language I just read about:

http://compsoc.dur.ac.uk/whitespace/index.php</description>
		<content:encoded><![CDATA[<p>Ed,<br />
I know you and some of your readers love Haskell so I thought I would share this funny (but real) programming language I just read about:</p>
<p><a href="http://compsoc.dur.ac.uk/whitespace/index.php" rel="nofollow">http://compsoc.dur.ac.uk/whitespace/index.php</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward Kmett</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-6604</link>
		<dc:creator>Edward Kmett</dc:creator>
		<pubDate>Tue, 10 Mar 2009 21:43:50 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-6604</guid>
		<description>Yes.

If you have p bits of hash function available to you, and the top tier consumes q of them, then at one extreme q = 0, and you have all p bits available for use within the one bucket, cutting p up into k different hash functions yields the traditional Bloom filter. 

In the other extreme you have q = p, and you have the efficacy of a bloom table/bit-hash with one hash function. 

In the middle the false positive rate lies somewhere in between, but you only have to deal with data points within a single bucket to answer the query, so you can typically save a factor of k in paging or cache-thrashing costs.</description>
		<content:encoded><![CDATA[<p>Yes.</p>
<p>If you have p bits of hash function available to you, and the top tier consumes q of them, then at one extreme q = 0, and you have all p bits available for use within the one bucket, cutting p up into k different hash functions yields the traditional Bloom filter. </p>
<p>In the other extreme you have q = p, and you have the efficacy of a bloom table/bit-hash with one hash function. </p>
<p>In the middle the false positive rate lies somewhere in between, but you only have to deal with data points within a single bucket to answer the query, so you can typically save a factor of k in paging or cache-thrashing costs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-6577</link>
		<dc:creator>Christian</dc:creator>
		<pubDate>Mon, 09 Mar 2009 11:07:58 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-6577</guid>
		<description>Thanks, Edward. If I get this right, the larger the single buckets, the closer the two-tier variant performs to the standard variant (in sense of the false-positive rate for a total length of m)?</description>
		<content:encoded><![CDATA[<p>Thanks, Edward. If I get this right, the larger the single buckets, the closer the two-tier variant performs to the standard variant (in sense of the false-positive rate for a total length of m)?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward Kmett</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-6569</link>
		<dc:creator>Edward Kmett</dc:creator>
		<pubDate>Sun, 08 Mar 2009 23:00:19 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-6569</guid>
		<description>Christian you might want to check out:

http://algo2.iti.uni-karlsruhe.de/singler/publications/cacheefficientbloomfilters-wea2007.pdf

Although they concern themselves with clustering within a single cache line, the idea of clustering within a page follows similarly.

IIRC they take up like ~32% extra space to get the same precision, but they use VERY small buckets of the same size as a cache line. So that should give you an upper bound for space comparison that you can back into a false positive rate comparison.</description>
		<content:encoded><![CDATA[<p>Christian you might want to check out:</p>
<p><a href="http://algo2.iti.uni-karlsruhe.de/singler/publications/cacheefficientbloomfilters-wea2007.pdf" rel="nofollow">http://algo2.iti.uni-karlsruhe.de/singler/publications/cacheefficientbloomfilters-wea2007.pdf</a></p>
<p>Although they concern themselves with clustering within a single cache line, the idea of clustering within a page follows similarly.</p>
<p>IIRC they take up like ~32% extra space to get the same precision, but they use VERY small buckets of the same size as a cache line. So that should give you an upper bound for space comparison that you can back into a false positive rate comparison.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-6564</link>
		<dc:creator>Christian</dc:creator>
		<pubDate>Sun, 08 Mar 2009 17:52:39 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-6564</guid>
		<description>Edward, are you aware of any specific paper discussing theoretical properties of the two-tier Bloom filter architecture? I am specifically interested in a comparison of false-positive rates of two-tier filters and standard filters.</description>
		<content:encoded><![CDATA[<p>Edward, are you aware of any specific paper discussing theoretical properties of the two-tier Bloom filter architecture? I am specifically interested in a comparison of false-positive rates of two-tier filters and standard filters.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Darrell Teague</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-2378</link>
		<dc:creator>Darrell Teague</dc:creator>
		<pubDate>Tue, 05 Aug 2008 19:02:05 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-2378</guid>
		<description>Your article was well-written and is very interesting. I was really geeking out on it and I am not even a mathematician. I think the article would have made my ex-girlfriend hot.

Anyway, all jokes aside, I am surprised to find Bloom Filter usage very sparse within the general software industry (I am a consultant-of-one running my own company but have large clients in the Fortune 100, start-ups, etc).

The case you presented here for being able to efficiently serialize the filter has notable use in web-application farm environments where sessions and other state table information must be migrated between servers (depending on session management strategy employed). Indeed one challenge I am considering is somehow managing some Bloom Filter construct across a RAIN architecture without sacrificing the small memory footprint and performance advantages that Blooms provide.

Thanks again.</description>
		<content:encoded><![CDATA[<p>Your article was well-written and is very interesting. I was really geeking out on it and I am not even a mathematician. I think the article would have made my ex-girlfriend hot.</p>
<p>Anyway, all jokes aside, I am surprised to find Bloom Filter usage very sparse within the general software industry (I am a consultant-of-one running my own company but have large clients in the Fortune 100, start-ups, etc).</p>
<p>The case you presented here for being able to efficiently serialize the filter has notable use in web-application farm environments where sessions and other state table information must be migrated between servers (depending on session management strategy employed). Indeed one challenge I am considering is somehow managing some Bloom Filter construct across a RAIN architecture without sacrificing the small memory footprint and performance advantages that Blooms provide.</p>
<p>Thanks again.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: links for 2008-06-06</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-1618</link>
		<dc:creator>links for 2008-06-06</dc:creator>
		<pubDate>Fri, 06 Jun 2008 01:28:19 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-1618</guid>
		<description>[...] The Comonad.Reader » Linear Bloom Filters (tags: algorithm algorithms article data math research programming) [...]</description>
		<content:encoded><![CDATA[<p>[...] The Comonad.Reader » Linear Bloom Filters (tags: algorithm algorithms article data math research programming) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward Kmett</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-1607</link>
		<dc:creator>Edward Kmett</dc:creator>
		<pubDate>Thu, 05 Jun 2008 03:30:51 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-1607</guid>
		<description>Hah! Sorry Mo.

Unfortunately nothing I do these days makes for great screenshots. Maybe I should go back to voxels and stabbing line problems. ;)

I suppose you could Bloom a scene&#039;s PVS or something, but its not all that useful for its primary purpose because then you wouldn&#039;t be able to extract the member cells. Hrmm. That said, I guess it could be used for a quick, &quot;is this model that overlaps these cells probably visible?&quot; tester.

I almost referred to the hierarchical representation as a kind of Haar wavelet encoding, but I figured that would cause the last person in the audience to tune me out.

P.S. The alpaca on your page still refers to  blabberize as &#039;the technology of 2007&#039; ;)</description>
		<content:encoded><![CDATA[<p>Hah! Sorry Mo.</p>
<p>Unfortunately nothing I do these days makes for great screenshots. Maybe I should go back to voxels and stabbing line problems. ;)</p>
<p>I suppose you could Bloom a scene&#8217;s PVS or something, but its not all that useful for its primary purpose because then you wouldn&#8217;t be able to extract the member cells. Hrmm. That said, I guess it could be used for a quick, &#8220;is this model that overlaps these cells probably visible?&#8221; tester.</p>
<p>I almost referred to the hierarchical representation as a kind of Haar wavelet encoding, but I figured that would cause the last person in the audience to tune me out.</p>
<p>P.S. The alpaca on your page still refers to  blabberize as &#8216;the technology of 2007&#8242; ;)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mo Kakwan</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-1604</link>
		<dc:creator>Mo Kakwan</dc:creator>
		<pubDate>Thu, 05 Jun 2008 02:28:19 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-1604</guid>
		<description>With all that talk of bloom filters and even a few mentions of mipmaps I thought you would have thrown in a few screenshots. Ha.</description>
		<content:encoded><![CDATA[<p>With all that talk of bloom filters and even a few mentions of mipmaps I thought you would have thrown in a few screenshots. Ha.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Edward Kmett</title>
		<link>http://comonad.com/reader/2008/linear-bloom-filters/comment-page-1/#comment-1602</link>
		<dc:creator>Edward Kmett</dc:creator>
		<pubDate>Wed, 04 Jun 2008 07:01:19 +0000</pubDate>
		<guid isPermaLink="false">http://comonad.com/reader/2008/linear-bloom-filters/#comment-1602</guid>
		<description>Bah. You don&#039;t count. You already have access to the original library. =)</description>
		<content:encoded><![CDATA[<p>Bah. You don&#8217;t count. You already have access to the original library. =)</p>
]]></content:encoded>
	</item>
</channel>
</rss>
