Arithmetic hardware for bioinformatics acceleration

Bioinfomatics is an area where there are many problems involving intensive and repetitive arithmetic calculus. Therefore, the computing resources based on general-purpose processors could be not enough in some cases, even using multiprocessors, or could not provide the required results in a reasonable computing time. In addition, there are some biochemical processes where real-time simulations could be required, giving a computational problem having in mind the processor constraints.

There is a technology capable of accelerating many arithmetic calculus exploiting the real parallelism that hardware provides. This way, an efficient design of parallel arithmetic modules in a cyclic and long-term context can supply a higher performance in both time and power consumption terms. This context is often found in Bioinformatics, especially when plentiful repetitive and parallelizable arithmetic calculus exists. This technology is based on Field Programmable Gate Arrays (FPGA) devices and it is usually called Reconfigurable Computing (RC). The use and application of RC in parallel computing systems that contain multiple microprocessors and multiple FPGAs is called High Performance Reconfigurable Computing (HPRC). HPRC has the potential to exploit coarse-grained functional parallelism as well as fine-grained instruction-level parallelism through direct hardware execution on FPGAs [Buell 2007]. In HPRC, FPGAs are often used as specific-purpose coprocessors running a small part of an application that have the greater part of the computing time. Many examples of the application of FPGAs in the Bioinformatics domain can be found around the world [Zomaya 2006].

We are tackling a research line to study the goodness of considering RC as a computational method in Bioinformatics to accelerate repetitive and intensive arithmetic calculus present in many problems, mainly analyzing performance comparisons. The purpose of our research is twofold: to give an approach to the application of the reconfigurable hardware technology, and prove its performance when solving biological and biochemical problems by parallelizing the arithmetic calculus, pursing both computing time and power consumption minimizations. Specifically, the goal of our research is to provide a general methodology to accelerate arithmetic calculus from the constraints, difficulties and performances found in selected Bioinformatics problems. One of the keys to build this methodology is to handle efficiently the different parallelism levels (or parallel granularity) that can be present in the problems (Fig.1). We explored this way in a first approach by considering floating-point arithmetic in several combinatorial optimization problems [Gomez-Pulido 2011].

 

In order to tackle this research, we have selected several Bioinformatics problems that supply arithmetic calculus representative of different cases (parallelism degrees, binary or floating-point representations, real-time requirements, power consumption, and so on):

  • Dynamic Analysis of Glycolysis and Pathway in Escherichia coli.
  • Simulation methods for stochastic chemical kinetics.
  • Matching r-Separated Sets with Applications to Protein Structure Alignment.
  • Etc.

For this purpose, we are using modern technologies in the reconfigurable computing field: high-level hardware description languages (Impulse-C, Handel-C, VHDL), large FPGA devices (Virtex 6), programming environments (ISE 14), etc.

References

  • [Buell 2007] D. Buell, T. El-Ghazawi, K. Gaj, and V. Kindratenko. "High-Performance Reconfigurable Computing". Computer 40 (2007) 23-27.
  • [Zomaya 2006] Parallel Computing for Bioinformatics and Computational Biology: Models, Enabling Technologies, and Case Studies. Albert Y. Zomaya (Editor). ISBN: 978-0-471-71848-2. Wiley, 2006.
  • [Gomez-Pulido 2011] Juan A. Gomez-Pulido, Miguel A. Vega-Rodríguez, Juan M. Sanchez-Perez, Silvio Priem-Mendes, and Vitor Carreira. "Accelerating floating-point fitness functions in evolutionary algorithms: a FPGA-CPU-GPU performance comparison". Genetic Programming and Evolvable Machines 12 (2011) 403-427.