Don’t lose sleep over availability: The GreenUp decentralized wakeup service
- Siddhartha Sen ,
- Jacob R. Lorch ,
- Richard Hughes ,
- Carlos Garcia Jurado Suarez ,
- Brian Zill ,
- Weverton Cordeiro ,
- Jitendra Padhye ,
- Jay Lorch ,
- Jitu Padhye
Proc. 9th Networked Systems Design and Implementation (NSDI) |
14 pages
Large enterprises can save significant energy and
money by putting idle desktop machines to sleep. Many
systems that let desktops sleep and wake them on demand
have been proposed, but enterprise IT departments
refuse to deploy them because they require special hardware,
disruptive virtualization technology, or dedicated
per-subnet proxies, none of which are cost-effective. In
response, we devised GreenUp, a minimal software-only
system that allows any machine to act as a proxy for
other sleeping machines in its subnet. To achieve this,
GreenUp uses novel distributed techniques that spread
load through randomization, efficiently synchronize state
within a subnet, and maintain a minimum number of
proxies despite the potential for correlated sleep times.
In this paper, we present the details of GreenUp’s design
as well as a theoretical analysis demonstrating its correctness
and efficiency, using empirically-derived models
where appropriate. We also present results and lessons
from a seven-month live deployment on over 100 machines;
a larger deployment on ~1,100 machines is currently
ongoing.