Advanced

Brownout: Building More Robust Cloud Applications

Klein, Cristian; Maggio, Martina LU ; Årzén, Karl-Erik LU and Hernández-Rodriguez, Francisco (2014) 36th International Conference on Software Engineering (ICSE)
Abstract
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.

... (More)
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. (Less)
Please use this url to cite or link to this publication:
author
organization
publishing date
type
Contribution to conference
publication status
in press
subject
conference name
36th International Conference on Software Engineering (ICSE)
language
English
LU publication?
yes
id
4163b4d5-60e1-4dea-8716-7aefc992b895 (old id 4249333)
date added to LUP
2014-01-17 11:55:22
date last changed
2016-04-16 12:21:51
@misc{4163b4d5-60e1-4dea-8716-7aefc992b895,
  abstract     = {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.<br/><br>
<br/><br>
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.<br/><br>
<br/><br>
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.},
  author       = {Klein, Cristian and Maggio, Martina and Årzén, Karl-Erik and Hernández-Rodriguez, Francisco},
  language     = {eng},
  title        = {Brownout: Building More Robust Cloud Applications},
  year         = {2014},
}