Netbook and Nettop Community

Moblin for Netbooks and Nettops

  1. Introduction to Netbook and Nettop Categories
  2. Moblin Technologies for Netbooks and Nettops
  3. Graphics Subsystem Optimizations
  4. LessWatts.org Technology
  5. Intel® Atom™ Processor Tuning
  6. Memory Footprint
  7. Boot Time
  8. Home Screen/System Navigation
  9. Applications
  10. Browser
  11. Multimedia Codecs
  12. Connection Management
  13. Security

1 Introduction to Netbook and Nettop Categories

Netbook and nettop are category names for new easy-to-use, affordable, devices built primarily for Internet use. Netbook and nettop categories are primarily targeted to address internet-centric usages at an affordable system price point of ˜$250, in a simple, familiar form-factor. They are targeted primarily towards the personal/consumer and education target segments, in both mature and emerging target markets. Devices built on this platform will most likely be used both as primary devices (first time buyers, both adults and children) and secondary devices, in and outside the home. Primary purchasers of this device will likely include parents (for themselves or their children), adults, kids, educational institutions, and not-for-profit agencies. Netbooks and nettops have targeted performance for tasks such as browsing, communication, watching, and listening to internet-based content and learning. The market opportunities show great potential for nettops and netbooks for target usage models such as communicating (email, instant messaging, voice over IP, social networking); browsing (surf the web, read the news, search for information); watching (photo viewing/sharing, video streaming, basic online gaming); listening (MP3, streaming audio) and learning (research for homework and studying/writing papers, ensuring safe internet browsing and language learning).

2 Moblin Technologies for Netbooks and Nettops

Moblin for netbook and nettop program defines the vision and technologies that are targeted for Intel® Atom™ processor-based netbooks and nettops. This covers a wide range of technologies and building blocks that will be developed on moblin.org that range from kernel and core operating system, all the way up to usage model and applications. Some of the key areas that the moblin.org project will focus on include:

  • Power savings technologies
  • Graphics subsystem optimizations
  • System navigation and usage model
  • PC capable internet browser
  • Both SW and HW-optimized multimedia codecs
  • Intel Atom processor tuning in the operating system
  • Connection management
  • Security and manageability
  • Enhancing and developing applications and system settings appropriate for the usage model
  • Memory footprint optimizations
  • Short boot time and resume time

3 Graphics Subsystem Optimizations

The Intel-based netbook and nettop environment offers unique opportunities to add value across the whole rendering spectrum.

  • Optimizing low level hardware access
  • Power managing graphics clock domains
  • Balancing CPU and GPU rendering activities
  • Improving CPU-based graphics algorithms
  • Targeted changes in graphics drawing libraries
  • Application-level changes to reduce rendering cost
Optimizing Graphics Hardware Access

The goals are to:

  • Reduce overhead for using graphics hardware
  • Transfer data from applications to graphics processors, as efficiently as possible

Features include:

  • Cache-aware graphics data transfer
  • GPU-based DMA for key graphics operations
  • Page-table tricks to move bulk data in/out of the GPU

Keeping sections of the graphics hardware powered down sometimes means avoiding them, even when it seems counterintuitive.

  • Use video overlays for media playback. This can keep the 3D engine powered down, even though the video overlay consumes additional memory bandwidth.
  • Use the 3D engine for buffer swapping. This could keep the 2D engine powered down during 3D application execution.

With the overall system architecture offering balanced GPU and CPU performance, avoiding overrunning the GPU and leaving the CPU idle can leave potential performance on the floor. Performance analysis, using the target application suite, can help decide where to make the split.

  • Dynamic selection between CPU/GPU for vertex/geometry shading
  • Sync-free graphics hardware access, to prevent the CPU and GPU from executing small tasks in lock step

Low power CPU architecture means that generic x86 rendering algorithms will take longer and use more time than carefully optimized CPU-specific code.

  • JIT compiling rendering inner loops
  • Cache-aware rendering optimizations
  • CPU latency analysis for software pipeline

While improving the CPU-based rendering codes can offer significant power and performance improvements, looking up the stack to the broader rendering infrastructure can yield larger benefits:

  • Replace CPU rendering with GPU rendering. GPUs offer lower power and higher performance, but sometimes system libraries are not designed to leverage them.
  • Adjust algorithms to match hardware capabilities, such as tessellation and polygon rasterization. Current 2D graphics code targets simple CPU-based polygon rasterization. Replacing the tessellation code and respecifying the rasterization requirements will allow us to hit the GPU for polygon operations.

The interaction between the applications and the graphics system can have a significant effect on performance and power consumption. Fixes within the application may be the best place to affect the desired benefits.

  • Leverage GPU for jpeg decoding in web browser
  • Change the flash player to use a hardware MPEG decoder

4 LessWatts.org Technology

For a given on-battery time, system power consumption determines the weight and cost of the battery in the netbook. For an optimal user experience, the moblin-based OS embraces and includes the best-of-breed power optimization techniques from the LessWatts.org project. Using LessWatts.org technology, the netbook applications can be optimized to maximize the usage of the hardware power saving capabilities. The various device drivers in the moblin-based OS aggressively turn hardware off when it's not in use. By using power saving features, the eye-candy functionality is balanced with power consumption, such that OS-driven animations, transitions, and sound effects are limited in duration, so that the system spends the majority of the time in the lowest possible power mode.

The policy engine in the kernel balances the needs of the applications currently running, with the desire to use very aggressive power savings, giving the user the appearance of a full performance system and a long battery life. A simple but powerful UI allows the user to make key choices that influence the tradeoff between power consumption and performance. When idle, the system should be in the C4 state for a minimum 98% of the time, with an average duration of at least 25 milliseconds, as measured by PowerTOP 1.10

5 Intel® Atom™ Processor Tuning

The Intel Atom processor is specifically designed to meet the target performance needs of internet-centric use, while being optimized for low power, small size, and low thermals. To maximize system performance and minimize power consumption and memory footprint, the entire moblin-based OS uses aggressive Intel Atom processor optimizations. The moblin-based OS and applications use multithreading to make the most of the hyper-threading capability of the Intel Atom processor, by simultaneously boosting system response and performance.

The Just-In-Time compiler, as used by the managed runtime environment, is tuned to balance generating optimal code for the Intel Atom processor, with compilation time and memory footprint.

6 Memory Footprint

Bigger system memory takes power and costs money. To keep the netbook or nettop attractive for its audience, the moblin-based OS is significantly optimized to operate well in a small memory footprint, allowing the netbook or nettop vendor to use cheap and low power memory modules for entry level models. The moblin-based OS translates the use of bigger memory modules into a user experience that allows more and more complex applications to be used on more expensive, higher margin netbook models.

7 Boot Time

In an internet-anywhere-internet-anytime world, many users will use their netbook or nettop for brief periods of time. The moblin-based OS should be optimized to be ready to use 10 seconds after the user hits the system's power button. To achieve this aggressive target, the moblin kernel and device drivers are tuned not to have unnecessary hardware delays while booting. The moblin-based OS does not perform any unneeded steps, during its startup process, that take either time or memory, but starts negotiating network connectivity early on, so that the user can visit the internet immediately after startup.

8 Home Screen/System Navigation

A rich master user interface will be created that:

  • Provides an intuitive and fun mechanism for launching applications and navigating between already running applications
  • Enables the user to work in full-screen mode most of the time
  • Provides a status and notification mechanism that is intuitive, yet allows the application to use a maximum amount of screen real estate

The expectation is that each OEM will wish to provide a unique branded master interface. To make this easier to accomplish on a large number of anticipated netbook and nettop products, a reference implementation needs to be developed by building from a common core components (and adding new infrastructure components, where the need exposes itself).

9 Applications

Initially, netbooks and nettops will use standard Linux desktop applications that are appropriate for the target usage model. In time, these applications will be enhanced to build off a tightly integrated 2D/3D canvas that will take the overall netbook/nettop user experience to the next level. Eventually, all main applications and system settings will be designed specifically for netbooks and nettops, and will integrate well with the navigation UI in terms of look, feel, and usage model.

10 Browser

Providing a PC-quality, rich internet experience for Intel processor-based mobile platforms is a primary goal for Intel. To this end, the moblin-based OS browser will:

  • Be a Mozilla-derived browser. Firefox Mobile is a possible candidate at this time, depending on how it develops.
  • Be highly tuned for performance and power.
  • Take maximum advantage of Intel CPU performance features, such as the fourth generation of streaming media (SSE) instructions and Intel® Performance Primitive (IPP) libraries, both of which the browser uses for various rendering and image processing tasks.
  • Use the state of the art CAIRO graphics engine to offload the common screen rendering tasks to the Intel integrated graphics GPU.
  • Achieve the highest success metric for correctly rendering web sites of any other Linux browser, as measured by Intel against top-100 sites.
  • Have tight integration with the media subsystem and multimedia codecs, for optimal media playback performance.
  • Have appropriate media extension/add-ons, to allow video to be viewed inline.
  • Support the latest Adobe Flash plug-in available for Linux. This is likely to be Adobe Flash v10 in 2009.
  • Have an elegant, simple, and feature-rich user interface, designed specifically to deal with the limitations of the small-screen.

11 Multimedia Codecs

Multimedia codecs on a netbook or nettop should be highly optimized for the Intel Atom processor by taking advantage of the Intel® Digital Media Boost (SSE, SSE2, SSE3, and SSSE3) instructions and by using the IPP.

To provide the expected end user experience, a minimum set of media types includes:

  • Video Decoders
    • Flash v9
    • Motion JPEG
    • H.264
    • MPEG-1
    • MPEG-2
    • MPEG-4
    • VC-1
    • RealVideo
  • Audio Decoders
    • AAC
    • RealAudio
    • MPEG-1/2 Layer I/II/III
    • AC-3
  • Container Types
    • avi
    • mpg
    • mp
    • mpa
    • wma
    • wmv
  • Stream Types
    • Elementary Streams (ES) (pure video)
    • MPEG-2 Transport Streams
    • MPEG-2 Program Streams
    • MPEG-4 Streams
    • ASF Streams

12 Connection Management

A netbook or nettop is fundamentally a connected device, requiring a simple and efficient connection management infrastructure that allows:

  • Seamless roaming between wired, WiFi, Bluetooth, and WiMAX networks
  • Provide a simple-to-use interface for end users to: visualize the available networks, and then select the preferred network
  • Do all of the above without compromising battery life

Vendors currently integrating solutions will be limited to existing GNOME, KDE, or proprietary solutions. Over the next year, Intel will be working in the community to create a Connection Manager-based solution targeted for future products.

13 Security

For inexperienced users, the Internet can be a hostile place with viruses and rootkits attacking systems, and botnets taking over the world. The moblin-based OS should incorporate the best-of-breed Linux security technologies that help deflect external attacks. The moblin-based OS will have a firewall to protect the system against network attacks, and a spam filter and virus scanner to make email safer for the user. Under the hood, the moblin-based OS uses the technologies that came out of the ExecShield project (non-executable stack, address space randomization, the stack-protector and fortify-source compiler technologies) to deflect most exploits. In addition, the moblin-based OS uses best practices around privilege separation and compartmentalization to reduce the impact of an attack, if an attacker would manage to bypass all other defenses.