Cargando…
A uniform approach for programming distributed heterogeneous computing systems
Large-scale compute clusters of heterogeneous nodes equipped with multi-core CPUs and GPUs are getting increasingly popular in the scientific community. However, such systems require a combination of different programming paradigms making application development very challenging. In this article we...
Autores principales: | , , , |
---|---|
Formato: | Online Artículo Texto |
Lenguaje: | English |
Publicado: |
Academic Press
2014
|
Materias: | |
Acceso en línea: | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4375632/ https://www.ncbi.nlm.nih.gov/pubmed/25844015 http://dx.doi.org/10.1016/j.jpdc.2014.08.002 |
_version_ | 1782363605483651072 |
---|---|
author | Grasso, Ivan Pellegrini, Simone Cosenza, Biagio Fahringer, Thomas |
author_facet | Grasso, Ivan Pellegrini, Simone Cosenza, Biagio Fahringer, Thomas |
author_sort | Grasso, Ivan |
collection | PubMed |
description | Large-scale compute clusters of heterogeneous nodes equipped with multi-core CPUs and GPUs are getting increasingly popular in the scientific community. However, such systems require a combination of different programming paradigms making application development very challenging. In this article we introduce libWater, a library-based extension of the OpenCL programming model that simplifies the development of heterogeneous distributed applications. libWater consists of a simple interface, which is a transparent abstraction of the underlying distributed architecture, offering advanced features such as inter-context and inter-node device synchronization. It provides a runtime system which tracks dependency information enforced by event synchronization to dynamically build a DAG of commands, on which we automatically apply two optimizations: collective communication pattern detection and device-host-device copy removal. We assess libWater’s performance in three compute clusters available from the Vienna Scientific Cluster, the Barcelona Supercomputing Center and the University of Innsbruck, demonstrating improved performance and scaling with different test applications and configurations. |
format | Online Article Text |
id | pubmed-4375632 |
institution | National Center for Biotechnology Information |
language | English |
publishDate | 2014 |
publisher | Academic Press |
record_format | MEDLINE/PubMed |
spelling | pubmed-43756322015-04-01 A uniform approach for programming distributed heterogeneous computing systems Grasso, Ivan Pellegrini, Simone Cosenza, Biagio Fahringer, Thomas J Parallel Distrib Comput Article Large-scale compute clusters of heterogeneous nodes equipped with multi-core CPUs and GPUs are getting increasingly popular in the scientific community. However, such systems require a combination of different programming paradigms making application development very challenging. In this article we introduce libWater, a library-based extension of the OpenCL programming model that simplifies the development of heterogeneous distributed applications. libWater consists of a simple interface, which is a transparent abstraction of the underlying distributed architecture, offering advanced features such as inter-context and inter-node device synchronization. It provides a runtime system which tracks dependency information enforced by event synchronization to dynamically build a DAG of commands, on which we automatically apply two optimizations: collective communication pattern detection and device-host-device copy removal. We assess libWater’s performance in three compute clusters available from the Vienna Scientific Cluster, the Barcelona Supercomputing Center and the University of Innsbruck, demonstrating improved performance and scaling with different test applications and configurations. Academic Press 2014-12 /pmc/articles/PMC4375632/ /pubmed/25844015 http://dx.doi.org/10.1016/j.jpdc.2014.08.002 Text en © 2014 The Authors https://creativecommons.org/licenses/by-nc-nd/3.0/ This is an open access article under the CC BY-NC-ND license (http://creativecommons.org/licenses/by-nc-nd/3.0/). |
spellingShingle | Article Grasso, Ivan Pellegrini, Simone Cosenza, Biagio Fahringer, Thomas A uniform approach for programming distributed heterogeneous computing systems |
title | A uniform approach for programming distributed heterogeneous computing systems |
title_full | A uniform approach for programming distributed heterogeneous computing systems |
title_fullStr | A uniform approach for programming distributed heterogeneous computing systems |
title_full_unstemmed | A uniform approach for programming distributed heterogeneous computing systems |
title_short | A uniform approach for programming distributed heterogeneous computing systems |
title_sort | uniform approach for programming distributed heterogeneous computing systems |
topic | Article |
url | https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4375632/ https://www.ncbi.nlm.nih.gov/pubmed/25844015 http://dx.doi.org/10.1016/j.jpdc.2014.08.002 |
work_keys_str_mv | AT grassoivan auniformapproachforprogrammingdistributedheterogeneouscomputingsystems AT pellegrinisimone auniformapproachforprogrammingdistributedheterogeneouscomputingsystems AT cosenzabiagio auniformapproachforprogrammingdistributedheterogeneouscomputingsystems AT fahringerthomas auniformapproachforprogrammingdistributedheterogeneouscomputingsystems AT grassoivan uniformapproachforprogrammingdistributedheterogeneouscomputingsystems AT pellegrinisimone uniformapproachforprogrammingdistributedheterogeneouscomputingsystems AT cosenzabiagio uniformapproachforprogrammingdistributedheterogeneouscomputingsystems AT fahringerthomas uniformapproachforprogrammingdistributedheterogeneouscomputingsystems |