Adaptive two-level thread management for fast MPI execution on shared memory machines
SC '99 Proceedings of the 1999 ACM/IEEE conference on Supercomputing
ERLANG for Concurrent Programming
ERLANG for Concurrent Programming
UPC performance and potential: a NPB experimental study
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
X10: an object-oriented approach to non-uniform cluster computing
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The SAGA C++ reference implementation: a milestone toward new high-level grid applications
Proceedings of the 2006 ACM/IEEE conference on Supercomputing
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
A specimen MPI application: N-Queens in parallel
ACM SIGCSE Bulletin
The Eucalyptus Open-Source Cloud-Computing System
CCGRID '09 Proceedings of the 2009 9th IEEE/ACM International Symposium on Cluster Computing and the Grid
An Evaluation of Distributed Datastores Using the AppScale Cloud Platform
CLOUD '10 Proceedings of the 2010 IEEE 3rd International Conference on Cloud Computing
Mesos: a platform for fine-grained resource sharing in the data center
Proceedings of the 8th USENIX conference on Networked systems design and implementation
Neptune: a domain specific language for deploying hpc software on cloud platforms
Proceedings of the 2nd international workshop on Scientific cloud computing
Database-Agnostic Transaction Support for Cloud Infrastructures
CLOUD '11 Proceedings of the 2011 IEEE 4th International Conference on Cloud Computing
Bioinformatics
A Pluggable Autoscaling Service for Open Cloud PaaS Systems
UCC '12 Proceedings of the 2012 IEEE/ACM Fifth International Conference on Utility and Cloud Computing
A first view of exedra: a domain-specific language for large graph analytics workflows
Proceedings of the 22nd international conference on World Wide Web companion
Hi-index | 0.00 |
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.