Developing Applications for Netbooks and Ultra-Mobile Devices under Microsoft Windows*

Submit New Article

Published On :   December 25, 2008 11:00 PM PST
Rate
 



Introduction

Intel's development tools provide optimizations and analysis capabilities specifically for the Intel® Atom™ Processor to help get the best performance. This technical note addresses development for Microsoft Windows* XP running on Netbooks or Ultra Mobile PCs.


Overview

Developing an application for a sub-notebook class device is really not all that different from developing for a standard desktop PC. In both cases, assuming both are Intel® architecture based the development platform and the platform that you are developing for are similar to the extent of being equivalent for all intents and purposes. There are however some interesting aspects to the Intel® Atom™ Processor and it's architecture that make it recommendable to take advantage of it's unique architectural features and to look at optimizing for power and performance even more closely than usual. In fact to get the best performance out of your netbook or Ultra Mobile PC it is recommendable to have close look at employing Intel® Atom™ processor specific optimization techniques.

For target platforms running Microsoft Windows* XP, this means having a close look at the Intel® C++ Compiler and the /QxSSE3_ATOM optimization swicth and the optimization possibilities and performance benefits it offers specifically for the Intel® Atom™ processor (http://software.intel.com/en-us/articles/atom-optimized-compiler).

It also means having a look at the Intel® VTune Performance Analyzer v9.1 or higher, which permits identifying where and application spends most of it's time during execution, event based sampling to identify dependency stalls and system resource conflicts and thus it helps to create in depth understanding of what code execution bottlenecks in your application impede performance (http://software.intel.com/en-us/articles/using-vtune-atom-windows). With this tool you can move towards highly performing applications in a reasonable amount of time, since it helps you identify where tweaks are going to be most effective.

The Intel® Integrated Performance Primitives (http://www.intel.com/cd/software/products/asmo-na/eng/perflib/ipp/302910.htm) provides an extensive library of highly optimized software functions for multimedia data processing, and communications applications. It additionally represents a great set of optimizing software building blocks to complement Intel’s optimizing compilers and performance optimization tools.

Finally, many of the efforts for looking at more effective and compelling parallel programming techniques like the use of the Intel® Threading Building Blocks (http://software.intel.com/en-us/articles/intel-threading-building-blocks/all) and the Intel® Parallel Studio (http://www.intel.com/cd/software/products/asmo-na/eng/399359.htm) also apply to the Intel® Atom™ processor.

Since you are developing on a standard Microsoft Windows* platform for a standard Microsoft Windows* platform without any major differences in the underlying platform architecture or the operatins system's graphical user interface, taking advanatge of the Intel® Atom™ processor specific optimizations and the additional parallelism features provided is really the one thing you should consider having a closer look at. Otherwise, designing your software application cansimply follow the same guidelines you apply for your standard development cycles as well.


Benefits

One of the great benefits of developing for the Intel® Atom™ processor for these smaller form factor devices running Microsoft Windows* is that you can continue to use the exact same development methodology you always used with the exact same development tools you use for traditional target platform development.

Once you add the low power usage and the great performance you can attain through the use of Intel's development products you are ready to go.


Conclusion

In conclusion, there are no "special" Intel development tools targeting Microsoft Windows* based development for netbooks and ultra-mobile PCs using the Intel® Atom™ processor. The wide range of development tools available do however provide features and optimizations specifically targeted at the Intel® Atom™ processor. These features go from optimizations in the compiler modelling the in-order schedule instruction pipeline of the processor to the ability to read out and analyze performance monitoring unit (PMU) events and map them to the executed code using the Intel® VTune™ Performance Analyzer.