12.07.2015 Views

Impact of "Idle" Software on Battery Life - Intel

Impact of "Idle" Software on Battery Life - Intel

Impact of "Idle" Software on Battery Life - Intel

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<str<strong>on</strong>g>Impact</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> “Idle” S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware<strong>on</strong> <strong>Battery</strong> <strong>Life</strong>Manuj Sabharwal, Applicati<strong>on</strong> EngineerEunice Chang, Engineering ManagerSessi<strong>on</strong> ID: EBLS002


Agenda• Importance <str<strong>on</strong>g>of</str<strong>on</strong>g> <strong>Battery</strong> <strong>Life</strong>• Role <str<strong>on</strong>g>of</str<strong>on</strong>g> S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware in <strong>Battery</strong> <strong>Life</strong>• Case Study: “Idle” S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware Applicati<strong>on</strong>s Overhead• Tools for Analyzing Power Overhead• Case Studies: Browser, Media Playback, Messaging• Call to Acti<strong>on</strong>• Q/A2


3How Critical isLaptop <strong>Battery</strong> <strong>Life</strong>and the <str<strong>on</strong>g>Impact</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g>S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware?


Top Mobile Computing NeedsSource: Internal Worldwide Market Research, 2010C<strong>on</strong>sumers’ Most Desired Laptop C<strong>on</strong>figurati<strong>on</strong> Improvements(Results when end-used named their top 3)C<strong>on</strong>sume Less Energy/Better <strong>Battery</strong>Better Performance/Improve Speed <str<strong>on</strong>g>of</str<strong>on</strong>g> …More Storage/Bigger Hard DriveBetter Range <str<strong>on</strong>g>of</str<strong>on</strong>g> Wireless Internet …Make it Lighter66%60%45%40%42%Larger Screen/DisplayBetter Appearance/LooksMake it Smaller15%13%22%


S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware Energy-Efficiency• Platform hardware designed with aggressive powermanagement especially when idle (e.g. ACPI, C/Pstates, PCIEASPM, SATA LPM, etc.)• S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware (OS, FW, Drivers) plays important role in platformenergy efficiency• Energy-efficient applicati<strong>on</strong>s, when idle, should have minimalimpact <strong>on</strong> platform power c<strong>on</strong>sumpti<strong>on</strong>– Ideally, applicati<strong>on</strong> at idle should c<strong>on</strong>sume no additi<strong>on</strong>alenergyA single ill-behaving applicati<strong>on</strong> can thwart all<str<strong>on</strong>g>of</str<strong>on</strong>g> the power management benefits built into system.5


6A Case Study <str<strong>on</strong>g>of</str<strong>on</strong>g>“Idle” S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware Apps


Case StudyThe Measurement System• <strong>Intel</strong> ® Core2 Duo based Mobile Reference Platform• Core i5 T6600 (Dual Core, 2.2 GHz)• Windows* 7, 64-bit• <strong>Intel</strong> ® Solid State Drive• Wired LAN• (Power) Fluke* NetDAQThe Measured Applicati<strong>on</strong>sSelect 25 comm<strong>on</strong> applicati<strong>on</strong>s including:• 4 web browsers• 5 media playback applicati<strong>on</strong>s• 5 messaging applicati<strong>on</strong>s• 2 virus scanners7


Study Results5Lower is BetterDeep Dive #2Power Over Baseline (Watts)4321Deep Dive #3Deep Dive #10MessagingPhoto Productivity Plug-ins BrowsersChat Photo Virus Anti-Productivity Plugin Browsers MediaPlayersVirusMedia Players8The Power comparis<strong>on</strong>s shown is based <strong>on</strong> the <strong>Intel</strong>® Core i5 Mobile Processor using NetDAQ® Fluke ® instrument . Results have been estimated based <strong>on</strong> internal <strong>Intel</strong> analysisand are provided for informati<strong>on</strong>al purposes <strong>on</strong>ly. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actual performance/Power


<strong>Battery</strong> <strong>Life</strong> <str<strong>on</strong>g>Impact</str<strong>on</strong>g>10<strong>Battery</strong> <strong>Life</strong> (Hours)987650.5W~45Min0.5W~20Min2W~75MinUltraThin, 56WHr, 6W IdleMainstream, 64WHr, 9W Idle40 1 2 3 4 5Additi<strong>on</strong>al Power (Watts)Idle power increase has significant battery life impact9


Deep Dive Detail Methodology• Comp<strong>on</strong>ent Power (CPU, Chipset, HDD, LAN/Wifi)• S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware Tools: Hardware, Driver, OperatingSystem, S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware Timers, Memory Utilizati<strong>on</strong>, ...– Windows * Powercfg– <strong>Battery</strong> <strong>Life</strong> Analyzer– Windows* Performance Analyzer Toolkit(aka “xPerf”)10


Windows* Powercfg• Command-line utility to c<strong>on</strong>trol the power settings• Inbox with Windows* 7, Leverages ETW• Power Schemes, Hibernate, Standby, Wake Timer / Devices• -ENERGY Opti<strong>on</strong>– Platform timers, changes to timers by the applicati<strong>on</strong> process/dll– Processor Utilizati<strong>on</strong> 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 Optimizati<strong>on</strong> –Methodologies and Tools for demo and detailsQuick & Easy to Identify Comm<strong>on</strong> Problems11


<strong>Battery</strong> <strong>Life</strong> Analyzer• New Tool written by <strong>Intel</strong>• Simple GUI interface• Identify misbehaving drivers, processes, and hardware thatprevent the platform from entering low power states• Provides power impact estimate based <strong>on</strong> an algorithm foreach <str<strong>on</strong>g>of</str<strong>on</strong>g>fending piece <str<strong>on</strong>g>of</str<strong>on</strong>g> hardware/s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware• Attend EBLS003 Mobile Platform Idle Power Optimizati<strong>on</strong> –Methodologies and Tools for demo and detailsIdentify, Analyze, and Summarize – All in <strong>on</strong>e tool12


Windows* Performance Toolkit - xPerf• Built by Micros<str<strong>on</strong>g>of</str<strong>on</strong>g>t, Available in Windows* 7 SDK• Leverage ETW (Event Tracing for Windows) Technology• Wide range <str<strong>on</strong>g>of</str<strong>on</strong>g> 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:– Resp<strong>on</strong>siveness issues– L<strong>on</strong>g delays in applicati<strong>on</strong>s, Slow On/Off transiti<strong>on</strong>s– High CPU usage, High Disk usageFeature-rich Tool for Detailed Power Performance Analysis13


14Analysis <str<strong>on</strong>g>of</str<strong>on</strong>g> TwoCase Studies


Investigati<strong>on</strong> #1 – A Browser Applicati<strong>on</strong>Power Over Baseline (Watts)543212.42.72.6Chipset33%0.8Other7%CPU60%1.4 1.4Deep Dive #12.12.41.62.2 2.34.60MessagingBrowserChat/VoiP PhotoEdit VirusScanProductivity Browser MediaPlayerEdit ScanMedia Players15*The Power comparis<strong>on</strong>s shown is based <strong>on</strong> the <strong>Intel</strong>® Core i5 Mobile Processor using NetDAQ® Fluke ® instrument . Results have been estimated based <strong>on</strong> internal <strong>Intel</strong> analysisand are provided for informati<strong>on</strong>al purposes <strong>on</strong>ly. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actual performance/Power


System Idle vs. Browser Idle CPU PackagePowerSystem Idle vs. Browser Idle total CPU Package PowerRuntime graph for core package powerShowing browser power c<strong>on</strong>sumpti<strong>on</strong>Power(W)4.003.503.002.502.001.501.000.500.001224364851061271481691902112322532742953163373583794004214424634845055265475685896106316526736947157367577787998208418628839049259469679881009103010511072System Idle PowerBrowser Idle PowerWhy there is an increase in Browser Idlepower from System Idle?Workload Platform Power CPU PowerBrowser Applicati<strong>on</strong> 12.06 2.63System Idle 10.12 1.4616The Power comparis<strong>on</strong>s shown is based <strong>on</strong> the <strong>Intel</strong>® Core i5 Mobile Processor using NetDAQ® Fluke ® instrument. Results have been estimated based <strong>on</strong> internal <strong>Intel</strong> analysisand are provided for informati<strong>on</strong>al purposes <strong>on</strong>ly. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actual performance


<strong>Battery</strong> <strong>Life</strong> Analyzer AnalysisAverage(%)100806040200Increase due toOperati<strong>on</strong>al StateactivityAverage C State Residency Change - System idle vs. Browser IdleI/O c<strong>on</strong>trolleroperati<strong>on</strong>sBrowser Idlespends less timedeep C statePackage0 C0 - C1 Package0 C2 Package0 C3 Package0 C6Average System idle(%)Average Browser IdleFew Things to Know :• C-states: Collecti<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Idle State.– The deeper the C-States allows to achieve the low powerc<strong>on</strong>sumpti<strong>on</strong>, but more time is required for the CPU to “wake up”.• Average C-State Residency is average residency in each C-State overperiod <str<strong>on</strong>g>of</str<strong>on</strong>g> time• Deeper C-state Residency(C6), more power savings (System Idle)• Periodic activity results in more time spent in C0-states (Browser Idle)17


Windows * PowercfgBrowser setting Timer Tick to 1msec18Command line utility giving call stack <str<strong>on</strong>g>of</str<strong>on</strong>g> modulesetting timer tick to 1ms


19Causes: Idle State Power C<strong>on</strong>sumpti<strong>on</strong>• C<strong>on</strong>text Switches – Process <str<strong>on</strong>g>of</str<strong>on</strong>g> storing and restoring state <str<strong>on</strong>g>of</str<strong>on</strong>g>a CPU– Increase due to OS requiresto take c<strong>on</strong>trol <str<strong>on</strong>g>of</str<strong>on</strong>g> the CPU to dostoring and restoring task.– More details <strong>on</strong> cause <str<strong>on</strong>g>of</str<strong>on</strong>g>high c<strong>on</strong>text switches <strong>on</strong> nextslide• System calls– Increase in periodiccalls/sec due toclock interruptshal.dll: Interrupt Servicing- much higher for applicati<strong>on</strong> idleImage NameImage NameC<strong>on</strong>text Switchesat system idleSystem IdleCalls/secC<strong>on</strong>text SwitchesBrowserPlatform Activity 53 550BrowserCalls/sechal.dll 64.1 999.9ataport.SYS 3.0 1.0ACPI.sys 0.4 0.4USBPORT.SYS 3.0 2.9


Windows* Performance Toolkit - xPerfAnalysis for BrowserxPerf shows frequent CPU activities for browser app due tomany periodic activitiesProcess Timer Interval RemarksBrowser.exe 150msec GetMessageW21msec20msecSendMessageSleepBrowser Service 4 msec FlushFileBuffers20 msec WaitForSingleObject()Alternatives?-Optimized Sleep versi<strong>on</strong> to give better performance and power.-Use user land locks if possible instead <str<strong>on</strong>g>of</str<strong>on</strong>g> WaitForSingleObject-Use unbuffered I/O instead <str<strong>on</strong>g>of</str<strong>on</strong>g> calling FlushFileBuffersCan periodic intervals prol<strong>on</strong>ged and their activities coalesced ?20


Effect Of Timer-Tick On Browser Applicati<strong>on</strong>Timer-Tick Value Platform Power CPU PackagePower1msec (Default app Idle) 12.06 2.6310msec 11.04 1.95System Idle 10.12 1.46• Timer-Tick change saves 1.02 Watts <str<strong>on</strong>g>of</str<strong>on</strong>g> total power at platform level.Out <str<strong>on</strong>g>of</str<strong>on</strong>g> Box, this browser uses 60 extra minutesbattery life at “idle” <strong>on</strong> a standard 64Whr battery21The Power comparis<strong>on</strong>s shown is based <strong>on</strong> the <strong>Intel</strong> Core i5- T6600 processor using NetDAQ® Fluke ® instrument. Results have been estimated based <strong>on</strong> internal <strong>Intel</strong> analysis andare provided for informati<strong>on</strong>al purposes <strong>on</strong>ly. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actual performance/Power


Analysis• Applicati<strong>on</strong> appears to be setting a timer interval <str<strong>on</strong>g>of</str<strong>on</strong>g> 1ms• The total average CPU utilizati<strong>on</strong> < 0.2%• Many periodic activity with small intervals causing CPU wakeup bypolling driversRecommendati<strong>on</strong>s:• D<strong>on</strong>’t make the timer tick change request until it’s necessary• Use event driven code rather than polling CPU• Review the necessity <str<strong>on</strong>g>of</str<strong>on</strong>g> periodic activity and minimize• Use un-buffered I/O instead <str<strong>on</strong>g>of</str<strong>on</strong>g> calling FlushFileBuffers22


Investigati<strong>on</strong> #2 – A Playback Applicati<strong>on</strong>Power Over Baseline (Watts)543212.42.72.60.81.4 1.4Other22%Chipset39%2.12.4CPU39%1.6Deep Dive #22.2 2.34.60MessagingBrowserChat/VoiP PhotoEdit VirusScanProductivity Browser MediaPlayerEdit ScanMedia Players*The Power comparis<strong>on</strong>s shown is based <strong>on</strong> the <strong>Intel</strong>® Core i5 Mobile Processor using NetDAQ® Fluke ® . Results have been estimated based <strong>on</strong> internal <strong>Intel</strong> analysis and are23provided for informati<strong>on</strong>al purposes <strong>on</strong>ly. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actual performance/Power


<strong>Battery</strong> <strong>Life</strong> Analyzer Analysis100806040200C-State Package Residency- System Idle vs. Playback IdleApp preventing CPU to alow power sleep statePackage0 C0 - C1 Package0 C2 Package0 C6System IdlePlayback Idle• CPU can enter different idle power states• Lower power states use less power but the CPU will take l<strong>on</strong>ger totransiti<strong>on</strong> to a higher power state.– Example – If CPU is in C6 it will use less power than in C3 but it willtake l<strong>on</strong>ger to come out <str<strong>on</strong>g>of</str<strong>on</strong>g> idle than from C3Top Cause for CPU to wakeup can be analyzed using xPerfand <strong>Battery</strong> <strong>Life</strong> Analyzer24


Windows* PowercfgPlayback Setting Timer Tick to 1.25msec25


<strong>Battery</strong> <strong>Life</strong> Analyzer for PlaybackCause 1: Increase in C<strong>on</strong>text switchesfrom idle due to Timer tick andI/O ActivityImage NameC<strong>on</strong>textSwitches atsystem idleC<strong>on</strong>textSwitchesPlaybackPlatformActivity 53 689Causing graphics frame bufferupdate frequently which iscalled by playback applicati<strong>on</strong>.Cause 2: Increase in periodiccalls/sec due to clock interruptsImage NameSystem IdleCalls/secPlaybackCalls/sechal.dll 64.1 800dxgkrnl.sys 1 210USBPORT.SYS 10 18ataport.SYS 3.0 4.2At idle reduce the periodic graphics activitysuch as animati<strong>on</strong>26


Windows* Performance Toolkit – xPerf AnalysisProcess/ Driver Timer Interval RemarksPlayback.exe 10msec Sleep1()33msec31msecSleep2()Sleep3()xGUISystem 50msec Sleep()D3D9System 1msec Graphics driver call from Applicati<strong>on</strong>• Avoid calling SetThreadExecuti<strong>on</strong>State(ES_DISPLAY_REQUIRED) when thereis no playback activity, i.e. at idleTimer-Tick Value Platform Power CPU PackagePower1msec(App Default)System Idle(15.6msec)14.06 4.4910.12 1.4627Out <str<strong>on</strong>g>of</str<strong>on</strong>g> Box, this playback uses 112 extra minutesbattery life at “idle” <strong>on</strong> a standard batteryThe Power comparis<strong>on</strong>s shown is based <strong>on</strong> the <strong>Intel</strong>® Core i5 Mobile Processor using NetDAQ® Fluke ® instrument. Results have been estimated based <strong>on</strong> internal <strong>Intel</strong> analysisand are provided for informati<strong>on</strong>al purposes <strong>on</strong>ly. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actual performance/Power


Analysis• Applicati<strong>on</strong> appears to be setting a timer interval <str<strong>on</strong>g>of</str<strong>on</strong>g> 1.25ms• Applicati<strong>on</strong> having frequent periodic activity by calling Sleep API• Multiple threads are looping at Sleep() independently with variousinterval. All combined, this process wakes up the processor veryfrequently• Applicati<strong>on</strong> doing a lot <str<strong>on</strong>g>of</str<strong>on</strong>g> memory copy between CPU & GPU memoryRecommendati<strong>on</strong>s:• Do not try to change timer tick from 15.6 ms default when applicati<strong>on</strong> is atidle.• Use event driven API calls than Polling.• Instead <str<strong>on</strong>g>of</str<strong>on</strong>g> running multiple thread periodically (Sleep() API ) run <strong>on</strong>ethread at the lowest frequency possible, and if necessary, signal to otherthread.• Do not render to the display when it is <str<strong>on</strong>g>of</str<strong>on</strong>g>f• The system display might be <str<strong>on</strong>g>of</str<strong>on</strong>g>f for power savings. Your applicati<strong>on</strong>should not perform unnecessary graphics rendering when the displayis <str<strong>on</strong>g>of</str<strong>on</strong>g>f because this wastes system resources and power.28


Study Results SummaryPower Over Baseline (Watts)54321Lower is BetterMessenger having low powerc<strong>on</strong>sumpti<strong>on</strong> when IdleBrowser having low powerc<strong>on</strong>sumpti<strong>on</strong> when IdlePlayback having low powerc<strong>on</strong>sumpti<strong>on</strong> when Idle0MessagingPhoto Productivity Plug-in BrowsersChat Photo Virus Anti-Productivity Plugin Browsers MediaPlayersVirusMedia Players29Why can’t Applicati<strong>on</strong> behave like good <strong>on</strong>es in theirown categories?*The Power comparis<strong>on</strong>s shown is based <strong>on</strong> the <strong>Intel</strong>® Core i5 Mobile Processor using NetDAQ® Fluke ® instrument. Results have been estimated based <strong>on</strong> internal <strong>Intel</strong> analysisand are provided for informati<strong>on</strong>al purposes <strong>on</strong>ly. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actual performance/Power


Summary• <strong>Battery</strong> <strong>Life</strong> is an important attribute <str<strong>on</strong>g>of</str<strong>on</strong>g> Laptopsystems• Case Studies shows power impact at applicati<strong>on</strong>idle <strong>on</strong> battery life.• Changes can be made that do not affect s<str<strong>on</strong>g>of</str<strong>on</strong>g>twareperformance and reduce the impact. E.g.– Avoid use <str<strong>on</strong>g>of</str<strong>on</strong>g> high-resoluti<strong>on</strong> periodic timer– Do not render to the display when it is <str<strong>on</strong>g>of</str<strong>on</strong>g>f– Avoid polling and spinning in tight loops– Use timer coalescing• Reduce the background applicati<strong>on</strong> serviceswhen idle.30


Call to Acti<strong>on</strong>• Evaluate the idle impact <str<strong>on</strong>g>of</str<strong>on</strong>g> your s<str<strong>on</strong>g>of</str<strong>on</strong>g>twareapplicati<strong>on</strong>s – pay specific attenti<strong>on</strong> to timer-tickinterrupts• Ask your suppliers/Vendors to do the same andaware them about power awareness.• Blog, Ask questi<strong>on</strong>s in forums, raise awarenessabout applicati<strong>on</strong> that c<strong>on</strong>sume too much power• Promote Green S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware• Join Extended <strong>Battery</strong> <strong>Life</strong> Working Group(www.eblwg.org)31


33IDF 2010 Extended <strong>Battery</strong> <strong>Life</strong> Sessi<strong>on</strong>sSessi<strong>on</strong> # Title Time RoomEBLS001Interc<strong>on</strong>nect Bus Extensi<strong>on</strong>s forEnergy-Efficient Platform10:15 AM 2003EBLS002<str<strong>on</strong>g>Impact</str<strong>on</strong>g> <str<strong>on</strong>g>of</str<strong>on</strong>g> “Idle” S<str<strong>on</strong>g>of</str<strong>on</strong>g>tware <strong>on</strong> <strong>Battery</strong><strong>Life</strong>11:15 AM 2003EBLS003EBLP001Mobile Platform Idle PowerOptimizati<strong>on</strong> – Methodologies andToolsEmbedded Display Port: NextGenerati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> Digital DisplayInterface for Embedded Applicati<strong>on</strong>1:05 PM 20032:05 PM 2003


Legal Disclaimer• INFORMATION IN THIS DOCUMENT IS PROVIDED IN CONNECTION WITH INTEL® PRODUCTS.NO LICENSE, EXPRESS OR IMPLIED, BY ESTOPPEL OR OTHERWISE, TO ANY INTELLECTUALPROPETY RIGHTS IS GRANTED BY THIS DOCUMENT. EXCEPT AS PROVIDED IN INTEL’S TERMSAND CONDITIONS OF SALE FOR SUCH PRODUCTS, INTEL ASSUMES NO LIABILITYWHATSOEVER, AND INTEL DISCLAIMS ANY EXPRESS OR IMPLIED WARRANTY, RELATING TOSALE AND/OR USE OF INTEL ® PRODUCTS INCLUDING LIABILITY OR WARRANTIES RELATING TOFITNESS FOR A PARTICULAR PURPOSE, MERCHANTABILITY, OR INFRINGEMENT OF ANY PATENT,COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.• <strong>Intel</strong> may make changes to specificati<strong>on</strong>s and product descripti<strong>on</strong>s at any time, without notice.• All products, dates, and figures specified are preliminary based <strong>on</strong> current expectati<strong>on</strong>s, and aresubject to change without notice.• <strong>Intel</strong>, processors, chipsets, and desktop boards may c<strong>on</strong>tain design defects or errors known aserrata, which may cause the product to deviate from published specificati<strong>on</strong>s. Currentcharacterized errata are available <strong>on</strong> request.• Performance tests and ratings are measured using specific computer systems and/orcomp<strong>on</strong>ents and reflect the approximate performance <str<strong>on</strong>g>of</str<strong>on</strong>g> <strong>Intel</strong> products as measured by thosetests. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actualperformance.• <strong>Intel</strong> Core i5 Mobile Processor and the <strong>Intel</strong> logo are trademarks <str<strong>on</strong>g>of</str<strong>on</strong>g> <strong>Intel</strong> Corporati<strong>on</strong> in theUnited States and other countries.• *Other names and brands may be claimed as the property <str<strong>on</strong>g>of</str<strong>on</strong>g> others.• Copyright ©2010 <strong>Intel</strong> Corporati<strong>on</strong>.34


Risk FactorsThe above statements and any others in this document that refer to plans and expectati<strong>on</strong>s for the sec<strong>on</strong>d quarter, the year and thefuture are forward-looking statements that involve a number <str<strong>on</strong>g>of</str<strong>on</strong>g> risks and uncertainties. Many factors could affect <strong>Intel</strong>’s actualresults, and variances from <strong>Intel</strong>’s current expectati<strong>on</strong>s regarding such factors could cause actual results to differ materially fromthose expressed in these forward-looking statements. <strong>Intel</strong> presently c<strong>on</strong>siders the following to be the important factors that couldcause actual results to differ materially from the corporati<strong>on</strong>’s expectati<strong>on</strong>s. Demand could be different from <strong>Intel</strong>'s expectati<strong>on</strong>s dueto factors including changes in business and ec<strong>on</strong>omic c<strong>on</strong>diti<strong>on</strong>s; customer acceptance <str<strong>on</strong>g>of</str<strong>on</strong>g> <strong>Intel</strong>’s and competitors’ products; changesin customer order patterns including order cancellati<strong>on</strong>s; and changes in the level <str<strong>on</strong>g>of</str<strong>on</strong>g> inventory at customers. <strong>Intel</strong> operates inintensely competitive industries that are characterized by a high percentage <str<strong>on</strong>g>of</str<strong>on</strong>g> costs that are fixed or difficult to reduce in the shortterm and product demand that is highly variable and difficult to forecast. Additi<strong>on</strong>ally, <strong>Intel</strong> is in the process <str<strong>on</strong>g>of</str<strong>on</strong>g> transiti<strong>on</strong>ing to itsnext generati<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> products <strong>on</strong> 32nm process technology, and there could be executi<strong>on</strong> issues associated with these changes,including product defects and errata al<strong>on</strong>g with lower than anticipated manufacturing yields. Revenue and the gross marginpercentage are affected by the timing <str<strong>on</strong>g>of</str<strong>on</strong>g> new <strong>Intel</strong> product introducti<strong>on</strong>s and the demand for and market acceptance <str<strong>on</strong>g>of</str<strong>on</strong>g> <strong>Intel</strong>'sproducts; acti<strong>on</strong>s taken by <strong>Intel</strong>'s competitors, including product <str<strong>on</strong>g>of</str<strong>on</strong>g>ferings and introducti<strong>on</strong>s, marketing programs and pricingpressures and <strong>Intel</strong>’s resp<strong>on</strong>se to such acti<strong>on</strong>s; defects or disrupti<strong>on</strong>s in the supply <str<strong>on</strong>g>of</str<strong>on</strong>g> materials or resources; and <strong>Intel</strong>’s ability toresp<strong>on</strong>d quickly to technological developments and to incorporate new features into its products. The gross margin percentage couldvary significantly from expectati<strong>on</strong>s based <strong>on</strong> changes in revenue levels; product mix and pricing; start-up costs, including costsassociated with the new 32nm process technology; variati<strong>on</strong>s in inventory valuati<strong>on</strong>, including variati<strong>on</strong>s related to the timing <str<strong>on</strong>g>of</str<strong>on</strong>g>qualifying products for sale; excess or obsolete inventory; manufacturing yields; changes in unit costs; impairments <str<strong>on</strong>g>of</str<strong>on</strong>g> l<strong>on</strong>g-livedassets, including manufacturing, assembly/test and intangible assets; the timing and executi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> the manufacturing ramp andassociated costs; and capacity utilizati<strong>on</strong>. Expenses, particularly certain marketing and compensati<strong>on</strong> expenses, as well asrestructuring and asset impairment charges, vary depending <strong>on</strong> the level <str<strong>on</strong>g>of</str<strong>on</strong>g> demand for <strong>Intel</strong>'s products and the level <str<strong>on</strong>g>of</str<strong>on</strong>g> revenue andpr<str<strong>on</strong>g>of</str<strong>on</strong>g>its. The majority <str<strong>on</strong>g>of</str<strong>on</strong>g> our n<strong>on</strong>-marketable equity investment portfolio balance is c<strong>on</strong>centrated 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 <strong>on</strong> equity investments and interestand other. <strong>Intel</strong>'s results could be impacted by adverse ec<strong>on</strong>omic, social, political and physical/infrastructure c<strong>on</strong>diti<strong>on</strong>s in countrieswhere <strong>Intel</strong>, its customers or its suppliers operate, including military c<strong>on</strong>flict and other security risks, natural disasters, infrastructuredisrupti<strong>on</strong>s, health c<strong>on</strong>cerns and fluctuati<strong>on</strong>s in currency exchange rates. <strong>Intel</strong>’s results could be affected by the timing <str<strong>on</strong>g>of</str<strong>on</strong>g> closing <str<strong>on</strong>g>of</str<strong>on</strong>g>acquisiti<strong>on</strong>s and divestitures. <strong>Intel</strong>'s results could be affected by adverse effects associated with product defects and errata(deviati<strong>on</strong>s from published specificati<strong>on</strong>s), and by litigati<strong>on</strong> or regulatory matters involving intellectual property, stockholder,c<strong>on</strong>sumer, antitrust and other issues, such as the litigati<strong>on</strong> and regulatory matters described in <strong>Intel</strong>'s SEC reports. An unfavorableruling could include m<strong>on</strong>etary damages or an injuncti<strong>on</strong> prohibiting us from manufacturing or selling <strong>on</strong>e or more products,precluding particular business practices, impacting our ability to design our products, or requiring other remedies such as compulsorylicensing <str<strong>on</strong>g>of</str<strong>on</strong>g> intellectual property. A detailed discussi<strong>on</strong> <str<strong>on</strong>g>of</str<strong>on</strong>g> these and other factors that could affect <strong>Intel</strong>’s results is included in <strong>Intel</strong>’sSEC filings, including the report <strong>on</strong> Form 10-Q for the quarter ended March 27, 2010.Rev. 5/7/1035


36Backup


Investigati<strong>on</strong> #3 – A Messenger Applicati<strong>on</strong>Power Over Baseline (Watts)54321Deep Dive #32.42.72.6Other29%Chipset26%0.8CPU45%1.4 1.42.12.41.62.2 2.34.60MessagingBrowserChat/VoiP PhotoEdit VirusScanProductivity Browser MediaPlayerEdit ScanMedia Players*The Power comparis<strong>on</strong>s shown is based <strong>on</strong> the <strong>Intel</strong>® Core i5 Mobile Processor using NetDAQ® Fluke ® instrument. Results have been estimated based <strong>on</strong> internal <strong>Intel</strong> analysis37and are provided for informati<strong>on</strong>al purposes <strong>on</strong>ly. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actual performance/Power


<strong>Battery</strong> <strong>Life</strong> Analyzer AnalysisAverage(%)100.0080.0060.0040.0020.000.00C-State Package Residency- System Idle vs. Messenger IdleMore time spent in deeper C-Statecan result in better powerPackage0 C0 - C1 Package0 C2 Package0 C6Average System Idle (%) Average Messenger Idle (%)Increase in C0-State Package Residency is same as in previous Case studiesCause: C<strong>on</strong>text switchesfrom idle due to Timer tick andI/O ActivityImage NameC<strong>on</strong>textSwitches atsystem idleC<strong>on</strong>textSwitchesMessengerPlatform Activity 53 1138Cause 2: Increase in periodiccalls/sec due to clock interruptsImage NameSystem IdleCalls/secMessengerCalls/sechal.dll 64.1 1000USBPORT.SYS 10 12ataport.SYS 3.0 4.238A break event brings the idle CPU to C0 State


Windows * PowercfgMessenger Setting Timer-Tick to 1msec39


Windows* Performance Toolkit - xPerfAnalysis for MessengerProcess Timer Interval RemarksMessenger.exe 165msec GetMessage2msec2msec20msecWaitForSingleObjecttimeSetEventRegQueryValue40Alternative?:•Use Event Driven code - RegNotifyChangeKeyValue() instead <str<strong>on</strong>g>of</str<strong>on</strong>g> RegQueryValue•Use <str<strong>on</strong>g>of</str<strong>on</strong>g> coalescing timer API.Timer-Tick Value Change EffectTimer-Tick Value Platform Power CPU Package Power Memory1msec(Applicati<strong>on</strong>Default) 11.95 2.48 1.1210msec10.71 1.87 0.31System Idle(15.6msec)10.12 1.46 0.08Out <str<strong>on</strong>g>of</str<strong>on</strong>g> Box, this Messenger uses 58 extra minutesbattery life at “idle” <strong>on</strong> a standard batteryThe Power comparis<strong>on</strong>s shown is based <strong>on</strong> the <strong>Intel</strong>® Core i5 Mobile Processor using NetDAQ® Fluke ® instrument . Results have been estimated based <strong>on</strong> internal <strong>Intel</strong> analysisand are provided for informati<strong>on</strong>al purposes <strong>on</strong>ly. Any difference in system hardware or s<str<strong>on</strong>g>of</str<strong>on</strong>g>tware design or c<strong>on</strong>figurati<strong>on</strong> may affect actual performance


Analysis• Applicati<strong>on</strong> appears to be setting a timer interval <str<strong>on</strong>g>of</str<strong>on</strong>g> 1ms• Applicati<strong>on</strong> having frequent periodic activity – WaitForSingleObject,GetMessageW, TimerSetEvent.• I/O Reads/Writes to the registry increases 2x time <strong>on</strong> average compared to systemidleRecommendati<strong>on</strong>s:• Do not change Time Tick value from system default.• Minimize the use <str<strong>on</strong>g>of</str<strong>on</strong>g> polling. If possible, use an interrupt instead.• If the driver must poll, c<strong>on</strong>sider implementing timers by using the newtimer coalescing techniques which reduces the CPU wake frequency• Periodic registry activity must also be avoided• Registry activity eventually results in disk activity41


Timer Coalescing• Platform energy efficiency can beimproved by extending idle periods– New timer coalescing API enables callersto specify a tolerance for due time– Enables the kernel to expire multiple timers at the sametime• Extensi<strong>on</strong>s should integrate with Windows* 7API/DDI

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!