Use this link to cite:
https://hdl.handle.net/2183/49314 Paralelización de benchmarks de cauces paralelos con OneTBB
Loading...
Identifiers
Publication date
Authors
Ares Seijas, Luis Miguel
Other responsabilities
Universidade da Coruña. Facultade de Informática
Journal Title
Bibliographic citation
Type of academic work
Abstract
[Resumen]: Este Trabajo Fin de Máster presenta el diseño, implementación y evaluación experimental de la paralelización de dos benchmarks de la suite PARSEC, Ferret y Dedup, utilizando la biblioteca moderna de C++ Intel oneTBB (Threading Building Blocks). El objetivo principal es comparar dos modelos de programación paralela de alto nivel provistos por oneTBB: los cauces paralelos (Parallel Pipeline) y los grafos de flujo (Flow Graph). Para Ferret, se propone un rediseño que aumenta la superficie paralela creando dos nuevas etapas en el cauce, logrando una aceleración de hasta 58x en un nodo de cómputo en el Finisterrae III, superando notablemente la saturación prematura observada en la implementación original de Pthreads (20x-27x). Para Dedup, se desarrollan versiones con ambas abstracciones incorporando optimizaciones como la reducción de syscalls de escritura, contadores atómicos y la limitación de la memoria en vuelo para maximizar los aciertos en las cachés L3. Los resultados revelan una disparidad de rendimiento según la carga computacional: Flow Graph destaca en compresión pesada (bzip2) gracias a su balanceo de carga dinámico de grano fino, mientras que Parallel Pipeline sobresale en configuraciones de bajo cómputo (gzip y sin compresión) al minimizar el overhead del planificador.
[Abstract]: This Master’s Thesis presents the design, implementation, and experimental evaluation of the parallelization of two benchmarks from the PARSEC suite, Ferret and Dedup, using the modern Intel oneTBB (Threading Building Blocks) C++ library. The main objective is to compare two high-level parallel programming models provided by oneTBB: the structured pipeline (Parallel Pipeline) and the generic data-flow graph model (Flow Graph). For Ferret, we propose a pipeline redesign that increases the parallel surface area by creating two new stages in the pipeline, achieving a speedup of up to 58x on a compute node in the Finisterrae III, significantly outperforming the premature saturation observed in the original Pthreads implementation (22x-27x). For Dedup, we develop versions with both abstractions incorporating optimizations such as the reduction of write system calls, atomic counters, and the limiting of in-flight memory to maximize L3 caches hits. The results reveal a performance disparity depending on the computational load: Flow Graph excels in heavy compression (bzip2) thanks to its fine-grained dynamic load balancing, whereas Parallel Pipeline excels in low-compute configurations (gzip and no compression) by minimizing the scheduler’s overhead.
[Abstract]: This Master’s Thesis presents the design, implementation, and experimental evaluation of the parallelization of two benchmarks from the PARSEC suite, Ferret and Dedup, using the modern Intel oneTBB (Threading Building Blocks) C++ library. The main objective is to compare two high-level parallel programming models provided by oneTBB: the structured pipeline (Parallel Pipeline) and the generic data-flow graph model (Flow Graph). For Ferret, we propose a pipeline redesign that increases the parallel surface area by creating two new stages in the pipeline, achieving a speedup of up to 58x on a compute node in the Finisterrae III, significantly outperforming the premature saturation observed in the original Pthreads implementation (22x-27x). For Dedup, we develop versions with both abstractions incorporating optimizations such as the reduction of write system calls, atomic counters, and the limiting of in-flight memory to maximize L3 caches hits. The results reveal a performance disparity depending on the computational load: Flow Graph excels in heavy compression (bzip2) thanks to its fine-grained dynamic load balancing, whereas Parallel Pipeline excels in low-compute configurations (gzip and no compression) by minimizing the scheduler’s overhead.
Description
Keywords
Computación de Altas Prestaciones Programación paralela Intel oneTBB Cauces paralelos Grafos de flujo Deduplicación de datos Búsqueda de imágenes por similitud High Performance Computing Parallel programming Intel oneTBB Parallel pipelines Flow graphs Data deduplication Content-based similarity search
Editor version
Rights
Attribution-NonCommercial-ShareAlike 4.0 International








