Authors:
Jens Haussmann
1
;
Wolfgang Blochinger
1
and
Wolfgang Kuechlin
2
Affiliations:
1
Parallel and Distributed Computing Group, Reutlingen University, Germany
;
2
Symbolic Computation Group, University of Tuebingen, Germany
Keyword(s):
Cloud Computing, High Performance Computing, Parallel Application, Elasticity.
Abstract:
In recent years, the cloud has become an attractive execution environment for parallel applications, which introduces novel opportunities for versatile optimizations. Particularly promising in this context is the elasticity characteristic of cloud environments. While elasticity is well established for client-server applications, it is a fundamentally new concept for parallel applications. However, existing elasticity mechanisms for client-server applications can be applied to parallel applications only to a limited extent. Efficient exploitation of elasticity for parallel applications requires novel mechanisms that take into account the particular runtime characteristics and resource requirements of this application type. To tackle this issue, we propose an elasticity description language. This language facilitates users to define elasticity policies, which specify the elasticity behavior at both cloud infrastructure level and application level. Elasticity at the application level is
supported by an adequate programming and execution model, as well as abstractions that comply with the dynamic availability of resources. We present the underlying concepts and mechanisms, as well as the architecture and a prototypical implementation. Furthermore, we illustrate the capabilities of our approach through real-world scenarios.
(More)