Accelerating HMMer on FPGAs using systolic array based architecture

HMMer is a widely-used bioinformatics software package that uses profile HMMs (Hidden Markov Models) to model the primary structure consensus of a family of protein or nucleic acid sequences. However, with the rapid growth of both sequence and model databases, it is more and more time-consuming to run HMMer on traditional computer architecture. In this paper, the computation kernel of HMMer, P7Viterbi, is selected to be accelerated by FPGA. There is an infrequent feedback loop in P7Viterbi to update the value of beginning state (B state), which limits further parallelization. Previous work either ignored the feedback loop or serialized the process, leading to loss of either precision or efficiency. Our proposed syslolic array based architecture with a parallel data providing unit can exploit maximum parallelism of the full version of P7Viterbi. The proposed architecture speculatively runs with fully parallelism assuming that the feedback loop does not take place. If the rare feedback case actually occurs, a rollback mechanism is used to ensure correctness. Results show that by using Xilinx Virtex-5 110T FPGA, the proposed architecture with 20 PEs can achieve about a 56.8 times speedup compared with that of Intel Core2 Duo 2.33GHz CPU.

[1]  Patrice Quinton,et al.  Hardware Acceleration of HMMER on FPGAs , 2010, J. Signal Process. Syst..

[2]  Bertil Schmidt,et al.  Accelerating the Viterbi Algorithm for Profile Hidden Markov Models Using Reconfigurable Hardware , 2006, International Conference on Computational Science.

[3]  Brandon Harris,et al.  Accelerator design for protein sequence HMM search , 2006, ICS '06.

[4]  Bertil Schmidt,et al.  Integrating FPGA acceleration into HMMer , 2008, Parallel Comput..

[5]  Bashar Qudah,et al.  Accelerating the HMMER sequence analysis suite using conventional processors , 2006, 20th International Conference on Advanced Information Networking and Applications - Volume 1 (AINA'06).

[6]  L. Rabiner,et al.  An introduction to hidden Markov models , 1986, IEEE ASSP Magazine.

[7]  A. Dupret,et al.  Low Power Motion Detection with Low Spatial and Temporal Resolution for CMOS Image Sensor , 2007, 2006 International Workshop on Computer Architecture for Machine Perception and Sensing.

[8]  H. T. Kung,et al.  Systolic Arrays for (VLSI). , 1978 .

[9]  John Paul Walters,et al.  Improving MPI-HMMER's scalability with parallel I/O , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[10]  Joseph M. Lancaster,et al.  Preliminary results in accelerating profile HMM search on FPGAs , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[11]  D. Haussler,et al.  Hidden Markov models in computational biology. Applications to protein modeling. , 1993, Journal of molecular biology.

[12]  Patrick Crowley,et al.  Exploiting coarse-grained parallelism to accelerate protein motif finding with a network processor , 2005, 14th International Conference on Parallel Architectures and Compilation Techniques (PACT'05).

[13]  Bertil Schmidt,et al.  MPI-HMMER-Boost: Distributed FPGA Acceleration , 2007, J. VLSI Signal Process..

[14]  Patrice Quinton,et al.  Parallelizing HMMER for Hardware Acceleration on FPGAs , 2007, 2007 IEEE International Conf. on Application-specific Systems, Architectures and Processors (ASAP).

[15]  Pat Hanrahan,et al.  ClawHMMER: A Streaming HMMer-Search Implementation , 2005, SC.