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


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.

Keywords
parallel programming; skeletons; cloud; docker; CPU-GPU



Publication type
Conference paper

Peer reviewed
Yes

Publication status
Published

Year
2017

Conference
The 32nd ACM Symposium On Applied Computing (SAC '17)

Venue
Marrakesh, Morocco

Book title
SAC '17 Proceedings of the Symposium on Applied Computing

Editor
Shin Sung Y., Shin Dongwan, Lencastre Maria

Start page
1593

End page
1596

Publisher
ACM

Place
New York, NY, USA

ISBN
978-1-4503-4486-9

DOI

Full text