Mobility and Performance - the Intel Performance Power Monitor Gadget for Google Desktop

Author: Richard Winterton
Published On: Tuesday, July 24, 2007 | Last Modified On: Wednesday, May 14, 2008

Intel has released the Google Desktop Sidebar Performance Power Monitor Gadget v1.1 based on feedback from users who have downloaded and used previous versions of Gadget software.

To help developers create mobilized applications with features similar to the Google Desktop Gadget software, we are also providing the sample code for platform discovery.

Download the Gadget Software

Download & Install Intel Performance Power Monitor Gadget v1.1

Introduction

A loose analogy of Newton's third law of motion can sum up the relationship between mobility and performance.  When an object is in acted on by one force an equal and opposite force is applied to the object.  Although not directly related to each other mobility has a significant impact on performance, just as performance has on mobility.  One of the key features of being mobile is not being tied to an electrical power outlet.  The longer a battery provides power to a device the more mobile you are.  But being mobile isn't beneficial if you can't do what you want or need to do.  Typically the more work done, the more power used. This is the principle behind Intel Speedstep® Technology.  This paper describes how Intel Speedstep® Technology saves power and the new feature added to the Intel Performance Power, Google Sidebar Gadget shows how and when power is being saved. 

Battery and Performance

The Google Desktop Performance Power Monitor Gadget monitors CPU utilization, battery charge rate, battery drain rate, percent capacity of the battery as well as the time remaining on the battery (when it is plugged in and when it is not).



The Performance Power Monitor Gadget may be configured to sample at a rate of once per second or once every few hours depending on the user's preference. It also keeps a log of the battery charge rate and drain rate. The user has the flexibility to define the number of samples that are recorded in the log as well as an option of manually or automatically refreshing a view of the log.



The Performance Power Monitor logs a record of the charge rate and discharge rate of the battery over time and presents it to the user in the form of a bar graph. The amount of work you can do while on battery depends on how much power the platform is using. The discharge rate will show you just how much power you are using at any one time. On the other side, while the battery is charging, the time it takes to completely charge the battery is not linear. As a battery gets closer to the 100 percent capacity the charge rate slows down. A lot of battery monitors show you the time remaining for the battery to be completely charged. But the Performance Power Monitor will show you the estimated time remaining on a good battery if you were to unplug the laptop and start running on battery power.



So why is this is interesting? Understanding how an application behaves when running on battery can improve the mobility of a product and allow the user to do more work. An example of how this information can help design a more mobile friendly application is discussed in the paper, Assault on Batteries with the Intent to Perform.

Intel Speedstep® Technology Enhancements to the Gadget

When the CPU doesn't require a lot of performance, such as document writing, or browsing an Internet page that contains only HTML, the frequency at which the CPU is operating is decreased.  However when you are loading the document or browsing the internet with "active" components, higher CPU performance is required and the CPU frequency is increased.  This is the basic approach that speed step takes.  The new Intel Performance Power Gadget shows the current CPU operating frequency.  Why should you care what the CPU frequency is?  Shouldn't that be "just taken care of" by the hardware and operating system?  Typically the answer to that question is yes but let me give you a couple of examples why you should care.  Before I give the examples you should understand the ideas behind the power options provided by most operating systems such as Vista and Windows XP.  Under most operating systems, power schemes or settings provide options that maximize the battery or maximize the performance of the machine and several combinations of the two extremes. 

Say you are working on a paper in a word processor.  Most of the time you spend is in writing the paper and not formatting the document, running spell check or managing the graphics with in the document.  Since the majority of the time spent writing a paper is reading, writing and revising the document, the CPU is not required to do a significant amount of work.  On an Intel PentiumM 1.86 GHz processor writing this paper the CPU utilization dedicated to word processing ranges from 2 to 12 percent depending on when the auto-save function is run and the background spell-check kicks in.  But on average, the CPU utilization dedicated to word processing is about 2 percent.  As an example of just how much battery life may or may not be saved between the two extremes, maximizing performance versus maximizing battery, two screen captures were taken from the same machine 30 seconds apart.  One with the setting designated as maximizing performance and the other designated as maximizing battery.  The first figure shows the maximizing of performance.

 

First notice that the Intel Performance Power Monitor shows an estimated time of 56 minutes of battery time remaining. Second, notice the discharge rate of -26 Watts. Now finally notice the CPU is running at a frequency of 1.872 GHz and a utilization of 3.64 %.

Now let's compare it just seconds later after switching to the maximize battery scheme. First notice the estimated time of 1 hour and 9 minutes, up from the estimated 56 minutes only seconds earlier. This results in a gain of about 13 minutes. This gain is even more significant if the CPU is higher. Notice that the discharge rate of -26 Watts decreased to -21 Watts. The CPU frequency is now calculated at 794 MHz as opposed to 1.87 GHz in the maximize performance scheme. Notice that when the frequency of the CPU was decreased the CPU utilization doing the same work load was increased somewhat, due to the fact that the frequency of the CPU was decreased. 

 

The reason the new Intel Performance Power Monitor gadget added a bar graph of the current frequency to the display is to help people understand what Intel Speedstep® Technology does and how to make better use of the operating system schemes to fit the needs of the user.

 

Source Code for Platform Discovery

The source code for the platform discovery features found in this Google Gadget is available as a code sample download.  This C++ source code and COM object lets you reproduce the battery, disk, processor and connectivity functionality in your own code.  An alternative approach is to adopt the more fully fledged Intel Mobile Platform SDK, an open source project that also provides a pluggable extensibility framework around these features.

About the Author

Richard Winterton graduated from Brigham Young University in 1986 with a BS degree in Electrical Engineering and a minor in mathematics. While at Lockheed Martin from 1986-1994, he designed two network ASIC chips and authored 2 network communication protocols that later become SAE and DOD network protocol standards. Richard was a member of a team that wrote an operating system for the U.S. Navy's A-12 Avenger, advanced attack aircraft, wrote the "BIOS" software for the main avionic computer for the F-16 Fighting Falcon and wrote part of the F-16 operating system. Richard attended the University of Texas at Arlington's graduate school, working on a master's degree in Electrical Engineering. In 1994 Richard went to work for Intel Corporation where his first assignment was a senior software engineer developing Intel's LANDesk Management products. Richard’s current position at Intel is an application engineer responsible for software optimization, and enabling engineer, optimizing and enabling applications for Intel's latest and next generation products. 

Discussion Forum
Other Mobile Software Development Tools

Post a comment If you have any questions, please contact our support team.