impact of 'idle' software on battery life - intel · – all processes/threads, user +...
TRANSCRIPT
![Page 1: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/1.jpg)
Impact of “Idle” Software on Battery Life
Session ID: EBLS002
Manuj Sabharwal, Application EngineerEunice Chang, Engineering Manager
![Page 2: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/2.jpg)
Agenda
• Importance of Battery Life• Role of Software in Battery Life
• Case Study: “Idle” Software Applications Overhead
• Tools for Analyzing Power Overhead
• Case Studies: Browser, Media Playback, Messaging
• Call to Action• Q/A
2
![Page 3: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/3.jpg)
3
How Critical is Laptop Battery Life and the Impact of
Software?
![Page 4: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/4.jpg)
Top Mobile Computing Needs
13%
15%
22%
42%
40%
45%
60%
66%
Make it Smaller
Better Appearance/Looks
Larger Screen/Display
Make it Lighter
Better Range of Wireless Internet …
More Storage/Bigger Hard Drive
Better Performance/Improve Speed of …
Consume Less Energy/Better Battery
Consumers’ Most Desired Laptop Configuration Improvements(Results when end-used named their top 3)
Source: Internal Worldwide Market Research, 2010
![Page 5: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/5.jpg)
Software Energy-Efficiency
• Platform hardware designed with aggressive power management especially when idle (e.g. ACPI, C/Pstates, PCIE ASPM, SATA LPM, etc.)
• Software (OS, FW, Drivers) plays important role in platform energy efficiency
• Energy-efficient applications, when idle, should have minimal impact on platform power consumption– Ideally, application at idle should consume no additional
energy
A single ill-behaving application can thwart all of the power management benefits built into system.
5
![Page 6: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/6.jpg)
6
A Case Study of “Idle” Software Apps
![Page 7: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/7.jpg)
Case Study
• Intel® Core2 Duo based Mobile Reference Platform• Core i5 T6600 (Dual Core, 2.2 GHz)• Windows* 7, 64-bit• Intel® Solid State Drive• Wired LAN
• (Power) Fluke* NetDAQ
Select 25 common applications including:• 4 web browsers• 5 media playback applications• 5 messaging applications• 2 virus scanners
The Measurement System
The Measured Applications
7
![Page 8: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/8.jpg)
Study Results
8
0
1
2
3
4
5
Chat Photo Virus Productivity Plugin Browsers MediaPlayers
Pow
er O
ver B
asel
ine
(Wat
ts)
Messaging Media PlayersPhoto Productivity Plug-ins Browsers
Deep Dive #1
Deep Dive #2
Deep Dive #3
Anti-Virus
The Power comparisons shown is based on the Intel® Core™ i5 Mobile Processor using NetDAQ® Fluke ® instrument . Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance/Power
Lower is Better
![Page 9: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/9.jpg)
Battery Life Impact
Idle power increase has significant battery life impact
9
4
5
6
7
8
9
10
0 1 2 3 4 5
Batt
ery
Life
(Hou
rs)
Additional Power (Watts)
UltraThin, 56WHr, 6W Idle
Mainstream, 64WHr, 9W Idle
0.5W~20Min
2W~75Min
0.5W~45Min
![Page 10: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/10.jpg)
Deep Dive Detail Methodology
• Component Power (CPU, Chipset, HDD, LAN/Wifi)
• Software Tools: Hardware, Driver, Operating System, Software Timers, Memory Utilization, ...– Windows* Powercfg– Battery Life Analyzer– Windows* Performance Analyzer Toolkit
(aka “xPerf”)
10
![Page 11: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/11.jpg)
Windows* Powercfg
• Command-line utility to control the power settings• Inbox with Windows* 7, Leverages ETW• Power Schemes, Hibernate, Standby, Wake Timer / Devices
• -ENERGY Option– Platform timers, changes to timers by the application process/dll
– Processor Utilization per process
– Power Management Settings in Hardware and OS
– Needs to run in Administrator Mode, can output raw .etl traces
• Attend EBLS003 Mobile Platform Idle Power Optimization –Methodologies and Tools for demo and details
Quick & Easy to Identify Common Problems
11
![Page 12: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/12.jpg)
Battery Life Analyzer
• New Tool written by Intel• Simple GUI interface
• Identify misbehaving drivers, processes, and hardware that prevent the platform from entering low power states
• Provides power impact estimate based on an algorithm for each offending piece of hardware/software
• Attend EBLS003 Mobile Platform Idle Power Optimization –Methodologies and Tools for demo and details
12
Identify, Analyze, and Summarize – All in one tool
![Page 13: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/13.jpg)
Windows* Performance Toolkit - xPerf
• Built by Microsoft, Available in Windows* 7 SDK• Leverage ETW (Event Tracing for Windows) Technology
• Wide range of OS performance analysis in a trace file– All processes/threads, User + kernel mode, DPCs and ISRs,
Scheduling, Disk and file I/O, Memory, Network, …
• Some Issues xPerf can help identify:– Responsiveness issues
– Long delays in applications, Slow On/Off transitions
– High CPU usage, High Disk usage
13
Feature-rich Tool for Detailed Power Performance Analysis
![Page 14: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/14.jpg)
14
Analysis of Two Case Studies
![Page 15: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/15.jpg)
Deep Dive #1
Investigation #1 – A Browser Application
15
2.42.7 2.6
0.8
1.4 1.4
2.12.4
1.6
2.2 2.3
4.6
0
1
2
3
4
5
Chat/VoiP PhotoEdit VirusScanProductivity Browser MediaPlayer
Pow
er O
ver B
asel
ine
(Wat
ts)
Messaging Media PlayersBrowser
*The Power comparisons shown is based on the Intel® Core™ i5 Mobile Processor using NetDAQ® Fluke ® instrument . Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance/Power
CPU60%
Chipset33%
Other7%
VirusScan
PhotoEdit
Productivity
![Page 16: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/16.jpg)
System Idle vs. Browser Idle CPU Package Power
16
Runtime graph for core package power Showing browser power consumption
0.00
0.50
1.00
1.50
2.00
2.50
3.00
3.50
4.00
1 22 43 64 85 106
127
148
169
190
211
232
253
274
295
316
337
358
379
400
421
442
463
484
505
526
547
568
589
610
631
652
673
694
715
736
757
778
799
820
841
862
883
904
925
946
967
988
1009
1030
1051
1072
Pow
er(W
)
System Idle vs. Browser Idle total CPU Package Power
System Idle Power Browser Idle Power
Why there is an increase in Browser Idle power from System Idle?
Workload Platform Power CPU Power
Browser Application 12.06 2.63System Idle 10.12 1.46
The Power comparisons shown is based on the Intel® Core™ i5 Mobile Processor using NetDAQ® Fluke ® instrument. Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance
![Page 17: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/17.jpg)
Battery Life Analyzer Analysis
17
0
20
40
60
80
100
Package0 C0 - C1 Package0 C2 Package0 C3 Package0 C6
Ave
rage
(%)
Average C State Residency Change - System idle vs. Browser Idle
Average System idle(%) Average Browser Idle
Increase due to Operational State activity
I/O controller operations
Browser Idle spends less time deep C state
Few Things to Know :
• C-states: Collection of Idle State.
– The deeper the C-States allows to achieve the low power consumption, but more time is required for the CPU to “wake up”.
• Average C-State Residency is average residency in each C-State over period of time
• Deeper C-state Residency(C6), more power savings (System Idle)
• Periodic activity results in more time spent in C0-states (Browser Idle)
![Page 18: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/18.jpg)
Windows* Powercfg
Command line utility giving call stack of module setting timer tick to 1ms
18
Browser setting Timer Tick to 1msec
![Page 19: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/19.jpg)
Causes: Idle State Power Consumption
• Context Switches – Process of storing and restoring state of a CPU– Increase due to OS requires
to take control of the CPU to do
storing and restoring task.
– More details on cause of
high context switches on next
slide
• System calls– Increase in periodic
calls/sec due to
clock interrupts
hal.dll: Interrupt Servicing
- much higher for application idle19
Image Name System Idle Calls/sec
Browser Calls/sec
hal.dll 64.1 999.9
ataport.SYS 3.0 1.0
ACPI.sys 0.4 0.4
USBPORT.SYS 3.0 2.9
Image Name Context Switches at system idle
Context Switches Browser
Platform Activity 53 550
![Page 20: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/20.jpg)
Windows* Performance Toolkit - xPerfAnalysis for Browser
20
Process Timer Interval Remarks
Browser.exe 150msec GetMessageW
21msec SendMessage
20msec Sleep
Browser Service 4 msec FlushFileBuffers
20 msec WaitForSingleObject()
xPerf shows frequent CPU activities for browser app due to many periodic activities
Can periodic intervals prolonged and their activities coalesced ?
Alternatives? -Optimized Sleep version to give better performance and power.-Use user land locks if possible instead of WaitForSingleObject-Use unbuffered I/O instead of calling FlushFileBuffers
![Page 21: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/21.jpg)
Effect Of Timer-Tick On Browser Application
21
Timer-Tick Value Platform Power CPU Package Power
1msec (Default app Idle) 12.06 2.6310msec 11.04 1.95
System Idle 10.12 1.46
Out of Box, this browser uses 60 extra minutes battery life at “idle” on a standard 64Whr battery
• Timer-Tick change saves 1.02 Watts of total power at platform level.
The Power comparisons shown is based on the Intel Core i5- T6600 processor using NetDAQ® Fluke ® instrument. Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance/Power
![Page 22: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/22.jpg)
• Application appears to be setting a timer interval of 1ms• The total average CPU utilization < 0.2%• Many periodic activity with small intervals causing CPU wakeup by
polling drivers
22
Analysis
• Don’t make the timer tick change request until it’s necessary
• Use event driven code rather than polling CPU
• Review the necessity of periodic activity and minimize
• Use un-buffered I/O instead of calling FlushFileBuffers
Recommendations:
![Page 23: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/23.jpg)
2.42.7 2.6
0.8
1.4 1.4
2.12.4
1.6
2.2 2.3
4.6
0
1
2
3
4
5
Chat/VoiP PhotoEdit VirusScanProductivity Browser MediaPlayer
Pow
er O
ver B
asel
ine
(Wat
ts)
Messaging Media PlayersBrowserVirusScan
PhotoEdit
Productivity
Investigation #2 – A Playback Application
Deep Dive #2
23 *The Power comparisons shown is based on the Intel® Core™ i5 Mobile Processor using NetDAQ® Fluke ® . Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance/Power
CPU39%
Chipset39%
Other22%
![Page 24: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/24.jpg)
Battery Life Analyzer Analysis
24
0
20
40
60
80
100
Package0 C0 - C1 Package0 C2 Package0 C6
C-State Package Residency- System Idle vs. Playback Idle
System Idle Playback Idle
App preventing CPU to alow power sleep state
Top Cause for CPU to wakeup can be analyzed using xPerfand Battery Life Analyzer
• CPU can enter different idle power states• Lower power states use less power but the CPU will take longer to
transition to a higher power state. – Example – If CPU is in C6 it will use less power than in C3 but it will
take longer to come out of idle than from C3
![Page 25: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/25.jpg)
Windows* Powercfg
25
Playback Setting Timer Tick to 1.25msec
![Page 26: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/26.jpg)
Battery Life Analyzer for Playback
26
Cause 1: Increase in Context switchesfrom idle due to Timer tick andI/O Activity
Cause 2: Increase in periodic calls/sec due to clock interrupts
At idle reduce the periodic graphics activity such as animation
Causing graphics frame buffer update frequently which is called by playback application.
Image NameContext
Switches at system idle
Context Switches Playback
Platform Activity 53 689
Image Name System Idle Calls/sec
Playback Calls/sec
hal.dll 64.1 800
dxgkrnl.sys 1 210
USBPORT.SYS 10 18
ataport.SYS 3.0 4.2
![Page 27: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/27.jpg)
Windows* Performance Toolkit – xPerf Analysis
27
Timer-Tick Value Platform Power CPU Package Power
1msec(App Default)14.06 4.49
System Idle(15.6msec)10.12 1.46
Process/ Driver Timer Interval Remarks
Playback.exe 10msec Sleep1()
33msec Sleep2()
31msec Sleep3()
xGUISystem 50msec Sleep()
D3D9System 1msec Graphics driver call from Application
• Avoid calling SetThreadExecutionState(ES_DISPLAY_REQUIRED) when there is no playback activity, i.e. at idle
Out of Box, this playback uses 112 extra minutes battery life at “idle” on a standard battery
The Power comparisons shown is based on the Intel® Core™ i5 Mobile Processor using NetDAQ® Fluke ® instrument. Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance/Power
![Page 28: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/28.jpg)
28
Analysis
• Application appears to be setting a timer interval of 1.25ms• Application having frequent periodic activity by calling Sleep API
• Multiple threads are looping at Sleep() independently with various interval. All combined, this process wakes up the processor very frequently
• Application doing a lot of memory copy between CPU & GPU memory
• Do not try to change timer tick from 15.6 ms default when application is at idle.
• Use event driven API calls than Polling.
• Instead of running multiple thread periodically (Sleep() API ) run one thread at the lowest frequency possible, and if necessary, signal to other thread.
• Do not render to the display when it is off
• The system display might be off for power savings. Your application should not perform unnecessary graphics rendering when the display is off because this wastes system resources and power.
Recommendations:
![Page 29: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/29.jpg)
Study Results Summary
29
0
1
2
3
4
5
Chat Photo Virus Productivity Plugin Browsers MediaPlayers
Pow
er O
ver B
asel
ine
(Wat
ts)
Messaging Media PlayersPhoto Productivity Plug-in BrowsersAnti-Virus
Why can’t Application behave like good ones in their own categories?
Browser having low powerconsumption when Idle
Messenger having low powerconsumption when Idle
Playback having low powerconsumption when Idle
Lower is Better
*The Power comparisons shown is based on the Intel® Core™ i5 Mobile Processor using NetDAQ® Fluke ® instrument. Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance/Power
![Page 30: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/30.jpg)
Summary
• Battery Life is an important attribute of Laptop systems
• Case Studies shows power impact at application idle on battery life.
• Changes can be made that do not affect software performance and reduce the impact. E.g. – Avoid use of high-resolution periodic timer– Do not render to the display when it is off– Avoid polling and spinning in tight loops– Use timer coalescing
• Reduce the background application services when idle.
30
![Page 31: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/31.jpg)
Call to Action
• Evaluate the idle impact of your software applications – pay specific attention to timer-tick interrupts
• Ask your suppliers/Vendors to do the same and aware them about power awareness.
• Blog, Ask questions in forums, raise awareness about application that consume too much power
• Promote Green Software• Join Extended Battery Life Working Group
(www.eblwg.org)
31
![Page 32: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/32.jpg)
Additional Resources• Creating Energy Efficient Software (Part 1-4)
http://software.intel.com/en-us/articles/creating-energy-efficient-software-part-1/
• CPU Power Utilization on Intel® Architectures http://software.intel.com/en-us/articles/cpu-power-utilization-on-intel-architectures/
• C-states, C-states and even more C-stateshttp://software.intel.com/en-us/blogs/2008/03/27/update-c-states-c-states-and-even-more-c-states/
• Battery Life Analyzer [email protected]• Mobile PC Extended Battery Life (EBL)
http://www.eblwg.org/index.asp• Battery Life and Energy Efficiency
http://www.microsoft.com/whdc/system/pnppwr/mobilepwr.mspx
• Windows Performance Analysis Toolkit (xPerf)http://msdn.microsoft.com/en-us/performance/cc825801.aspx
32
![Page 33: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/33.jpg)
IDF 2010 Extended Battery Life Sessions
Session # Title Time Room
EBLS001 Interconnect Bus Extensions for Energy-Efficient Platform 10:15 AM 2003
EBLS002 Impact of “Idle” Software on Battery Life 11:15 AM 2003
EBLS003Mobile Platform Idle Power Optimization – Methodologies and Tools
1:05 PM 2003
EBLP001Embedded Display Port: Next Generation of Digital Display Interface for Embedded Application
2:05 PM 2003
33
ü
ü
![Page 34: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/34.jpg)
Legal Disclaimer• INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS.
NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUAL PROPETY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMS AND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITY WHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TO SALE AND/OR USE OF INTEL® PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TO FITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.
• Intel may make changes to specifications and product descriptions at any time, without notice.• All products, dates, and figures specified are preliminary based on current expectations, and are
subject to change without notice.• Intel, processors, chipsets, and desktop boards may contain design defects or errors known as
errata, which may cause the product to deviate from published specifications. Current characterized errata are available on request.
• Performance tests and ratings are measured using specific computer systems and/or components and reflect the approximate performance of Intel products as measured by those tests. Any difference in system hardware or software design or configuration may affect actual performance.
• Intel Core™ i5 Mobile Processor and the Intel logo are trademarks of Intel Corporation in the United States and other countries.
• *Other names and brands may be claimed as the property of others.• Copyright ©2010 Intel Corporation.
34
![Page 35: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/35.jpg)
Risk Factors
35
The above statements and any others in this document that refer to plans and expectations for the second quarter, the year and the future are forward-looking statements that involve a number of risks and uncertainties. Many factors could affect Intel’s actualresults, and variances from Intel’s current expectations regarding such factors could cause actual results to differ materially from those expressed in these forward-looking statements. Intel presently considers the following to be the important factors that could cause actual results to differ materially from the corporation’s expectations. Demand could be different from Intel's expectations due to factors including changes in business and economic conditions; customer acceptance of Intel’s and competitors’ products; changes in customer order patterns including order cancellations; and changes in the level of inventory at customers. Intel operates in intensely competitive industries that are characterized by a high percentage of costs that are fixed or difficult to reduce in the short term and product demand that is highly variable and difficult to forecast. Additionally, Intel is in the process of transitioning to its next generation of products on 32nm process technology, and there could be execution issues associated with these changes, including product defects and errata along with lower than anticipated manufacturing yields. Revenue and the gross margin percentage are affected by the timing of new Intel product introductions and the demand for and market acceptance of Intel's products; actions taken by Intel's competitors, including product offerings and introductions, marketing programs and pricingpressures and Intel’s response to such actions; defects or disruptions in the supply of materials or resources; and Intel’s ability to respond quickly to technological developments and to incorporate new features into its products. The gross margin percentage could vary significantly from expectations based on changes in revenue levels; product mix and pricing; start-up costs, including costs associated with the new 32nm process technology; variations in inventory valuation, including variations related to the timing of qualifying products for sale; excess or obsolete inventory; manufacturing yields; changes in unit costs; impairments of long-lived assets, including manufacturing, assembly/test and intangible assets; the timing and execution of the manufacturing ramp and associated costs; and capacity utilization. Expenses, particularly certain marketing and compensation expenses, as well as restructuring and asset impairment charges, vary depending on the level of demand for Intel's products and the level of revenue and profits. The majority of our non-marketable equity investment portfolio balance is concentrated in the flash memory market segment, and declines in this market segment or changes in management’s plans with respect to our investment in this market segment couldresult in significant impairment charges, impacting restructuring charges as well as gains/losses on equity investments and interest and other. Intel's results could be impacted by adverse economic, social, political and physical/infrastructure conditions in countries where Intel, its customers or its suppliers operate, including military conflict and other security risks, natural disasters, infrastructure disruptions, health concerns and fluctuations in currency exchange rates. Intel’s results could be affected by the timing of closing of acquisitions and divestitures. Intel's results could be affected by adverse effects associated with product defects and errata (deviations from published specifications), and by litigation or regulatory matters involving intellectual property, stockholder, consumer, antitrust and other issues, such as the litigation and regulatory matters described in Intel's SEC reports. An unfavorable ruling could include monetary damages or an injunction prohibiting us from manufacturing or selling one or more products, precluding particular business practices, impacting our ability to design our products, or requiring other remedies such as compulsory licensing of intellectual property. A detailed discussion of these and other factors that could affect Intel’s results is included in Intel’s SEC filings, including the report on Form 10-Q for the quarter ended March 27, 2010.
Rev. 5/7/10
![Page 36: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/36.jpg)
Backup
36
![Page 37: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/37.jpg)
2.42.7 2.6
0.8
1.4 1.4
2.12.4
1.6
2.2 2.3
4.6
0
1
2
3
4
5
Chat/VoiP PhotoEdit VirusScanProductivity Browser MediaPlayer
Pow
er O
ver B
asel
ine
(Wat
ts)
Messaging Media PlayersBrowserVirusScan
PhotoEdit
Productivity
Deep Dive #3
Investigation #3 – A Messenger Application
37 *The Power comparisons shown is based on the Intel® Core™ i5 Mobile Processor using NetDAQ® Fluke ® instrument. Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance/Power
CPU45%
Chipset26%
Other29%
![Page 38: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/38.jpg)
Battery Life Analyzer Analysis
38
0.00
20.00
40.00
60.00
80.00
100.00
Package0 C0 - C1 Package0 C2 Package0 C6
Ave
rage
(%)
C-State Package Residency- System Idle vs. Messenger Idle
Average System Idle (%) Average Messenger Idle (%)
More time spent in deeper C-Statecan result in better power
A break event brings the idle CPU to C0 State
Cause: Context switchesfrom idle due to Timer tick andI/O Activity
Cause 2: Increase in periodic calls/sec due to clock interrupts
Increase in C0-State Package Residency is same as in previous Case studies
Image NameContext
Switches at system idle
Context Switches
Messenger
Platform Activity 53 1138
Image Name System Idle Calls/sec
Messenger Calls/sec
hal.dll 64.1 1000
USBPORT.SYS 10 12
ataport.SYS 3.0 4.2
![Page 39: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/39.jpg)
Windows* Powercfg
39
Messenger Setting Timer-Tick to 1msec
![Page 40: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/40.jpg)
Windows* Performance Toolkit - xPerfAnalysis for Messenger
40
Timer-Tick Value Platform Power CPU Package Power Memory
1msec(Application Default) 11.95 2.48 1.1210msec 10.71 1.87 0.31
System Idle(15.6msec) 10.12 1.46 0.08
Process Timer Interval Remarks
Messenger.exe 165msec GetMessage
2msec WaitForSingleObject
2msec timeSetEvent
20msec RegQueryValue
Out of Box, this Messenger uses 58 extra minutes battery life at “idle” on a standard battery
Alternative?:•Use Event Driven code - RegNotifyChangeKeyValue() instead of RegQueryValue•Use of coalescing timer API.Timer-Tick Value Change Effect
The Power comparisons shown is based on the Intel® Core™ i5 Mobile Processor using NetDAQ® Fluke ® instrument . Results have been estimated based on internal Intel analysis and are provided for informational purposes only. Any difference in system hardware or software design or configuration may affect actual performance
![Page 41: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/41.jpg)
• Do not change Time Tick value from system default.
• Minimize the use of polling. If possible, use an interrupt instead.
• If the driver must poll, consider implementing timers by using the new timer coalescing techniques which reduces the CPU wake frequency
• Periodic registry activity must also be avoided
• Registry activity eventually results in disk activity
41
Analysis
• Application appears to be setting a timer interval of 1ms• Application having frequent periodic activity – WaitForSingleObject,
GetMessageW, TimerSetEvent.• I/O Reads/Writes to the registry increases 2x time on average compared to system
idle
Recommendations:
![Page 42: Impact of 'Idle' Software on Battery Life - Intel · – All processes/threads, User + kernel mode, DPCs and ISRs, Scheduling, Disk and file I/O, Memory, Network, … • Some Issues](https://reader033.vdocuments.us/reader033/viewer/2022042211/5eb4625c3ba17246662ae91b/html5/thumbnails/42.jpg)
Timer Coalescing
• Platform energy efficiency can be improved by extending idle periods– New timer coalescing API enables callers
to specify a tolerance for due time– Enables the kernel to expire multiple timers at the same
time
• Extensions should integrate with Windows* 7 API/DDI