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...

Descripción completa

Detalles Bibliográficos
Autores principales: Grasso, Ivan, Pellegrini, Simone, Cosenza, Biagio, Fahringer, Thomas
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