With great power comes... great management?
Typically laptop users are the ones who care most about power consumption, as it directly affects battery life, but it's also a full-on concern for those who are looking at their energy bills – and this includes massive corporations where pennies can multiply into thousands of dollars.
Windows 8 will have a host of new features that make the user experience more productive and enjoyable, but under the hood will be further efforts in efficient and effective power management.
Pat Stemen, a program manager on the Windows Kernel team, detailed on the B8 Blog three innovations in Windows 8 that influence power consumption: the Metro style app model, idle hygiene, and a new runtime device power management framework.
On the Metro style app model:
The Metro style application model is designed from the beginning to be power-friendly. The power management benefit is that the model makes it easy for developers to ensure their application is running only at the right time—applications in the background are suspended such that they do not consume resources and power when not in use.
Of course, we recognize that background activity is a critical component of apps that are always connected and responsive. The Metro style application model and the underlying WinRT support background activity through a new set of capabilities called background tasks. … Background tasks make it easy to perform background activity in a power-friendly fashion. They also enable developers to continue to deliver responsiveness and “freshness” in their applications, but the mechanisms are different than the existing Win32 model because of the desire for a fast-and-fluid interface and the other key attributes of Metro style apps….
On idle hygiene:
Most PC platforms feature processor and chipset idle states that allow the hardware platform to stop the clock or completely turn off power to parts of the silicon when they are unused. These idle states are absolutely critical to enabling long battery life, but they require a minimal residency duration—that is, you have to be idle for long enough to make the transition in and out of the idle state worthwhile in terms of power used. This is because some power is consumed on the way into and out of the idle state. Software most effectively uses these idle states when there are as few exits from the idle state as possible, and the duration of the idle state is as long as possible.
We track the idle efficiency of Windows 8 using built-in ETW Tracing, some additions to the Windows Performance Analyzer, and a basic histogram. Below, you can see the difference in idle durations between Windows 7 and Windows 8. When the screen is on, we’ve already moved the bar significantly from a maximum idle duration of 15.6ms in Windows 7 to 35% of our durations longer than 100ms in Windows 8! With the screen off and during Connected Standby, our idle durations are even longer, currently in the tens of seconds.
On runtime device power management:
For Windows 8, we’ve built a new device power framework that allows all devices to advertise their power management capabilities and integrate them with a special driver called the Power Engine Plug-in or PEP, designed for SoC systems. The PEP is provided by the silicon manufacturer and knows all of the SoC-specific power management requirements. This allows device drivers like our USB host controller or a keyboard driver to be built once, and still deliver optimal power management on all platforms from SoC-based PCs to datacenter servers.