Sammanfattning
Self-adaptation is a first class concern for cloud applications, which should be able to withstand diverse runtime changes. Variations are simultaneously happening both at the cloud infrastructure level - for example hardware failures - and at the user workload level - flash crowds. However, robustly withstanding extreme variability, requires costly hardware over-provisioning.
In this paper, we introduce a self-adaptation programming paradigm called brownout. Using this paradigm, applications can be designed to robustly withstand unpredictable runtime variations, without over-provisioning. The paradigm is based on optional code that can be dynamically deactivated through decisions based on control theory.
We modified two popular web application prototypes - RUBiS and RUBBoS - with less than 170 lines of code, to make them brownout-compliant. Experiments show that brownout self-adaptation dramatically improves the ability to withstand flash-crowds and hardware failures.
In this paper, we introduce a self-adaptation programming paradigm called brownout. Using this paradigm, applications can be designed to robustly withstand unpredictable runtime variations, without over-provisioning. The paradigm is based on optional code that can be dynamically deactivated through decisions based on control theory.
We modified two popular web application prototypes - RUBiS and RUBBoS - with less than 170 lines of code, to make them brownout-compliant. Experiments show that brownout self-adaptation dramatically improves the ability to withstand flash-crowds and hardware failures.
Originalspråk | engelska |
---|---|
Status | Accepted/In press - 2014 |
Evenemang | 36th International Conference on Software Engineering (ICSE) - Hyderabad, Indien Varaktighet: 2014 maj 31 → … |
Konferens
Konferens | 36th International Conference on Software Engineering (ICSE) |
---|---|
Land/Territorium | Indien |
Ort | Hyderabad |
Period | 2014/05/31 → … |
Bibliografisk information
Accepted for publication at ICSE 2014.Ämnesklassifikation (UKÄ)
- Reglerteknik