In this work, we show how parallel applications can be implemented efficiently using task parallelism. We also evaluate the benefits of such parallel paradigm with respect to other approaches. We use the PARSEC benchmark suite as our test bed, which includes applications representative of a wide range of domains from HPC to desktop and server applications. We adopt different parallelization techniques, tailored to the needs of each application, to fully exploit the task-based model. Our evaluation shows that task parallelism achieves better performance than thread-based parallelization models, such as Pthreads. Our experimental results show that we can obtain scalability improvements up to 42% on a 16-core system and code size reductions up...
Parallel task-based programming models like OpenMP support the declaration of task data dependences....
International audienceThe hardware complexity of modern machines makes the design of adequate progra...
StarSS is a parallel programming model that eases the task of the programmer. He or she has to ident...
Challenges introduced by highly hybrid many-cores architectures have a lasting impact on the portabi...
International audienceLarge applications for parallel computers and more specifically unstructured C...
The Parsec benchmark suite is widely used in evaluation of parallel architectures, both existing and...
As chip multi-processors (CMPs) are becoming more and more complex, software solutions such as paral...
PARSEC is a reference application suite used in industry and academia to assess new Chip Multiproces...
PARSEC is a reference application suite used in industry and academia to assess new Chip Multiproces...
High-level parallel programming is a de-facto standard approach to develop parallel software with re...
Tasking promises a model to program parallel applications that provides intuitive semantics. In the ...
OpenMP has been for many years the most widely used programming model for shared memory architecture...
The transition to multi-core processors enforces software developers to explicitly exploit thread-le...
15 pagesInternational audienceProgramming parallelmachines as effectively as sequential ones would i...
Task Parallelism is a parallel programming model that provides code annotation constructs to outline...
Parallel task-based programming models like OpenMP support the declaration of task data dependences....
International audienceThe hardware complexity of modern machines makes the design of adequate progra...
StarSS is a parallel programming model that eases the task of the programmer. He or she has to ident...
Challenges introduced by highly hybrid many-cores architectures have a lasting impact on the portabi...
International audienceLarge applications for parallel computers and more specifically unstructured C...
The Parsec benchmark suite is widely used in evaluation of parallel architectures, both existing and...
As chip multi-processors (CMPs) are becoming more and more complex, software solutions such as paral...
PARSEC is a reference application suite used in industry and academia to assess new Chip Multiproces...
PARSEC is a reference application suite used in industry and academia to assess new Chip Multiproces...
High-level parallel programming is a de-facto standard approach to develop parallel software with re...
Tasking promises a model to program parallel applications that provides intuitive semantics. In the ...
OpenMP has been for many years the most widely used programming model for shared memory architecture...
The transition to multi-core processors enforces software developers to explicitly exploit thread-le...
15 pagesInternational audienceProgramming parallelmachines as effectively as sequential ones would i...
Task Parallelism is a parallel programming model that provides code annotation constructs to outline...
Parallel task-based programming models like OpenMP support the declaration of task data dependences....
International audienceThe hardware complexity of modern machines makes the design of adequate progra...
StarSS is a parallel programming model that eases the task of the programmer. He or she has to ident...