The Evolving Philosophers Problem: Dynamic Change Management
IEEE Transactions on Software Engineering
A Formal Framework for On-line Software Version Change
IEEE Transactions on Software Engineering
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Automatic Configuration and Run-time Adaptation of Distributed Applications
HPDC '00 Proceedings of the 9th IEEE International Symposium on High Performance Distributed Computing
Enabling autonomic behavior in systems software with hot swapping
IBM Systems Journal
Transparent shaping of existing software to support pervasive and autonomic computing
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
Practical dynamic software updating for C
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
Providing dynamic update in an operating system
ATEC '05 Proceedings of the annual conference on USENIX Annual Technical Conference
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
Tranquility: A Low Disruptive Alternative to Quiescence for Ensuring Safe Dynamic Updates
IEEE Transactions on Software Engineering
Contextual effects for version-consistent dynamic software updating and safe concurrent programming
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Runtime software adaptation: framework, approaches, and styles
Companion of the 30th international conference on Software engineering
Safe and timely updates to multi-threaded programs
Proceedings of the 2009 ACM SIGPLAN conference on Programming language design and implementation
Programming language support to context-aware adaptation: a case-study with Erlang
Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems
Parcae: a system for flexible parallel execution
Proceedings of the 33rd ACM SIGPLAN conference on Programming Language Design and Implementation
A Survey on Cloud Computing Elasticity
UCC '12 Proceedings of the 2012 IEEE/ACM Fifth International Conference on Utility and Cloud Computing
Hi-index | 0.00 |
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.