ff:acaces:13 (In proceedings)
|
Author(s) | Claudia Misale, Marco Aldinucci and Massimo Torquati |
Title | « Memory affinity in multi-threading: the Bowtie2 case study » |
In | Advanced Computer Architecture and Compilation for High-Performance and Embedded Systems (ACACES) -- Poster Abstracts |
Year | 2013 |
Publisher | HiPEAC |
Address | Fiuggi, Italy |
ISBN number | 9789038221908 |
URL | http://calvados.di.unipi.it/storage/paper_files/2013_ACACES_ex-abstract.pdf |
Abstract & Keywords |
The diffusion of the Next Generation Sequencing (NGS) has increased the amount of data obtainable by genomic experiments. From a DNA sample a NGS run is able to produce millions of short sequences (called reads), which should be mapped into a reference genome. In this paper, we analyse the performance of Bowtie2, a fast and popular DNA mapping tool. Bowtie2 exhibits a multithreading implementation on top of pthreads, spin-locks and SSE2 SIMD extension. From parallel computing viewpoint, is a paradigmatic example of a software requiring to address three fundamental problems in shared-memory programming for cache-coherent multi-core platforms: synchronisation efficiency at very fine grain (due to short reads), load-balancing (due to long reads), and efficient usage of memory subsystem (due to SSE2 memory pressure). We compare the original implementation against an alternative implementation on top of the FastFlow pattern-based programming framework. The proposed design exploits the high-level farm pattern of FastFlow, which is implemented top of nonblocking multi-threading and lock-less (CAS-free) queues, and provides the programmer with high-level mechanism to tune task scheduling to achieve both load-balancing and memory affinity. The proposed design, despite the high-level design, is always faster and more scalable with respect to the original one. The design of both original and alternative version will be presented along with their experimental evaluation on real-world data sets.
Keywords: fastflow
|
@inproceedings{ff:acaces:13,
author = {Claudia Misale and Marco Aldinucci and Massimo Torquati},
keywords = {fastflow},
booktitle = {Advanced Computer Architecture and Compilation for
High-Performance and Embedded Systems (ACACES) -- Poster
Abstracts},
url = {http://calvados.di.unipi.it/storage/paper_files/2013_ACACES_ex-abstract.pdf},
abstract = {The diffusion of the Next Generation Sequencing (NGS) has
increased the amount of data obtainable by genomic experiments.
From a DNA sample a NGS run is able to produce millions of short
sequences (called reads), which should be mapped into a reference
genome. In this paper, we analyse the performance of Bowtie2, a
fast and popular DNA mapping tool. Bowtie2 exhibits a
multithreading implementation on top of pthreads, spin-locks and
SSE2 SIMD extension. From parallel computing viewpoint, is a
paradigmatic example of a software requiring to address three
fundamental problems in shared-memory programming for
cache-coherent multi-core platforms: synchronisation efficiency at
very fine grain (due to short reads), load-balancing (due to long
reads), and efficient usage of memory subsystem (due to SSE2
memory pressure). We compare the original implementation against
an alternative implementation on top of the FastFlow pattern-based
programming framework. The proposed design exploits the high-level
farm pattern of FastFlow, which is implemented top of nonblocking
multi-threading and lock-less (CAS-free) queues, and provides the
programmer with high-level mechanism to tune task scheduling to
achieve both load-balancing and memory affinity. The proposed
design, despite the high-level design, is always faster and more
scalable with respect to the original one. The design of both
original and alternative version will be presented along with
their experimental evaluation on real-world data sets.},
address = {Fiuggi, Italy},
isbn = {9789038221908},
title = {Memory affinity in multi-threading: the Bowtie2 case study},
publisher = {HiPEAC},
year = {2013},
}
This document was generated by bib2html 3.3.
(Modified by Luca Paolini, under the GNU General Public License)