Skip to main content
Premium Trial:

Request an Annual Quote

New Apps for FPGAs


By John S. MacNeil

In the relatively well-established world of genome sequence analysis, alternative computer hardware is nothing new. For years, bioinformaticists have put field-programmable gate arrays and other hardware accelerators to work speeding up such tasks as the Smith-Waterman sequence alignment algorithm — and with reasonable success.

But it’s only in the last year or two that computational biologists in other fields have started to catch on to the idea that hardware dedicated to a particular algorithm or type of computation is within their reach as well. Now, it seems, even such systems biology-related tasks as simulating biochemical networks and proteomics analysis are starting to benefit.

In David Eisenberg’s lab at UCLA, postdoc Lukasz Salwinski has taken the lead in adapting FPGA technology to accelerate computational models of relatively complex biological systems. In most cases, he says, researchers rely on fairly familiar microprocessor-based computers to perform these types of Monte Carlo simulations, but the nature of biochemical network simulations begs for a superior tool. Modeling a gene expression network at the single-cell level, for example, involves simultaneously calculating the effect of each element in the network on its neighbors — a problem ill-suited to conventional computer architecture, which by design performs computations sequentially.

With an FPGA, however, Salwinski is able to program each of the circuits in the array to represent one of the biochemical reactions present in the biological network. And because of the parallel architecture of the FPGA, which allows each circuit on the array to communicate practically instantaneously with its neighbors, the computation can proceed at a much faster clip than with a microprocessor-based PC. In fact, he says, an FPGA can perform Monte Carlo-based biochemical network simulations at least two orders of magnitude faster than a PC.

Implementing FPGAs has an upside in terms of cost as well. A compute cluster, Salwinski notes, has similar performance advantages, but is a “huge waste of resources” given the amount of computing power left idle. And what’s good about FPGAs, says Martin Herbordt, a computer architect and associate professor in the department of electrical and computer engineering at Boston University, is that they’re commodity parts. Furthermore, because of their widespread use in signal processing, the cost of an average FPGA is steadily decreasing.

Making FPGAs reprogrammable

Yet an FPGA isn’t a panacea for researchers looking for some hustle in their simulations of biological systems. The problem, Salwinski says, is that when the types or number of reactions that comprise the biochemical network change, the researcher must reprogram the array elements on the FPGA to represent the new system under investigation. While this doesn’t slow down the computation itself — the architecture of the FPGA allows the speed of the calculation to remain constant even as the number of reactions increases — it does involve a time-consuming effort on the part of the investigator, Salwinski says.

The solution, he says, is to automate the process of reimplementing the FPGA with the new set of reactions that make up the biological system. “You can imagine you’ve got an input file or input network which is just a representation of the reactions described in a high level format,” he says. “Then there’s something like a compiler that takes this file and generates an equivalent network of connections within the FPGA.” FPGA manufacturers, he adds, already provide tools that convert this high-level representation of the reaction network into binary files that a researcher could download into an FPGA. “So the whole pipeline in principle could be automated.”

It just so happens that Herbordt at Boston University is working with members of his group to develop such a compiler. Taking full advantage of the opportunities FPGAs provide for hardware acceleration means combining their low cost with a relatively easy programming interface, Herbordt says. To this end, Herbordt and his group member Tom VanCourt are developing a system for compiling the behaviors and parameters specific to any individual system under investigation, and formatting the result into a set of software modules that can be used to configure the hardware on the FPGA.