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...
Autores principales: | , , , , , |
---|---|
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 |