To give a better understanding of the “big picture” of my research, I’d like to talk about why I am doing this. Shortening the boot time of a computer seems nice, but not necessary. An important application that I’d like to focus is its application in data centers.
The demand for large data centers has been rising along with the Internet boom. Starting with the familiar consumer-facing social medias like Facebook, Twitter and Instagram to larger business-facing services like Amazon AWS and Akamai, services need a lot of servers to operate. These servers reside in a space called data centers, which consist of thousands of computers. Every time we post a photo on Instagram or watch a video on Youtube, we’re communicating with one of these servers.
One thing to note about servers in a data center is that they are left on all the time, even when they are not being used. On average, 90% of the servers in a datacenter are idle (not doing anything). The reason for this is mainly because of unpredictable peak usage from the consumer side. If 90% of these servers are turned off and then suddenly the number of users increases, the service cannot meet the needs of consumers. (Who wants to wait a minute for a Google search, or 3 minutes for a photo on Facebook, or 2 hours for a video on Youtube? Certainly not me) This can result in a serious damage to the company’s business, so data center operators are hesitant to turn off any servers even if they aren’t being used.
The result of idle servers lead to an enormous power consumption. A report from the Natural Resources Defense Council says that U.S. data centers consumed 91 billion KWh of electricity, which is enough to power all of New York City’s households twice over.
Researchers have been focusing on algorithms that try to turn off idle servers. An example is AutoScale, a policy based on leaving a “padding” of idle servers. Servers cannot be turned off easily because servers take a very long time to boot – usually around 300 seconds. In order to bridge this gap, AutoScale leaves on extra servers on and turns off the rest, and when there is an increase in the request, more servers than needed are turned on, while the excess servers are dealing with the increase in request.
The idea of my research is that if the long boot time of servers – 300 seconds currently – can be brought down to few seconds, fewer “extra” servers can be left on when adopting policies like AutoScale to actual mechanisms. Eventually this can lead to a more realistic and efficient adaptation of algorithms like AutoScale, contributing to saving energy consumption of data centers.