impact of 'idle' software on battery life - intel · – all processes/threads, user +...

42
Impact of “Idle” Software on Battery Life Session ID: EBLS002 Manuj Sabharwal, Application Engineer Eunice Chang, Engineering Manager

Upload: others

Post on 08-May-2020

1 views

Category:

Documents


0 download

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

• 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

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