Hardware Acceleration of HMMER on FPGAs

We propose a new parallelization scheme for the hmmsearch function of the HMMER software, in order to target FPGA technology. hmmsearch is a very compute intensive software for biological sequence alignment, based on profile hidden Markov models. We derive a flexible, generic, scalable hardware parallel architecture which can accelerate the core of hmmsearch by nearly two orders of magnitude, without modifying the original algorithm of this software. Our derivation is based on the expression of the algorithm as a set of recurrence equations, and we show in a systematic way how a very efficient parallel version of the algorithm can be found by combining scheduling, projection, partitioning, pipelining and precision analysis. We present the performance of the implementation of this parallel algorithm on a FPGA platform.

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

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

[3]  L. Holm,et al.  The Pfam protein families database , 2005, Nucleic Acids Res..

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

[5]  Patrice Quinton Automatic synthesis of systolic arrays from uniform recurrent equations , 1984, ISCA '84.

[6]  Dominique Lavenier,et al.  Cluster of re-configurable nodes for scanning large genomic banks , 2005, Parallel Comput..

[7]  FeautrierPaul Some efficient solutions to the affine scheduling problem , 1992 .

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

[9]  Erik R. Altman,et al.  Proceedings of the ACM International Conference on Parallel Architectures and Compilation Techniques , 2006, PACT 2006.

[10]  P. Quinton Automatic synthesis of systolic arrays from uniform recurrent equations , 1984, ISCA 1984.

[11]  Bertil Schmidt,et al.  High Performance Database Searching with HMMer on FPGAs , 2007, 2007 IEEE International Parallel and Distributed Processing Symposium.

[12]  Paul Feautrier,et al.  Some efficient solutions to the affine scheduling problem. Part II. Multidimensional time , 1992, International Journal of Parallel Programming.

[13]  Nick Barrow-Williams,et al.  Proximity coherence for chip multiprocessors , 2010, 2010 19th International Conference on Parallel Architectures and Compilation Techniques (PACT).

[14]  Robert D. Finn,et al.  The Pfam protein families database , 2004, Nucleic Acids Res..

[15]  Susmita Sur-Kolay,et al.  Combining Instruction and Loop Level Parallelism for FPGAs , 2001, The 9th Annual IEEE Symposium on Field-Programmable Custom Computing Machines (FCCM'01).

[16]  Paul Feautrier,et al.  Some efficient solutions to the affine scheduling problem. I. One-dimensional time , 1992, International Journal of Parallel Programming.

[17]  Xinchun Liu,et al.  A Reconfigurable Index FLASH Memory tailored to Seed-Based Genomic Sequence Comparison Algorithms , 2007, J. VLSI Signal Process..

[18]  Dan I. Moldovan,et al.  Partitioning and Mapping Algorithms into Fixed Size Systolic Arrays , 1986, IEEE Transactions on Computers.

[19]  Frédéric Vivien,et al.  Constructing and exploiting linear schedules with prescribed parallelism , 2002, TODE.

[20]  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).

[21]  Pat Hanrahan,et al.  ClawHMMER: A Streaming HMMer-Search Implementatio , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[22]  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).

[23]  Bertil Schmidt,et al.  Using reconfigurable hardware to accelerate multiple sequence alignment with ClustalW , 2005, Bioinform..

[24]  Susmita Sur-Kolay,et al.  Combined instruction and loop parallelism in array synthesis for FPGAs , 2001, International Symposium on System Synthesis (IEEE Cat. No.01EX526).

[25]  Bertil Schmidt,et al.  Hyper customized processors for bio-sequence database scanning on FPGAs , 2005, FPGA '05.

[26]  Patrice Quinton,et al.  Hardware synthesis for multi-dimensional time , 2003, Proceedings IEEE International Conference on Application-Specific Systems, Architectures, and Processors. ASAP 2003.