Enabling Efficient Use of Algorithmic Skeletons in Cloud Environments: Container-based Virtualization for Hybrid CPU-GPU Execution of Data-parallel Skeletons

Wrede Fabian, von Hof Vincent

Research article in edited proceedings (conference) | Peer reviewed

Abstract

The demand for computational power is constantly increasing, which requires financial investments and know-how for companies. The answer to this challenge is two-fold. First, companies can rely on cloud providers to provide infrastructure. Second, programming models emerged to simplify parallel programming, one of them being algorithmic skeletons. In this paper, we propose an efficient way to deploy parallel applications using the C++ algorithmic skeleton library Muesli in a cloud environment by using Docker tools for abstraction and automatic node scaling. Moreover, we introduce an approach for dynamic hybrid CPU-GPU execution of data parallel algorithmic skeletons to efficiently utilize resources in heterogeneous architectures. We have been able to automate the setup and scaling of nodes, thus, decreasing the know-how barrier. Additionally, notable speedups were achieved by hybrid CPU-GPU execution of algorithmic skeletons.

Details about the publication

PublisherShin Sung Y., Shin Dongwan, Lencastre Maria
Book titleSAC '17 Proceedings of the Symposium on Applied Computing
Page range1593-1596
Publishing companyACM Press
Place of publicationNew York, NY, USA
StatusPublished
Release year2017 (03/04/2017)
Language in which the publication is writtenEnglish
ConferenceThe 32nd ACM Symposium On Applied Computing (SAC '17), Marrakesh, Morocco, undefined
ISBN978-1-4503-4486-9
DOI10.1145/3019612.3019894
Link to the full texthttp://dl.acm.org/citation.cfm?id=3019894
Keywordsparallel programming; skeletons; cloud; docker; CPU-GPU

Authors from the University of Münster

von Hof, Vincent
Practical Computer Science Group (PI)
Wrede, Fabian
Databases and Information Systems Group (DBIS)