Over the weekend, Digg pumped the article "How Windows XP wasted $25 billion of energy" from the Treehugger.com Web site. Fellow blogger Adrian Kingsley-Hughes offered his take on it here. I'm going to get straight to the point: The article was not only unfair but wrong, and I will back that up with facts.
The article claims that Microsoft committed these three energy sins with Windows XP:
- The default power-saving option is set to High Performance.
- Applications can "veto" sleep (AKA suspend) mode.
- There is a lack of central management capability.
First of all, most users demand that their computers be set to High Performance. The power savings aren't all that great or are totally nonexistent in desktop computers anyway, since you need hardware throttling support. Until recently, power throttling has been an exclusive domain of Notebook computers, but modern desktop computers based on Intel and AMD have added this feature with Intel SpeedStep and AMD Cool'n'Quiet. The problem is that it's only the difference between 180 watts versus 155 watts in idle, which really doesn't make that much difference.
So this is really a hardware issue and not an operating system issue. Treehugger was wrong to lay the blame for this on Microsoft because it lacks the technical understanding of how this actually works. Its example of "flooring a Honda at every green light" is simply way off the mark.
Second, having a veto mode for applications is a programmatic tool in Windows XP with legitimate purposes. Even though operating systems are smart enough to avoid sleep state based on CPU, network, or disk activity, there is a valid case to be made for a manual override option. Microsoft determined that
too many developers were abusing the sleep veto function, so it decided to
remove the function entirely in Vista (although it can be re-enabled manually
via the registry). It wasn't Microsoft's fault that the feature was being
abused by developers, but it made the right decision to remove that default
Third, what operating system other than
The fact of the matter is, Treehugger doesn't have a clue about power management technology, and that $25 billion waste figure attributed to Windows XP is pulled out of thin air. The key issues surrounding PC power management, which I cover later in this article, were totally missed--which means Treehugger missed the opportunity to educate people on the real facts and issues of PC energy conservation.
The facts on PC power management
I've tested and measured Windows XP and Vista power management features extensively with various hardware, and I can tell you it's not as easy as throwing a few switches here and there in the OS. Windows XP, for example, has a default registry key that prevents PCs from dropping down to S3 sleep mode when USB KB/Mouse devices are detected, because the motherboard might fail to wake up. S3 is a state in which a PC is using nearly zero power and using barely enough to keep the contents of RAM intact. Without S3 mode, a PC suspends to S1 mode. S1 sleep mode on my desktop computer still burns up 150 watts of power, which really isn't any better than regular idle mode.
When I first heard about this registry key, I was shocked and thought there was some kind of monumental mistake in Windows XP default settings. After I did some testing on three of my desktop machines, I determined that this is mostly a hardware limitation. Microsoft can't risk a default setting that renders even a small fraction of PCs unable to wake when a USB keyboard and mouse are plugged in, even if most hardware doesn't have this problem.
Furthermore, the registry setting for enabling S3 mode was worthless on all three of my desktop machines because the hardware didn't support S3 mode. When I spoke with a Microsoft engineer on this issue, he explained that most OEM PC makers did support this feature and they properly set the registry key to take advantage of it, although I haven't been able to figure out which PC makers and which models support S3 sleep. However, corporations that built their own Windows XP images will have to determine hardware compatibility and set this registry key manually. (You can download the registry file to do this here.) Given the fact that Windows XP was released in 2001, when hardware support was more questionable, I can understand the conservative setting in Windows XP to avoid wakeup problems.
Windows Vista, which will be released in 2007, will have S3
sleep mode enabled by default, although it didn't help me on the three desktop
machines I tested.
The last change in Windows Vista is that users no longer need to be an administrator with root privileges to change the power management settings, though the settings can always be overridden by Group Policy. Group Policy settings follow a logical hierarchical inheritance model that can be company wide or implemented only at the OU (organizational unit) level, although exceptions can be made at the individual or OU level.
With all this talk of suspend mode, a glaring fact is frequently missed: People often do not want their PCs to sleep because they can't get to the system remotely any time they want. Microsoft SMS or other enterprise management tools will permit companies to wake their PCs remotely, but this doesn't help most people. Windows Update and Media Center aren't a big issue because those applications can arm the real-time clock on a PC to wake the system at a certain time to get updates or record TV shows. But most people don't have an SMS server in their home or even their business, and they want to do more than timed wakeups from Windows Update and Media Center.
Users want to be able to get to their files, which may be spread out over multiple PCs, or they want to be able to remote in to their PC. There is currently no easy way to do that while the PC is in any suspend state, which means many consumers won't want to use suspend. The real solution is to build PCs that drop their CPU, GPU, and memory clock cycles along with voltages into an ultra-low power idle mode where the PC still functions but only at a fraction of the speed. I've been calling for this for almost two years.
The modern PC is more than fast enough to operate at 1/10th the speed while running tasks like BitTorrent (often an overnight or multiple-day affair), office productivity tools, and DVD or video playback. There's no reason why the PC industry couldn't build a PC that runs as fast as an overclocked monster using 300 watts of power when gaming but throttle back down to 10 or 20 watts in super-idle mode. I'm aware of a few potential motherboard solutions that may offer these features now, but I won't mention them until I test those features in the near future.
I've been calling for energy efficient PCs for a long time, and not just for environmental reasons--it has a direct impact on your wallet. The funny thing is that most people would scream bloody murder if you raised their Internet connection bill by $20/month, but they don't bat an eye at their $300/month electric bill. A modern desktop PC that's turned on 24x7 could easily cost you $20/month in electricity, and that's not including the extra load on your air conditioning bill during the summer.