<?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: Kickfire&#8217;s FPGA-based technical strategy</title>
	<atom:link href="http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/</link>
	<description>Choices in data management and analysis</description>
	<lastBuildDate>Thu, 09 Feb 2012 16:57:09 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.3</generator>
	<item>
		<title>By: Kickfire capacity and pricing &#124; DBMS2 -- DataBase Management System Services</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-144354</link>
		<dc:creator>Kickfire capacity and pricing &#124; DBMS2 -- DataBase Management System Services</dc:creator>
		<pubDate>Sun, 18 Oct 2009 09:16:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-144354</guid>
		<description>[...] strategy, e.g. from Daniel Abadi, Merv Adrian and, kicking things off &#8212; as it were &#8212; me. Weeks after a recent Kickfire product release, there&#8217;s finally a fairly accurate data sheet [...]</description>
		<content:encoded><![CDATA[<p>[...] strategy, e.g. from Daniel Abadi, Merv Adrian and, kicking things off &#8212; as it were &#8212; me. Weeks after a recent Kickfire product release, there&#8217;s finally a fairly accurate data sheet [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kickfire Disrupts DW Economics, Targets Mainstream ADBMS Opportunities &#171; Market Strategies for IT Suppliers</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-142671</link>
		<dc:creator>Kickfire Disrupts DW Economics, Targets Mainstream ADBMS Opportunities &#171; Market Strategies for IT Suppliers</dc:creator>
		<pubDate>Tue, 06 Oct 2009 20:24:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-142671</guid>
		<description>[...] architecture; you can read about it in Daniel&#8217;s blog and in a great discussion thread on Curt Monash&#8217;s blog post.   As a result of all this work, the system can keep intermediate data sets in the chip&#8217;s [...]</description>
		<content:encoded><![CDATA[<p>[...] architecture; you can read about it in Daniel&#8217;s blog and in a great discussion thread on Curt Monash&#8217;s blog post.   As a result of all this work, the system can keep intermediate data sets in the chip&#8217;s [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Bain</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-138267</link>
		<dc:creator>Tony Bain</dc:creator>
		<pubDate>Wed, 02 Sep 2009 02:46:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-138267</guid>
		<description>I agree a Kickfire/XtremeData comparison doesn’t make too much sense given the different product focus.  I will be more interested in a Kickfire/VectorWise comparison as these both seem to have similar target (but I guess we are 12 months away from that).  One could assume that an FPGA approach will outperform but the price/performance gap will be interesting.

Regardless of FPGA/non-FPGA strategies, a cheap “plug and play” appliance for mid-range MySQL data marts still seems like a pretty good idea to me.</description>
		<content:encoded><![CDATA[<p>I agree a Kickfire/XtremeData comparison doesn’t make too much sense given the different product focus.  I will be more interested in a Kickfire/VectorWise comparison as these both seem to have similar target (but I guess we are 12 months away from that).  One could assume that an FPGA approach will outperform but the price/performance gap will be interesting.</p>
<p>Regardless of FPGA/non-FPGA strategies, a cheap “plug and play” appliance for mid-range MySQL data marts still seems like a pretty good idea to me.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geno Valente</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-136878</link>
		<dc:creator>Geno Valente</dc:creator>
		<pubDate>Fri, 28 Aug 2009 18:59:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-136878</guid>
		<description>You are correct about the QDR size, but there are 4 of them (vs just one) - each with separate addresses, in addition to the two controllers to the Mobo DIMMS.  

However, I&#039;m sure under the hood the data flow and execution models are pretty different.  We&#039;ve tried to optimize for large data problems and MPP, to allow the system to be data model agnostic. (Query time on data with HASH  =  Query Time on same data round-robin). I&#039;ll let KF comment, but I&#039;m positive it is not the same &quot;goal&quot;.  

The In-Socket concept allows us to mix/match as we need to.  If we felt we needed more FPGA and/or more memory for something in the future, we&#039;d just move the HP-DL785 for example. For now, we don&#039;t need too. 

If/when we publish our benchmark numbers publicly, it would not be for the 300GB size, but the largest sizes (3TB, 10TB, and 30TB sizes).  We haven&#039;t because our customers aren&#039;t asking for it. They want a rack(s) on site, with their data, running their queries. This is what we are doing with 100% effort.</description>
		<content:encoded><![CDATA[<p>You are correct about the QDR size, but there are 4 of them (vs just one) &#8211; each with separate addresses, in addition to the two controllers to the Mobo DIMMS.  </p>
<p>However, I&#8217;m sure under the hood the data flow and execution models are pretty different.  We&#8217;ve tried to optimize for large data problems and MPP, to allow the system to be data model agnostic. (Query time on data with HASH  =  Query Time on same data round-robin). I&#8217;ll let KF comment, but I&#8217;m positive it is not the same &#8220;goal&#8221;.  </p>
<p>The In-Socket concept allows us to mix/match as we need to.  If we felt we needed more FPGA and/or more memory for something in the future, we&#8217;d just move the HP-DL785 for example. For now, we don&#8217;t need too. </p>
<p>If/when we publish our benchmark numbers publicly, it would not be for the 300GB size, but the largest sizes (3TB, 10TB, and 30TB sizes).  We haven&#8217;t because our customers aren&#8217;t asking for it. They want a rack(s) on site, with their data, running their queries. This is what we are doing with 100% effort.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Wendel</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-136872</link>
		<dc:creator>Eric Wendel</dc:creator>
		<pubDate>Fri, 28 Aug 2009 18:23:45 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-136872</guid>
		<description>Hi Geno,

I don&#039;t have any association with Kickfire whatsoever so I can&#039;t address your patented vs. pending question, but Kickfire&#039;s Joseph Chamdani (for one) has a very long and impressive resume in the area, many patents issued, and worked for Sun in related areas as well. It&#039;s entirely possible that there are previously issued patents that Kickfire has licensed and can therefore legitimately use &quot;Patented&quot; even if none of the current applications have been issued as patents. 

Anyway, I think we should assume (especially here in a public forum) that the Kickfire team and their lawyers are smart enough to use the term &quot;patented&quot; appropriately.   

Now, the QDR memory on your device is (a) an SRAM cache, and (b) only 32Mbytes. The need for a custom memory interface I refer to applies to the system DRAM, which needs to be GBytes in size and support massive concurrency of &quot;in flight&quot; memory transfers (in addition to bandwidth) for Data Warehousing apps. 

If the Xtreme Data approach of using the server mobo memory-subsystem works as well as Kickfire&#039;s, then (by virtue of being a much cheaper way to go) it should deliver at even better cost/performance benefits in TPC-H...right?

Eric</description>
		<content:encoded><![CDATA[<p>Hi Geno,</p>
<p>I don&#8217;t have any association with Kickfire whatsoever so I can&#8217;t address your patented vs. pending question, but Kickfire&#8217;s Joseph Chamdani (for one) has a very long and impressive resume in the area, many patents issued, and worked for Sun in related areas as well. It&#8217;s entirely possible that there are previously issued patents that Kickfire has licensed and can therefore legitimately use &#8220;Patented&#8221; even if none of the current applications have been issued as patents. </p>
<p>Anyway, I think we should assume (especially here in a public forum) that the Kickfire team and their lawyers are smart enough to use the term &#8220;patented&#8221; appropriately.   </p>
<p>Now, the QDR memory on your device is (a) an SRAM cache, and (b) only 32Mbytes. The need for a custom memory interface I refer to applies to the system DRAM, which needs to be GBytes in size and support massive concurrency of &#8220;in flight&#8221; memory transfers (in addition to bandwidth) for Data Warehousing apps. </p>
<p>If the Xtreme Data approach of using the server mobo memory-subsystem works as well as Kickfire&#8217;s, then (by virtue of being a much cheaper way to go) it should deliver at even better cost/performance benefits in TPC-H&#8230;right?</p>
<p>Eric</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geno Valente</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-136779</link>
		<dc:creator>Geno Valente</dc:creator>
		<pubDate>Fri, 28 Aug 2009 03:11:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-136779</guid>
		<description>@ Eric
Two things:  Everything about dbX is dramatically different than KickFire. I&#039;ll start with - we scale to data sets that are 1000x bigger than KickFire, and finish with the In-Socket Accelerator has QDR memory on it, uses the largest of FPGAs which have massive internal memory bandwidth, and we use the local DDR DIMMS on the motherboard via two separate controllers - it gives us all the power we need to offer 1GB/Sec/Node regardless of data partitioning. I&#039;ll recommend this ChalkTalk for anyone that wants to know more: http://www.xtremedata.com/parallelism.php


Second, I&#039;d love to learn more about KickFire. I&#039;ve read the website but I wanted more. So I just did a search at the www.uspto.gov  (US patent and trademark office) and could only find a patent application, not an approval.  I&#039;m guessing I just missed it or their search engine isn&#039;t finding it. (Noting that calling something &quot;patented&quot; that is only &quot;patent pending&quot; is a highly illegal, so perhaps I just can&#039;t find it).  Can you post or email us the patent number?  That would probably clear some things up about what you are doing and help everyone reading understand the information? A tall request I know, but you have basically made this public via the filing for a patent in the first place.</description>
		<content:encoded><![CDATA[<p>@ Eric<br />
Two things:  Everything about dbX is dramatically different than KickFire. I&#8217;ll start with &#8211; we scale to data sets that are 1000x bigger than KickFire, and finish with the In-Socket Accelerator has QDR memory on it, uses the largest of FPGAs which have massive internal memory bandwidth, and we use the local DDR DIMMS on the motherboard via two separate controllers &#8211; it gives us all the power we need to offer 1GB/Sec/Node regardless of data partitioning. I&#8217;ll recommend this ChalkTalk for anyone that wants to know more: <a href="http://www.xtremedata.com/parallelism.php" rel="nofollow">http://www.xtremedata.com/parallelism.php</a></p>
<p>Second, I&#8217;d love to learn more about KickFire. I&#8217;ve read the website but I wanted more. So I just did a search at the <a href="http://www.uspto.gov" rel="nofollow">http://www.uspto.gov</a>  (US patent and trademark office) and could only find a patent application, not an approval.  I&#8217;m guessing I just missed it or their search engine isn&#8217;t finding it. (Noting that calling something &#8220;patented&#8221; that is only &#8220;patent pending&#8221; is a highly illegal, so perhaps I just can&#8217;t find it).  Can you post or email us the patent number?  That would probably clear some things up about what you are doing and help everyone reading understand the information? A tall request I know, but you have basically made this public via the filing for a patent in the first place.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Swanhart</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-136763</link>
		<dc:creator>Justin Swanhart</dc:creator>
		<pubDate>Thu, 27 Aug 2009 22:41:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-136763</guid>
		<description>Eric,

Consider further that Kickfire doesn&#039;t use sequential compression algorithms but instead uses dictionary compression which doesn&#039;t require decompression during query processing.</description>
		<content:encoded><![CDATA[<p>Eric,</p>
<p>Consider further that Kickfire doesn&#8217;t use sequential compression algorithms but instead uses dictionary compression which doesn&#8217;t require decompression during query processing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric Wendel</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-136728</link>
		<dc:creator>Eric Wendel</dc:creator>
		<pubDate>Thu, 27 Aug 2009 17:37:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-136728</guid>
		<description>TS,

These may help illustrate the value of the FPGA in the Kickfire architecture:

1) &quot;Where’s the Beef? Why FPGAs Are So Fast&quot; http://research.microsoft.com/apps/pubs/default.aspx?id=70636 

So...orders of magnitude speedups are typical for FPGA across a wide range of apps...but note the importance of the customized memory subsystem and interface:

&quot;Our results show that custom memory interfaces are the most effective way at enabling much greater performance on the FPGA, and that memory interfaces traditional software use become a bottleneck when the FPGA uses the same interface.&quot;

This is why Kickfire uses a separate memory subsystem. It&#039;s also why in-socket FPGA accelerator approaches like XtremeData DBX fall far short.

Now consider, just for the job of compression/de-compression ALONE (crucial in the column-store context), a single FPGA is faster than dozens of multi-GHz cores, and uses a tiny fraction of the power.

For a specific example, take a look at this:

2) &quot;Streaming implementation of a sequential decompression algorithm on an FPGA&quot;

http://portal.acm.org/citation.cfm?id=1508195#abstract 

And of course compression becomes exponentially more important in the Flash SSD context.

Hope this helps.

Eric Wendel</description>
		<content:encoded><![CDATA[<p>TS,</p>
<p>These may help illustrate the value of the FPGA in the Kickfire architecture:</p>
<p>1) &#8220;Where’s the Beef? Why FPGAs Are So Fast&#8221; <a href="http://research.microsoft.com/apps/pubs/default.aspx?id=70636" rel="nofollow">http://research.microsoft.com/apps/pubs/default.aspx?id=70636</a> </p>
<p>So&#8230;orders of magnitude speedups are typical for FPGA across a wide range of apps&#8230;but note the importance of the customized memory subsystem and interface:</p>
<p>&#8220;Our results show that custom memory interfaces are the most effective way at enabling much greater performance on the FPGA, and that memory interfaces traditional software use become a bottleneck when the FPGA uses the same interface.&#8221;</p>
<p>This is why Kickfire uses a separate memory subsystem. It&#8217;s also why in-socket FPGA accelerator approaches like XtremeData DBX fall far short.</p>
<p>Now consider, just for the job of compression/de-compression ALONE (crucial in the column-store context), a single FPGA is faster than dozens of multi-GHz cores, and uses a tiny fraction of the power.</p>
<p>For a specific example, take a look at this:</p>
<p>2) &#8220;Streaming implementation of a sequential decompression algorithm on an FPGA&#8221;</p>
<p><a href="http://portal.acm.org/citation.cfm?id=1508195#abstract" rel="nofollow">http://portal.acm.org/citation.cfm?id=1508195#abstract</a> </p>
<p>And of course compression becomes exponentially more important in the Flash SSD context.</p>
<p>Hope this helps.</p>
<p>Eric Wendel</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Raj</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-136498</link>
		<dc:creator>Raj</dc:creator>
		<pubDate>Tue, 25 Aug 2009 22:02:55 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-136498</guid>
		<description>Hi Curt,

Thank you for your post on our technology. I have a couple of additional details to provide:

1) I think it would be interesting for your readers to understand the key design philosophy behind our SQL chip. In a nutshell, with our chip, we have done for memory bandwidth what column store has done for I/O bandwidth. Why is this important? The SQL chip is based on a dataflow architecture which employs direct transistor-based processing engines to natively execute high-level relational operations and database algorithms. This approach delivers an order of magnitude more query processing capability than today’s state-of-the-art microprocessors. This results in the need for an order of magnitude greater memory bandwidth than today’s microprocessors have available. There are several techniques that are employed in our SQL chip and systems stack to get this increased memory bandwidth. As we discussed, the top two are a) the ability to keep the intermediate data sets/tuple sets, resulting from the processing of complex queries, live on the chip without spilling to memory and b) using “deep-indexing” which helps avoid memory-intensive column scans which we can discuss later at your convenience. The net result is that you get the processing power and memory bandwidth equivalent of 20 or so Nehalem-based CPUs in a single chip.

2)A little more detail on how we manage the MySQL interface. After receiving the parse tree from MySQL, our optimizer generates a plan that uses either or both the SQL chip (our FPGA) and our software SQL execution engine (executed on the x86 in our base server). The majority of queries run natively in hardware or with just a small component in software. A smaller set will run just in our software execution engine. Neither of these paths use the MySQL optimizer or execution engine thereby ensuring consistently high performance.

Thanks, 

Raj</description>
		<content:encoded><![CDATA[<p>Hi Curt,</p>
<p>Thank you for your post on our technology. I have a couple of additional details to provide:</p>
<p>1) I think it would be interesting for your readers to understand the key design philosophy behind our SQL chip. In a nutshell, with our chip, we have done for memory bandwidth what column store has done for I/O bandwidth. Why is this important? The SQL chip is based on a dataflow architecture which employs direct transistor-based processing engines to natively execute high-level relational operations and database algorithms. This approach delivers an order of magnitude more query processing capability than today’s state-of-the-art microprocessors. This results in the need for an order of magnitude greater memory bandwidth than today’s microprocessors have available. There are several techniques that are employed in our SQL chip and systems stack to get this increased memory bandwidth. As we discussed, the top two are a) the ability to keep the intermediate data sets/tuple sets, resulting from the processing of complex queries, live on the chip without spilling to memory and b) using “deep-indexing” which helps avoid memory-intensive column scans which we can discuss later at your convenience. The net result is that you get the processing power and memory bandwidth equivalent of 20 or so Nehalem-based CPUs in a single chip.</p>
<p>2)A little more detail on how we manage the MySQL interface. After receiving the parse tree from MySQL, our optimizer generates a plan that uses either or both the SQL chip (our FPGA) and our software SQL execution engine (executed on the x86 in our base server). The majority of queries run natively in hardware or with just a small component in software. A smaller set will run just in our software execution engine. Neither of these paths use the MySQL optimizer or execution engine thereby ensuring consistently high performance.</p>
<p>Thanks, </p>
<p>Raj</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin Swanhart</title>
		<link>http://www.dbms2.com/2009/08/21/kickfires-fpga-based-technical-strategy/#comment-136478</link>
		<dc:creator>Justin Swanhart</dc:creator>
		<pubDate>Tue, 25 Aug 2009 17:35:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.dbms2.com/?p=865#comment-136478</guid>
		<description>TS - Get back to me when your 1TB machine beats our appliance in Price/Performance on the TPCH 300G benchmark.</description>
		<content:encoded><![CDATA[<p>TS &#8211; Get back to me when your 1TB machine beats our appliance in Price/Performance on the TPCH 300G benchmark.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

