Cargando…

Comparison of Acceleration Techniques for Selected Low-Level Bioinformatics Operations

Within the recent years clock rates of modern processors stagnated while the demand for computing power continued to grow. This applied particularly for the fields of life sciences and bioinformatics, where new technologies keep on creating rapidly growing piles of raw data with increasing speed. Th...

Descripción completa

Detalles Bibliográficos
Autores principales: Langenkämper, Daniel, Jakobi, Tobias, Feld, Dustin, Jelonek, Lukas, Goesmann, Alexander, Nattkemper, Tim W.
Formato: Online Artículo Texto
Lenguaje:English
Publicado: Frontiers Media S.A. 2016
Materias:
Acceso en línea:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4748744/
https://www.ncbi.nlm.nih.gov/pubmed/26904094
http://dx.doi.org/10.3389/fgene.2016.00005
_version_ 1782415174558285824
author Langenkämper, Daniel
Jakobi, Tobias
Feld, Dustin
Jelonek, Lukas
Goesmann, Alexander
Nattkemper, Tim W.
author_facet Langenkämper, Daniel
Jakobi, Tobias
Feld, Dustin
Jelonek, Lukas
Goesmann, Alexander
Nattkemper, Tim W.
author_sort Langenkämper, Daniel
collection PubMed
description Within the recent years clock rates of modern processors stagnated while the demand for computing power continued to grow. This applied particularly for the fields of life sciences and bioinformatics, where new technologies keep on creating rapidly growing piles of raw data with increasing speed. The number of cores per processor increased in an attempt to compensate for slight increments of clock rates. This technological shift demands changes in software development, especially in the field of high performance computing where parallelization techniques are gaining in importance due to the pressing issue of large sized datasets generated by e.g., modern genomics. This paper presents an overview of state-of-the-art manual and automatic acceleration techniques and lists some applications employing these in different areas of sequence informatics. Furthermore, we provide examples for automatic acceleration of two use cases to show typical problems and gains of transforming a serial application to a parallel one. The paper should aid the reader in deciding for a certain techniques for the problem at hand. We compare four different state-of-the-art automatic acceleration approaches (OpenMP, PluTo-SICA, PPCG, and OpenACC). Their performance as well as their applicability for selected use cases is discussed. While optimizations targeting the CPU worked better in the complex k-mer use case, optimizers for Graphics Processing Units (GPUs) performed better in the matrix multiplication example. But performance is only superior at a certain problem size due to data migration overhead. We show that automatic code parallelization is feasible with current compiler software and yields significant increases in execution speed. Automatic optimizers for CPU are mature and usually no additional manual adjustment is required. In contrast, some automatic parallelizers targeting GPUs still lack maturity and are limited to simple statements and structures.
format Online
Article
Text
id pubmed-4748744
institution National Center for Biotechnology Information
language English
publishDate 2016
publisher Frontiers Media S.A.
record_format MEDLINE/PubMed
spelling pubmed-47487442016-02-22 Comparison of Acceleration Techniques for Selected Low-Level Bioinformatics Operations Langenkämper, Daniel Jakobi, Tobias Feld, Dustin Jelonek, Lukas Goesmann, Alexander Nattkemper, Tim W. Front Genet Genetics Within the recent years clock rates of modern processors stagnated while the demand for computing power continued to grow. This applied particularly for the fields of life sciences and bioinformatics, where new technologies keep on creating rapidly growing piles of raw data with increasing speed. The number of cores per processor increased in an attempt to compensate for slight increments of clock rates. This technological shift demands changes in software development, especially in the field of high performance computing where parallelization techniques are gaining in importance due to the pressing issue of large sized datasets generated by e.g., modern genomics. This paper presents an overview of state-of-the-art manual and automatic acceleration techniques and lists some applications employing these in different areas of sequence informatics. Furthermore, we provide examples for automatic acceleration of two use cases to show typical problems and gains of transforming a serial application to a parallel one. The paper should aid the reader in deciding for a certain techniques for the problem at hand. We compare four different state-of-the-art automatic acceleration approaches (OpenMP, PluTo-SICA, PPCG, and OpenACC). Their performance as well as their applicability for selected use cases is discussed. While optimizations targeting the CPU worked better in the complex k-mer use case, optimizers for Graphics Processing Units (GPUs) performed better in the matrix multiplication example. But performance is only superior at a certain problem size due to data migration overhead. We show that automatic code parallelization is feasible with current compiler software and yields significant increases in execution speed. Automatic optimizers for CPU are mature and usually no additional manual adjustment is required. In contrast, some automatic parallelizers targeting GPUs still lack maturity and are limited to simple statements and structures. Frontiers Media S.A. 2016-02-10 /pmc/articles/PMC4748744/ /pubmed/26904094 http://dx.doi.org/10.3389/fgene.2016.00005 Text en Copyright © 2016 Langenkämper, Jakobi, Feld, Jelonek, Goesmann and Nattkemper. http://creativecommons.org/licenses/by/4.0/ This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) or licensor are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.
spellingShingle Genetics
Langenkämper, Daniel
Jakobi, Tobias
Feld, Dustin
Jelonek, Lukas
Goesmann, Alexander
Nattkemper, Tim W.
Comparison of Acceleration Techniques for Selected Low-Level Bioinformatics Operations
title Comparison of Acceleration Techniques for Selected Low-Level Bioinformatics Operations
title_full Comparison of Acceleration Techniques for Selected Low-Level Bioinformatics Operations
title_fullStr Comparison of Acceleration Techniques for Selected Low-Level Bioinformatics Operations
title_full_unstemmed Comparison of Acceleration Techniques for Selected Low-Level Bioinformatics Operations
title_short Comparison of Acceleration Techniques for Selected Low-Level Bioinformatics Operations
title_sort comparison of acceleration techniques for selected low-level bioinformatics operations
topic Genetics
url https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4748744/
https://www.ncbi.nlm.nih.gov/pubmed/26904094
http://dx.doi.org/10.3389/fgene.2016.00005
work_keys_str_mv AT langenkamperdaniel comparisonofaccelerationtechniquesforselectedlowlevelbioinformaticsoperations
AT jakobitobias comparisonofaccelerationtechniquesforselectedlowlevelbioinformaticsoperations
AT felddustin comparisonofaccelerationtechniquesforselectedlowlevelbioinformaticsoperations
AT jeloneklukas comparisonofaccelerationtechniquesforselectedlowlevelbioinformaticsoperations
AT goesmannalexander comparisonofaccelerationtechniquesforselectedlowlevelbioinformaticsoperations
AT nattkempertimw comparisonofaccelerationtechniquesforselectedlowlevelbioinformaticsoperations