Research Article
A Framework for Faster Porting of Scientific Applications Between Heterogeneous Clouds
@INPROCEEDINGS{10.1007/978-3-319-94180-6_5, author={Waseem Ahmed and Mohsin Khan and Adeel Khan and Rashid Mehmood and Abdullah Algarni and Aiiad Albeshri and Iyad Katib}, title={A Framework for Faster Porting of Scientific Applications Between Heterogeneous Clouds}, proceedings={Smart Societies, Infrastructure, Technologies and Applications. First International Conference, SCITA 2017, Jeddah, Saudi Arabia, November 27--29, 2017, Proceedings}, proceedings_a={SCITA}, year={2018}, month={7}, keywords={Maintainability Code transformation Source-to-source translation Portability Heterogeneous architecture}, doi={10.1007/978-3-319-94180-6_5} }
- Waseem Ahmed
Mohsin Khan
Adeel Khan
Rashid Mehmood
Abdullah Algarni
Aiiad Albeshri
Iyad Katib
Year: 2018
A Framework for Faster Porting of Scientific Applications Between Heterogeneous Clouds
SCITA
Springer
DOI: 10.1007/978-3-319-94180-6_5
Abstract
The emergence of pay-as-you-use compute clouds has enabled scientists to experiment with the latest processor architectures and accelerators. However, the lack of standardization in cloud computing, more specifically in the interoperability context, makes the task of portability of applications between clouds challenging. Two main tasks that users of multi-vendor clouds will need to perform are porting cost analysis and faster source-to-source translation. Cost analysis is essential to help evaluate the feasibility and cost of portability. And any automation of the source-to-source translation step will help developers perform the translation faster while taking advantage of platform-specific features. This paper presents a framework that assists a developer in performing these two tasks. The first task is achieved using the module which generates unique funnel shaped patterns that give an insight about the maintainability of an application and its potential for porting. Different scientific applications from various domains, that were developed using different programming paradigms, were evaluated using this module. For the second task, a set of modules use a knowledge repository to perform source-to-source translations while ensuring the maintainability of the generated code. The framework has been tested with different architecture and library combinations with promising results.