A Software-Only Approach for Reducing Energy Consumption

Buildings consume a significant amount of energy, and IT loads are quickly dominating the energy usage for these buildings. PCs have long had sleep modes, but most users never use them due to expectations of "always on" network connectivity. With "SleepServer," PCs maintain their network presence and availability even while they are in low-power sleep modes. SleepServer can reduce energy consumption on enterprise PCs previously running 24/7 by an average of 60 percent. This translates into approximately $60 dollars per enterprise PC, per year, on average.

Highly Scalable Architecture

SleepServer creates lightweight virtual images of sleeping PCs, and these pared down images maintain connectivity and respond to applications, such as Voice over IP services, on behalf of the sleeping PCs. Each virtual PC image can also enable remote access to the sleeping PC it represents via protocols such as Remote Desktop, VNC and encrypted connections using SSH. SleepServer is compatible with existing networking infrastructure. It is highly scalable, runs on commodity servers, and is cross platform - it works with Windows and different versions of Linux.

SleepServer seamlessly wakes up the physical PC when its owner tries to connect remotely into the machine from home, thus enabling a remote connection without requiring the PC to remain on for the entire night or weekend. SleepServer will also wake up the physical PC when the user needs to remotely access stored files and media.

Currently, SleepServer can support more than 250 PCs on a single SleepServer machine with plans to scale up to 500 PCs. This means that the entire Computer and Science and Engineering Departmente at UCSD can be supported by as few as two SleepServers. This scalability allows us to maximize the energy savings for a given number of PCs.

Significant Energy Savings

We have instrumented the CSE building as part of our Energy Dashboard efforts and have detailed energy measurements for the building and on individual devices such as desktop computers. Through this we can see how much energy can be saved by using SleepServer. During September 2009, energy consumption by the 30 PCs running SleepServer at that time dropped by 27 to 86 percent, with an average savings of 60 percent - when compared to leaving the machines on 24/7. Currently, more than 50 PCs in the UCSD computer science building are running SleepServer.

A typical computer running SleepServer can save an average of 68% with SleepServer. The graph on the left depicts a PC that is being measured by our Energy Dashboard project, and it is possible to see when the computer goes to sleep while maintaining network connectivity and when it wakes up.

As an example, take a look at a typical desktop before installing SleepServer, and after installing SleepServer. With SleepServer, the desktop computer went from 74 kW-H down to 14 kW-H, saving almost 8 dollars in electricty costs for that month alone. Multiplied over all the PCs in an enterprise, that adds up to significant energy and dollar savings. Here is that same computer from April 2009 to April 2010. Notice the drop in energy use starting in Sept, when SleepServer was initially deployed.

Resources and News

"SleepServers: A Software-Only Approach for Reducing the Energy Consumption of PCs within Enterprise Environments". [PDF]
Yuvraj Agarwal, Stefan Savage and Rajesh Gupta.
In Proceedings of the USENIX Annual Technical Conference (USENIX ATC '10), June 2010.

Recently, we were awarded a prestigious San Diego CleanTech Innovation award.


SleepServer is a project of the MESL Lab at the CSE Dept of UCSD. The primary researcher who developed SleepServer is Dr. Yuvraj Agarwal, who was advised by Prof. Rajesh Gupta and Prof. Stefan Savage. In addition, Thomas Weng has helped out with the deployment and the energy visualization aspects of the project. To contact us regarding deploying SleepServer, please email Yuvraj Agarwal.


Q: What would I need to do to support SleepServers in my enterprise?
A: All you need is a commodity server computer running our SleepServer, and a small program that should be installed on all the host PCs. That's it! No additional hardware, no hypervisor or Virtual Machine Monitor (VMM) on the individual hosts.

Q: How does SleepServer differ from proxing solutions like Apple Bounjour SleepProxy?
A: Both systems will wake up your system on certain network requests, but only SleepServer can proxy stateful applications like downloads on your behalf. SleepServer is also cross-platform; i.e. it is compatible with different operating systems (Windows, Linux), not just Apple computers running the latest MacOS connected to a Bonjour enabled Airport Express. In addition SleepServer is geared towards enterprises, with proven enterprise features such as scalability, management and security.