A general and efficient divide-and-conquer algorithm framework for multi-core clusters
Use este enlace para citar
http://hdl.handle.net/2183/28971Coleccións
- GI-GAC - Artigos [180]
Metadatos
Mostrar o rexistro completo do ítemTítulo
A general and efficient divide-and-conquer algorithm framework for multi-core clustersData
2017Cita bibliográfica
González, C.H., Fraguela, B.B. A general and efficient divide-and-conquer algorithm framework for multi-core clusters. Cluster Comput 20, 2605–2626 (2017). https://doi.org/10.1007/s10586-017-0766-y
Resumo
[Abstract]Divide-and-conquer is one of the most important patterns of parallelism, being applicable to a large variety of problems. In addition, the most powerful parallel systems available nowadays are computer clusters composed of distributed-memory nodes that contain an increasing number of cores that share a common memory. The optimal exploitation of these systems often requires resorting to a hybrid model that mimics the underlying hardware by combining a distributed and a shared memory parallel programming model. This results in longer development times and increased maintenance costs. In this paper we present a very general skeleton library that allows to parallelize any divide-and-conquer problem in hybrid distributed-shared memory systems with little effort while providing much flexibility and good performance. Our proposal combines a message-passing paradigm at the process level and a threaded model inside each process, hiding the related complexity from the user. The evaluation shows that this skeleton provides performance comparable, and often better than that of manually optimized codes while requiring considerably less effort when parallelizing applications on multi-core clusters.
Palabras chave
Algorithmic skeletons
Divide-and-conquer
Multi-core clusters
Template metaprogramming
Hybrid parallelism
High performance computing
Divide-and-conquer
Multi-core clusters
Template metaprogramming
Hybrid parallelism
High performance computing
Descrición
This is a post-peer-review, pre-copyedit version of an article published in Cluster Computing.
The final authenticated version is available online at: https://doi.org/10.1007/s10586-017-0766-y