Elastic executions from inelastic programs

  • Authors:
  • Iulian Neamtiu

  • Affiliations:
  • University of California, Riverside, Riverside, CA, USA

  • Venue:
  • Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

In this paper we present an approach and tool named ELASTIN for transforming inelastic programs - programs written with a specific platform or a fixed set of Cloud resources in mind - into elastic applications that run on elastic platforms by adapting, at runtime, to changes in the available resources. With ELASTIN, programmers can develop their applications with various specific configurations in mind, and let the compiler and runtime system take care of combining these configurations into a single elastic application that can safely switch between configurations on-the-fly, at runtime. We used ELASTIN to elastify two popular applications, the SQLite database engine and the Kiss FFT library, and found programmer burden to be very low. Benchmarks indicate that ELASTIN is effective in practice, and reconfigurations are in the sub-millisecond range. We envision this approach being useful in any domain where quick runtime adaptation is necessary due to changes in underlying resources.The approach can also be a stepping stone towards migrating legacy applications to the Cloud.