Comparison of acceleration techniques for selected low-level bioinformatics operations

Daniel Langenkämper, Tobias Jakobi, Dustin Feld, Lukas Jelonek, Alexander Goesmann, Tim W. Nattkemper

Research output: Contribution to journalArticlepeer-review

3 Scopus citations

Abstract

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.

Original languageEnglish (US)
Article number5
JournalFrontiers in Genetics
Volume7
Issue numberFEB
DOIs
StatePublished - 2016
Externally publishedYes

Keywords

  • Automatic
  • Bioinformatics
  • FPGA
  • GPU
  • High throughput
  • Multi-core
  • Parallelization
  • Sequence analysis

ASJC Scopus subject areas

  • Molecular Medicine
  • Genetics
  • Genetics(clinical)

Fingerprint

Dive into the research topics of 'Comparison of acceleration techniques for selected low-level bioinformatics operations'. Together they form a unique fingerprint.

Cite this