General purpose computers are not optimized for any one class of algorithms. In theory if one could lay out transistor logic to exactly perform a chosen algorithm one should be able to achieve orders of magnitude faster performance while at the same time using much less transistor logic. This has been done for sound and other specialist applications. But the cost is high and if you want to make an algorithm change (either to improve the algorithm or to fix bugs) the cost of remanufacturing the chips makes this approach too expensive for most purposes.
However, there is a class of chips called Field Programmable Gate Arrays that, while they may not be as cheap and fast as dedicated logic chips, are still fast enough for many applications. Since they can be programmed (and even reprogrammed) out in the field they are much cheaper to use. Given the large and growing need for biotech and pharmaceutical companies to process thru large quantities of genetic data using some fairly standard algorithms is is not surprising that some companies have introduced dedicated hardware accelerators using FPGAs which come with support for running bioinformatics algorithms..
Time Logic makes hardware accelerators for bioinformatics applications. Time Logic's hardware accelerator technology is built with field programmable gate arrays (FPGAs). Basically, they translate a program's logic into instructions for reprogramming the logic in gates on chips on their accelerator board. They are able to speed up some big genetic data search and comparison algorithms by one to two orders of magnitude. Note that Time Logic claims the amount of genetic data available is doubling every 6 months.
Paracel, a division of Celera Genomics Group, also provides bioinformatics hardware accelerators.
BioIT World has an article about hardware accelerators for bioinformatics problems.
I think it would be fun to develop applications to run on these accelerators. Anyone out there need some contract programming done to get one of these accelerators working for your application?
Posted by Randall Parker at September 09, 2002 11:09 AMA friend of mine and I were chatting last night about how neat it would be to make a (oxymoron alert!) general purpose FPGA system...by that we mean developing a library of tuned FPGA gate programming instructions for common algorithms, and a small micro-kernel/hypervisor module to interface with the host system OS and do dynamic reprogramming of the gate arrays as needed, probably with some kind of LRU algorithm controlling which gates got reprogrammed when.
I know Starbridge claim to have something like this, but know one credible has seen anything come of it yet.
PS I'm gonna stick you in my blogroll when I get it up this week.
Posted by: David Mercer on September 18, 2002 12:49 AMIts understandable why vendors are selling FPGA systems for particular application domains. That way the buyers don't have to do as much programming in order to get going and it lowers the learning curve.
Any idea what Starbridge charge for their board?
Posted by: Randall Parker on September 19, 2002 10:23 AM