Channels ▼

Gastón Hillar

Dr. Dobb's Bloggers

Moblin v2.0 is Multicore Ready

October 08, 2009

Moblin v2.0 for Intel Atom Processor based netbooks is already available. Developers with Linux experience will find it easy to target this new attractive platform. However, many developers have many questions related to the multicore support offered this new operating system.

This post is the result of more than 50 e-mails in the last two weeks, asking a very similar question. Instead of answering 50 times the same questions, I promised a detailed post on Go Parallel talking about the multicore possibilities offered by Moblin v2.0.

Most modern Atom processors offer Hyper-Threading. I've already talked about some experiences in my previous post "Downsizing Multicore Programming Skills to Take Advantage of Intel Atom" and the e-mails with questions increased after its publication. When you check the microprocessors' specifications, the manufacturer explains that the operating system and the applications have to be optimized to take advantage of Hyper-Threading. What about Moblin v2.0? Does it support multicore? Is it able to scale when more cores are available? There is already a netbook manufacturer using two Intel Atom processors, creating a multiprocessor netbook. Is Moblin v2.0 able to support this configuration?

The answer to all these questions is very simple. Moblin v2.0 uses a Linux kernel. Therefore, checking the Linux kernel version, I'll be able to answer all these questions. Opening a Terminal window and typing:

uname -sr

You can get the complete kernel name and its release number.

The result will display:


as shown in the following:

Moblin v2.0 displaying the Linux kernel name and release.

This means that we have an operating system using a Linux kernel for Moblin v2.0. You can check all the features supported in the same release for the generic kernel in Nonetheless, my focus is on the multicore and Hyper-Threading support. This kernel version has full support for multicore and Hyper-Threading, therefore, you have a multiprocessor capable kernel. Moblin v2.0 scheduler can work with 2 or more logical cores. If you install Moblin v2.0 in a netbook with more than one Intel Atom processor, it will be able to take full advantage of all the available logical cores.

You can also run the following command to get the kernel:

uname -v

You can get the detailed version information.

The result will display:

#1 SMP PREEMPT Mon Jul 27 12:26:15 UTC 2009

as shown in the following picture:

Moblin v2.0 displaying the kernel's detailed version information.

It is very clear that the kernel offers SMP support. Does it recognize the underlying hardware, with Hyper-Threading enabled? It's also easy to check it.

Opening a Terminal window and typing:


You can get the detailed information about the logical (hardware threads) and physical cores detected by Moblin v2.0.

The result will display:

Architecture: i686 CPU(s): 2 Thread(s) per core: 2 Core(s) per socket: 1 CPU socket(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 28 Stepping: 2 CPU MHz: 800.000 L1d cache: 24K L1i cache: 32K L2 cache: 512K

You can see it in the following picture:

Moblin v2.0 displaying the information about the Intel Atom processor with its 2 logical cores (hardware threads).

This means that the CPU is running at 800 MHz instead of 1,600 MHz (1.6 GHz) because it's idle. If you run the command many times, it will show different speeds, according to the logical cores' load. In the following picture, the same command shows the CPU running at 1,600 MHz.

Moblin v2.0 displaying the information about the Intel Atom processor with its two logical cores (hardware threads) running at 1,600 MHz.

Using your parallel programming skills, you can take advantage of the two hardware threads available and achieve a better performance when targeting Moblin v2.0 running on Intel Atom processors. Don't even think about creating serial code when you have 2 hardware threads available. Remember, the battery life is also going to thank your efforts to take advantage of Hyper-Threading on these platforms.

For More Information on Moblin

Go to Dr. Dobb's Moblin Zone

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.