Language and Runtime Support for Automatic Configuration and Deployment of Scientific Computing Software over Cloud Fabrics
- First Online:
- Cite this article as:
- Bunch, C., Drawert, B., Chohan, N. et al. J Grid Computing (2012) 10: 23. doi:10.1007/s10723-012-9213-8
In this paper, we present the design and implementation of Neptune, a simple, domain-specific language based on the Ruby programming language. Neptune automates the configuration and deployment of scientific software frameworks over disparate cloud computing systems. Neptune integrates support for MPI, MapReduce, UPC, X10, StochKit, and others. We implement Neptune as a software overlay for the AppScale cloud platform and extend AppScale with support for elasticity and hybrid execution for scientific computing applications. Neptune imposes no overhead on application execution, yet significantly simplifies the application deployment process, enables portability across cloud systems, and promotes lock-in avoidance by specific cloud vendors.