Cargando…

Cache-Oblivious parallel SIMD Viterbi decoding for sequence search in HMMER

BACKGROUND: HMMER is a commonly used bioinformatics tool based on Hidden Markov Models (HMMs) to analyze and process biological sequences. One of its main homology engines is based on the Viterbi decoding algorithm, which was already highly parallelized and optimized using Farrar’s striped processin...

Descripción completa

Detalles Bibliográficos
Autores principales: Ferreira, Miguel, Roma, Nuno, Russo, Luis MS
Formato: Online Artículo Texto
Lenguaje:English
Publicado: BioMed Central 2014
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4229909/
https://www.ncbi.nlm.nih.gov/pubmed/24884826
http://dx.doi.org/10.1186/1471-2105-15-165
_version_ 1782344189059530752
author Ferreira, Miguel
Roma, Nuno
Russo, Luis MS
author_facet Ferreira, Miguel
Roma, Nuno
Russo, Luis MS
author_sort Ferreira, Miguel
collection PubMed
description BACKGROUND: HMMER is a commonly used bioinformatics tool based on Hidden Markov Models (HMMs) to analyze and process biological sequences. One of its main homology engines is based on the Viterbi decoding algorithm, which was already highly parallelized and optimized using Farrar’s striped processing pattern with Intel SSE2 instruction set extension. RESULTS: A new SIMD vectorization of the Viterbi decoding algorithm is proposed, based on an SSE2 inter-task parallelization approach similar to the DNA alignment algorithm proposed by Rognes. Besides this alternative vectorization scheme, the proposed implementation also introduces a new partitioning of the Markov model that allows a significantly more efficient exploitation of the cache locality. Such optimization, together with an improved loading of the emission scores, allows the achievement of a constant processing throughput, regardless of the innermost-cache size and of the dimension of the considered model. CONCLUSIONS: The proposed optimized vectorization of the Viterbi decoding algorithm was extensively evaluated and compared with the HMMER3 decoder to process DNA and protein datasets, proving to be a rather competitive alternative implementation. Being always faster than the already highly optimized ViterbiFilter implementation of HMMER3, the proposed Cache-Oblivious Parallel SIMD Viterbi (COPS) implementation provides a constant throughput and offers a processing speedup as high as two times faster, depending on the model’s size.
format Online
Article
Text
id pubmed-4229909
institution National Center for Biotechnology Information
language English
publishDate 2014
publisher BioMed Central
record_format MEDLINE/PubMed
spelling pubmed-42299092014-11-14 Cache-Oblivious parallel SIMD Viterbi decoding for sequence search in HMMER Ferreira, Miguel Roma, Nuno Russo, Luis MS BMC Bioinformatics Methodology Article BACKGROUND: HMMER is a commonly used bioinformatics tool based on Hidden Markov Models (HMMs) to analyze and process biological sequences. One of its main homology engines is based on the Viterbi decoding algorithm, which was already highly parallelized and optimized using Farrar’s striped processing pattern with Intel SSE2 instruction set extension. RESULTS: A new SIMD vectorization of the Viterbi decoding algorithm is proposed, based on an SSE2 inter-task parallelization approach similar to the DNA alignment algorithm proposed by Rognes. Besides this alternative vectorization scheme, the proposed implementation also introduces a new partitioning of the Markov model that allows a significantly more efficient exploitation of the cache locality. Such optimization, together with an improved loading of the emission scores, allows the achievement of a constant processing throughput, regardless of the innermost-cache size and of the dimension of the considered model. CONCLUSIONS: The proposed optimized vectorization of the Viterbi decoding algorithm was extensively evaluated and compared with the HMMER3 decoder to process DNA and protein datasets, proving to be a rather competitive alternative implementation. Being always faster than the already highly optimized ViterbiFilter implementation of HMMER3, the proposed Cache-Oblivious Parallel SIMD Viterbi (COPS) implementation provides a constant throughput and offers a processing speedup as high as two times faster, depending on the model’s size. BioMed Central 2014-05-30 /pmc/articles/PMC4229909/ /pubmed/24884826 http://dx.doi.org/10.1186/1471-2105-15-165 Text en Copyright © 2014 Ferreira et al.; licensee BioMed Central Ltd. http://creativecommons.org/licenses/by/2.0 This is an Open Access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly credited. The Creative Commons Public Domain Dedication waiver (http://creativecommons.org/publicdomain/zero/1.0/) applies to the data made available in this article, unless otherwise stated.
spellingShingle Methodology Article
Ferreira, Miguel
Roma, Nuno
Russo, Luis MS
Cache-Oblivious parallel SIMD Viterbi decoding for sequence search in HMMER
title Cache-Oblivious parallel SIMD Viterbi decoding for sequence search in HMMER
title_full Cache-Oblivious parallel SIMD Viterbi decoding for sequence search in HMMER
title_fullStr Cache-Oblivious parallel SIMD Viterbi decoding for sequence search in HMMER
title_full_unstemmed Cache-Oblivious parallel SIMD Viterbi decoding for sequence search in HMMER
title_short Cache-Oblivious parallel SIMD Viterbi decoding for sequence search in HMMER
title_sort cache-oblivious parallel simd viterbi decoding for sequence search in hmmer
topic Methodology Article
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4229909/
https://www.ncbi.nlm.nih.gov/pubmed/24884826
http://dx.doi.org/10.1186/1471-2105-15-165
work_keys_str_mv AT ferreiramiguel cacheobliviousparallelsimdviterbidecodingforsequencesearchinhmmer
AT romanuno cacheobliviousparallelsimdviterbidecodingforsequencesearchinhmmer
AT russoluisms cacheobliviousparallelsimdviterbidecodingforsequencesearchinhmmer