Static analysis of cloud elasticity
We propose a static analysis technique that computes upper bounds of virtual machine usages in a concurrent language with explicit acquire and release operations of virtual machines. In our language it is possible to delegate other (ad-hoc or third party) concurrent code to release virtual machines...
Saved in:
Published in | Science of computer programming Vol. 147; pp. 27 - 53 |
---|---|
Main Authors | , , |
Format | Journal Article |
Language | English |
Published |
Elsevier B.V
01.11.2017
Elsevier |
Subjects | |
Online Access | Get full text |
Cover
Loading…
Summary: | We propose a static analysis technique that computes upper bounds of virtual machine usages in a concurrent language with explicit acquire and release operations of virtual machines. In our language it is possible to delegate other (ad-hoc or third party) concurrent code to release virtual machines (by passing them as arguments of invocations). Our technique is modular and consists of (i) a type system associating programs with behavioural types that record relevant information for resource usage (creations, releases, and concurrent operations), (ii) a translation function that takes behavioural types and returns cost equations, and (iii) an automatic off-the-shelf solver for the cost equations.
A soundness proof of the type system establishes the correctness of our technique with respect to the cost equations. We have experimentally evaluated our technique using a cost analysis solver and we report some results.
•A technique for the static analysis of resource utilization is proposed.•The analysis relies on a static type system that records program's resources behaviour.•The proposed approach supports concurrency and explicit release operations.•A proof of soundness of the proposed type system and of the analysis is provided. |
---|---|
ISSN: | 0167-6423 1872-7964 |
DOI: | 10.1016/j.scico.2017.03.008 |