| Last Modified On : | October 15, 2008 11:07 AM PDT |
Rate |
|
This brief section provides some links to references that describe operating system features that support development of power-aware applications – for Microsoft Windows Vista and for Linux.
For creating power-aware applications in Vista, Microsoft has some extensive resources on this topic that can be found at [Ref10,Ref11,Ref12,and Ref13]. For example, in the whitepaper Application Power Management Best Practices for Windows Vista [Ref11], the authors emphasize the following topics:
Microsoft also provides information on the Advanced Configuration and Power Interface (ACPI) which defines common interfaces for hardware recognition, motherboard and device configuration, and power management. Writing drivers that are ACPI-compatible allows the OS to control the device power states, power down the device when not in use, and therefore save energy. For more information, see [Ref12]. Most Linux distributions also support ACPI.
For creating power-aware applications for Linux there are a number of groups that can be found simply by searching for “Linux Power Management” via your favored search engine. For examp le, see [Ref19] for a Linux Power Management Guide or [Ref20] for an article on Power Management in Linux-based systems.
Another consideration for Linux developers is to use an energy-efficient Linux distribution intended for mobile devices such as Midori, an Open Source project for delivering system software on small devices. [Ref21]
An interesting Linux-based tool to check for process energy-efficiency is Linux PowerTOP.[11] PowerTOP identifies processes that, by virtue of tight time interrupts, prevent the CPU from entering deeper C-states. PowerTOP.org has been successful in identifying and improving portions of the Linux OS that have led to energy-efficient improvements in the various distributions.
This section describes a set of tools from Intel that support multi-threading and context-aware computing.
Threading Tools
Intel® Thread Checker
Intel Thread Checker is an analysis tool that pinpoints hard-to-find threading errors such as race conditions and deadlocks in 32-bit and 64-bit applications. It can also be integrated into an automated Quality Assurance/test process to ensure code quality. The tool:
Intel® Thread Profiler
Intel Thread Profiler 3.1 for Windows* helps you tune multi-threaded applications faster, for optimal performance on Intel® multi-core processors. The tool helps the developer:
Intel® Thread Building Blocks
Intel Threading Building Blocks 1.1 is a C++ runtime library that abstracts the low-level threading details necessary for optimal multi-core performance. It uses common C++ templates and coding style to eliminate tedious threading implementation work. It allows the developer to create applications that are portable across platforms and inherently scalable, i.e. no code maintenance is required as more processor cores become available.
Intel® VTune™ Performance Analyzer
Intel VTune™ Performance Analyzer simplifies application performance tuning with a graphical user interface and no recompiles required. It is compiler and language independent and works with C, C++, Fortran, C#, Java, .NET and others. VTune includes call graph analysis, sampling events, plus an extensive set of tuning events for all the latest Intel® processors. There is version of VTune for Windows and another for Linux.
Intel has created several tools for developers that provide features that enable them to develop context-aware applications. These include:
Intel® Mobile Platform SDK
Mobile users expect business applications to adjust automatically to resource-constrained mobile environments. With the Intel Mobile Platform SDK, developers can integrate mobile features that meet user expectations for computing anytime and anywhere:
Creating code that is aware of platform context means that applications can more efficiently adapt to user settings as well as environmental and platform changes.
The following figure shows how the Intel Mobile Platform SDK straddles several different functional layers to provide better integration between applications and mobile hardware.
For more information on the Intel Mobile Platform SDK - Intel Mobile Platform SDK
Intel® Laptop Gaming TDK
The Intel® Laptop Gaming Technology Development Kit (TDK) provides an interface to help extend games by adding mobile-aware features to deliver a better laptop gaming experience.
The TDK includes C++ code that help developers create applications that:
Key features include:
For more information on the Laptop Gaming TDK, visit: http://software.intel.com/en-us/articles/intel-laptop-gaming-technology-development-kit
Intel® Web 2.0 TDK
The Web 2.0 TDK provides royalty-free Javascript API, binary, and source code to that enable developers to create web applications that taking advantage of the mobile features on notebooks and UMPCs. In Web 2.0 applications, developers can leverage information about the platform's configuration and context to provide more expressive interactions and better user experience, especially on mobile platforms where intermittent connectivity and limited power are common issues.
The TDK allows developers to learn about the platform's configuration, e.g. display, storage, processor, and the platform's context, e.g. bandwidth, connectivity, power and location, etc. within a browser using JavaScript. It contains documentation and full source code (C++ and JavaScript) for IE 6/7 and Firefox. The code can be incorporated directly in extensions or JavaScript libraries, and be redistributed royalty free.
Key features include:
More information and demos/videos can be found at: Web 2.0 TDK
This paper examined software methodologies, designs, and software development tools that can be used to improve the energy efficiency of application software and extend mobile platform battery time. Computational efficiency, data efficiency, and context-aware methods can all contribute to creating applications that are power-aware. There are many resources available in the form of white-papers, developer kits, and analysis tools. See the list of References for more information
This paper examined software methodologies, designs, and software development tools that can be used to improve the energy efficiency of application software and extend mobile platform battery time. Computational efficiency, data efficiency, and context-aware methods can all contribute to creating applications that are power-aware. Intel provides many resources to achieve these goals in the form of white-pap ers, developer kits, and analysis tools. Many of the resources are referenced above and in the next section. More information on energy-efficiency and other topics can be found at http://software.intel.com/en-us/articles/energy-efficient-software.
Bob Steigerwald
Bob Steigerwald is an engineering manager in Intel’s Software Solutions Group at Intel in Folsom, California. He received his B.S. degree in Computer Science from the US Air Force Academy, Masters in CS from the University of Illinois, and Ph.D. in CS from the Naval Postgraduate School where his research was in Software Engineering and software reuse. Currently his team works on defining tools and technologies to support the development of energy-efficient software for Intel-based mobile platforms. His e-mail is bob.steigerwald@intel.com.
Rajshree Chabukswar
Rajshree Chabukswar is a software engineer working on client enabling in the Software Solutions Group that enables client platforms through software optimizations. Prior to working at Intel, she obtained a Masters degree in Computer Engineering from Syracuse University, NY. Her e-mail is rajshree.a.chabukswar@intel.com.
Karthik Krishnan
Karthik Krishnan is a software engineer with the Software Solutions Group at Intel. He holds a Masters degree in Mathematics from the Indian Institute of Technology. His current focus is on power and performance optimization of software applications on dual-core platforms. His e-mail is karthikeyan.krishnan@intel.com.
Jun De Vega
Jun De Vega is an Application Engineer in Intel’s Software and Solutions Group, working on application tuning and optimization for Intel® architecture. He supports enabling of ISV applications on Intel® Mobile and Desktop Platforms. Contact him at rodolfo.de.vega@intel.com.
Measuring power usage of individual components in a mobile platform is not a trivial task. Various tools exist to provide a high-level estimate of the power consumed by a particular mobile platform, but they do not provide the granular details on specific components. A more accurate but invasive way to measure power will be to use data acquisition (DAQ) tools where specific hardware components are instrumented and a more granular power measurement can be logged. The following lists the platform details we used for our analyses, along with the power-measurement methodology.
Fluke NetDAQ* 2686A
Target PC: Intel® Core™ Duo/2GHz Yonah, Jamison Canyon* CRB, 2x512MB DDR2, 40GB SATA 5400 rpm (2.5” mobile), CD/DVD drive, Microsoft Windows* XP Professional SP2
Host PC: Any IA32 system
Test Applications (different applications used)
NetDAQ Logger: Fluke DAQ Software v2.2
[1] It is interesting to note that this is not always true. Due to the quadratic relationship between processor states and voltage, it can be demonstrated that a process running for a longer time at a lower P-state may actually use less total energy than running the same process at a high P-state for less time. This is an area of future research.
[2] More detaile d coverage of this topic can be found at: http://www.intel.com/technology/index.htm
[3] NetDAQ® Networked Data Acquisition Unit
[4] GV3is a Microsoft hotfix (KB896256) to change the kernel power manager to track CPU utilization across the entire package instead of individual cores. It resolves an issue the power manager had with incorrectly calculate the optimal target performance state for the processor when one core was much less busy than the others. The performance state was set too low and performance suffered in adaptive mode.
[5] More detail on this study can be obtained from: DVD Playback Power Consumption Analysis
[6] For details on MobileMark 2005, see: http://www.bapco.com/
[7] More details from this analysis are available at: Power Analysis of Disk I/O Methodologies
[8] More detailed coverage of this topic can be found at: Data Transfer over Wireless LAN Power Consumption Analysis
[9] For complete details of this study, please see: Enabling Games for Power
[10] For details on Extech Power Analyzers, see: http://www.extech.com/instrument/products/310_399/380803Power.html
[11] See: http://LinuxPowerTOP.org
| Prev | 1 2 3 4 | Next | ||
Page 4 of 4
|
||||

English | 中文 | Русский | Français
Rajshree Chabukswar (Intel)
| ||
| Jun De Vega | ||
| Karthik Krishnan (Intel) |