Microsoft bolsters power management in Windows 7

Developers look at how to better manage idle state, devices, and extensions

Though still just in beta, Windows 7 is already accumulating kudos around the industry (or the blogosphere, at least) as being faster and more stable than Vista with Service Pack 1. The developers at Microsoft clearly put a lot of thought into this new OS, and one important feature that wasn't ignored is power management. This trait should be of interest to companies looking to reduce their energy bills as well as to mobile computer users who need to squeeze as much battery life out of their machines as possible.

Indeed, according to Dean DeWhitt, a member of the Windows 7 kernel program management team, "In engineering Windows 7, our goal is to deliver the capabilities and features users want from a Windows PC while reducing power consumption over previous releases."

[ Can your system run Windows 7? Find out with InfoWorld's compatibility checker. | Test Center: Windows 7 benchmarks unmasked ]

Notably, the burden of reducing PC energy consumption doesn't fall squarely on the shoulders on the operating system; hardware has a part to play. "Windows is responsible for managing the power state of many devices, including the processor, hard drive, and display, [but] the remaining devices and software running on the computer have just as much (if not more) impact on power consumption and battery life. This is a challenge for everyone contributing to the PC experience," DeWhitt writes.

The role of the OS, specifically, is "making smart trade-offs between performance and power consumption based on usage and allowing the end-user to dictate power management policy through power plans and settings," DeWhitt writes. "The challenges in this area are to properly manage device power and to ensure new Windows features are as efficient as possible in the amount of system resources (CPU, memory, and disk) they use."

Windows 7 still retains the power management feature through the Power Option in the control panel, through which users can adjust power settings to meet their preferences. You can set the display to power down during periods of inactivity. You can put the system to sleep. You also have the option to custom tailor a power plan to meet your specific needs, reaping power savings and prolonging battery life.

New to the OS, though: The developers have been "focusing on reducing idle power consumption and supporting new device power modes," according to DeWhitt.

DeWhitt cites two reasons for optimizing idle power consumption on the machine. First, he points out that a PC is idle various times throughout the day, and the more the system gets to that state and remains idle, the less power it uses.

Second, he notes, "idle power consumption is the 'base' power consumption of all other workloads." When the machine has other workloads, it will consume additional power over that idle power. Lowering that idle power consumption leads to improved energy efficiency. Achieving that goal, per DeWhitt, entails optimizing the amount of processor, memory, and disk utilization.

The Windows 7 team reports areas of investment in the OS that help reduce process utilization, thereby enabling longer periods of time where the processor can enter into low-power modes. " One of these investments is in the area of services that are running on the platform and having those services only start when they are required, referred to as 'Trigger-Start,'" writes DeWhitt. "While these services are efficient and have minimal impact by themselves, the additive effect of several services can add up. We are looking at smart ways to manage these services within Windows but also making our investments in this area extensible for others who are writing services to take advantage of this infrastructure."

The Windows 7 team is also focusing on improving core-processor power management: The OS "scales processor performance based on the current amount of utilization," DeWhitt writes, "and making sure Windows only increases processor performance when absolutely required can have a big impact on power consumption."

USB devices and their impact on energy consumption has not been forgotten. The team has injected in Windows 7 the ability to selectively suspend USB devices of all types, including audio, biometrics, scanners, and smart cards. That translates to a more energy-efficient PC, according to DeWhitt. Beyond USB devices, Microsoft has improved power management of both wired and wireless networking devices.

Road warriors who watch movies in transit will be happy to know that with Windows 7 comes the optimization of DVD playback, including reduced processor and graphics utilization, audio improvements, and optical disk drive enhancement. The payoff: increased battery life across a broad range of mobile platforms, according to DeWhitt.

In its quest to reduce energy waste, the Windows 7 team also honed in on extensions, including graphics devices, device drivers, background services, and installed applications. "Large improvements in power consumption and energy efficiency can be realized by improving the efficiency of platform extensions," writes DeWhitt.

He proposes as an example a single USB device that does not support Selective Suspend. "That USB device itself may have very low power consumption (e.g., a fingerprint reader), but until that device enters the suspend state, the processor and chipset must poll the device at a very high frequency to see if there is new data. That polling prevents the processor from entering low-power idle states and, on a typical business-class notebook, reduces battery life by 20 to 25 percent," he writes.

He presents a second example, this time of an application that increases platform timer resolution, which means the processor won't be able to use low-power idle modes efficiently. "We have observed a single application that keeps the timer resolution increased to 1ms can have up to a 10 percent impact on battery life on a typical notebook PC," writes DeWhitt.

To address these types of issues, the Windows 7 team has developed a new inbox utility that provides an HTML report of energy efficiency issues. "If you want to try it out on Windows 7, run powercfg /energy at an elevated command prompt," DeWhitt writes. "Be sure to close any open applications and documents before running powercfg; this utility is designed to find energy efficiency problems when the system is idle. powercfg with the /energy parameter can detect USB devices that are not suspending and applications that have increased the platform timer resolution."