Personal computers in enterprise environments save energy and money by "sleep-working," thanks to new software called SleepServer created by computer scientists from the University of California, San Diego.
Sleep-working enterprise PCs are accessible via remote connections and maintain their presence on Voice over IP, instant messaging, and peer-to-peer networks even though the PCs are in low-power sleep mode. SleepServer can reduce energy consumption on enterprise PCs previously running 24/7 by an average of 60 percent, according to a new peer-reviewed study presented by UC San Diego computer scientists on June 24 at the 2010 USENIX Annual Technical Conference in Boston.
"SleepServer: A Software-Only Approach for Reducing the Energy Consumption of PCs within Enterprise Environments," by Yuvraj Agarwal, Stefan Savage and Rajesh Gupta from the Department of Computer Science and Engineering at the UC San Diego Jacobs School of Engineering, will be published in the Proceedings of the USENIX Annual Technical Conference, June 2010.
SleepServer creates lightweight virtual images of sleeping PCs, and these pared down images maintain connectivity and respond to applications, such as Voice over IP, instant messaging, and peer-to-peer 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. A MAC OSx version is being developed.
"One of the big benefits of SleepServer is configurable on-demand wakeup. SleepServer enables enterprise PCs to remain asleep for long periods of time while still maintaining the illusion of network connectivity and seamless availability," says Yuvraj Agarwal, the UC San Diego Research Scientist in the Department of Computer Science and Engineering who developed SleepServer.
Putting PCs to sleep that routinely run all night and all weekend saves energy and money.
"Reducing the electricity required to run our information technology infrastructure is an absolute must, and our SleepServer technology is an important step in this direction," says Agarwal. "Our goal with SleepServer is to help buildings with heavy IT-loads reach net-zero energy use—so that these buildings effectively become carbon neutral by generating as much renewable energy as they consume."
At the 2010 Design Automation Conference on June 17, Agarwal and UC San Diego environmental engineering professor Jan Kleissl presented their calculations on how SleepServer can play an important role in balancing a modern building's energy consumption and renewable-energy generation over a one-year period.
During September 2009, the energy consumed by the 30 PCs running SleepServer 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.
"I have seen an almost 70 percent energy savings on my PC over the last six months," says Agarwal.
"According to our measurements, SleepServer provides $60 dollars of cost savings per PC on average over an entire year. By deploying SleepServer across the CSE Department, we expect to save approximately $60,000 dollars annually in direct energy costs alone," says Rajesh Gupta, Professor and Chair of the Department of Computer Science and Engineering at the UC San Diego Jacobs School of Engineering.
Individual SleepServer users can view their personal energy savings via password-protected energy-use profiles on the UC San Diego Energy Dashboard.
"If you cannot measure energy use, you will not be able to make much headway in reducing your energy footprint," says Agarwal.
When a PC goes into low-power mode, the SleepServer software activates the PC's lightweight virtual image which then masquerades as the physical PC. The image responds to network events on behalf of the sleeping PC. Virtual PC images have heavily pared down computation and memory resources, and streamlined software applications called "stubs."
"Our ability to support stateful applications, which continuously communicate state information or perform data transfer over the network, using stubs, is a major differentiator between SleepServer and other solutions aimed at providing smart power management for idle PCs," says Agarwal.
Hundreds of the lightweight virtual images can populate a single commodity server running SleepServer. Routine network packets addressed to a sleeping PC are routed to its virtual image which then responds appropriately, thus enabling the physical PC to sleep. Individual SleepServer images only wake up the physical PC when it receives a request that the virtual image cannot handle—or has been configured not to handle.
"Our SleepServer architecture is suited to support future applications that may require continuous network presence. This is something that other proxying solutions, like Apple's Wake-on-Demand or Bonjour SleepProxy, or Microsoft's Sleep Proxy cannot handle since they typically just wake up the PC on any network request," says Agarwal. "In addition, these energy-management tools are not geared towards enterprises which require support for a diverse set of hardware and operating systems, which is where the cross-platform and incrementally deployable architecture of SleepServer excels."
Virtual PCs Work, Physical PCs Sleep
Most of the 30 users in the initial SleepServer deployment had disabled the timers meant to put PCs to sleep automatically when they are not being used because they needed their PCs to remain awake at all times to support a variety of applications, says Agarwal. "Once we deployed SleepServer, all of our original users were able to put their PCs to sleep, even those running server applications."
Agarwal, SleepServer's primary developer, previously developed Somniloquy, a version of this technology that required individual hardware to be installed on each PC. "In effect, we have succeeded in providing similar functionality to Somniloquy but as a software-only solution that can be deployed immediately within enterprises," he says.
Throughout 2010, the computer scientists plan to deploy SleepServer across the approximately 1,000 PCs in UCSD's Department of Computer Science and Engineering. The next step will be to deploy SleepServer across the entire campus.
"We are a very heterogeneous department. If SleepServer can support the diverse computing needs of the computer science department, it should be able to support anyone. Most enterprises don't have eight different versions of operating systems running at the same time," says Agarwal.
The SleepServer developers recently won a San Diego Clean Tech Innovation and Commercialization grant. Funds from this program support commercialization of clean technology innovations developed at San Diego universities.
Enterprise PCs are not the final destination for SleepServer. "We are looking to use SleepServer to save energy in enterprise compute servers, and we plan to create an application to help people save energy on home computers," Agarwal says.