Using the concept of brownouts, i.e. supplying a little less to everyone, in order not to cut off some users completely, researchers at the Department of Automatic Control have developed a new approach to handling dynamic resource capacity issues in cloud computing – which has attracted the interest of several web giants.
Cloud computing is expected to become one of the main technologies driving the future economy. However, variability in the number of users, with unexpected peaks in the volume of requests, for example, during natural disasters or upon the death of celebrities, as well as unexpected hardware failures, requires costly hardware over-provisioning for many companies providing cloud computing services. Martina Maggio, associate professor at the Department of Automatic Control, and her colleagues have developed a solution to the problem.
“Given the often relatively short duration of the peaks, we suggest that it is more profitable to temporarily downgrade user experience rather than to continuously increase server capacity. We call it the brownout paradigm.”
Optional functions are turned off
The concept of brownouts comes from the power industry, where intentional voltage drops are often used to prevent blackouts in the case of emergencies. In such a situation, incandescent light bulbs dim – emitting less light and consuming less power – hence the term brownout.
“The same basic principle can be applied to cloud computing. By deciding which functions are mandatory and which are optional, you can turn off the optional ones when user workload increases or server capacity goes down.”
Martina Maggio uses an online shop as an example. The mandatory function is providing information on what the user wants to buy. Advertising and recommendations are of course preferable, since they increase user experience as well as owner revenue, but they are not necessary. By disabling the optional functions and replacing them with images requiring no computing capacity at all, all the users can be served within a reasonable time frame, and no one will be cut off completely in the case of capacity shortages.
170 lines of code is all it takes
This concept was tested on two different e-commerce applications. The result?
“We were able to make the applications brownout-compliant with less than 170 lines of code, and improve the capacity of software applications to withstand flash crowds and hardware failures”, says Martina Maggio.
However, the brownout concept is not limited to e-commerce applications.
“It’s applicable to many different systems, apart from online shopping, for example, online newspapers and search engines. The only thing you really have to do is to decide which functions of your system are mandatory and which are not.” And then add the optional code, which can be dynamically deactivated through decisions based on control theory – all automatic of course, reducing the maintenance required for the system.
The 170 lines of code developed by the researchers are now freely available on the web: github.com/cloud-control/. Several web giants have contacted the researchers to discuss the concept.
“They all have similar ways of avoiding overload, but not exactly the same as our concept”, says Martina Maggio. And it definitely isn’t free.
“For us it was never a matter of money. We like being open and giving people the possibility to use simple but smart solutions like this one.” Another important incentive for the researchers was energy efficiency. “Having high spare capacity to handle occasional peaks requires a lot of energy. There have been complaints about the energy intensity of large data centers, particularly as reducing our energy consumption is now an important issue. Employing our concept, or concepts similar to ours, will make the spare capacity of large data centers redundant.”
Martina Maggio has now moved on to improving other systems, among them surveillance camera and security systems. But what she really wants to do is to inform people about what a powerful tool automatic control can be.
“Automatic control is everywhere around us, but most people are not aware of it. Control theory can be extremely useful, and I am eager to show people how easily it can be used to improve systems and increase their efficiency.”