Welcome to Linux Forums! With a comprehensive Linux Forum, information on various types of Linux software and many Linux Reviews articles, we have all the knowledge you need a click away, or accessible via our knowledgeable members.
Find the answer to your Linux question:
New to Linux Forums? Register here for free!
    Linux Forums > GNU Linux Zone > The Linux Kernel > Does Linux SMP perform at its optimum in Intel Core i7?

Forgot Password?
 The Linux Kernel   Compiling, theory, programming or other discussion about the linux kernel

Site Navigation
Linux Articles
Linux Forums
Linux Downloads
Linux Hosting
Free Magazines
Job Board
IRC Chat
RSS Feeds


Linux Forum Topics
Linux Forums
Your Distro
Linux Resources
GNU Linux Zone
The Community
Reply
 
Thread Tools Display Modes
Old 09-18-2009   #1 (permalink)
Just Joined!
 
Join Date: Sep 2009
Location: Melbourne
Posts: 2
Does Linux SMP perform at its optimum in Intel Core i7?

This is a general technical question about Symmetric Multiprocessing in relation to the Intel Core i7. (Actually, it's more about Hyperthreading than i7.)

My understanding is that Symmetric Multiprocessing means that the operating system treats all processors as identical, and therefore it can assign a new thread to any free processor.

And that i7 appears to the OS as 8 processors, 0 thru 7.

But from a performance perspective, the 8 processors are not identical, because each core has 1 execution engine plus the ability to store the state of 2 threads. This is, as far as I understand it, the essence of Intel's Hyperthreading. So the execution engine can quickly switch between 2 threads, but only one at a time actually executes.

If, for example, there is one thread assigned to processor 0, and the OS then assigns a second thread to processor 1, the result is that both threads are competing for the same execution engine, while the other 3 cores are idle.

Is my understanding correct?

If so, does linux SMP take full advantage of Intel Hyperthreading (which existed also in an earlier Intel processor)? That is, does linux SMP assign threads in such a way that it attempts to choose an idle execution engine?

How about Windows? How does it handle the situation?

Thanks. Gerry
gerrybutler is offline  


Reply With Quote
Old 09-19-2009   #2 (permalink)
Super Moderator
 
ozar's Avatar
 
Join Date: May 2004
Posts: 12,056
Welcome to the forums!

I've been thinking about going with an i7 myself and wondering the same thing. While researching the matter, I ran across this review that might answer some of your questions:

Intel Core i7 On Linux Review

I'd love to have one but due to pricing, I don't want to get it until I'm sure that Linux can't take full benefit of all the features that come with these processors.
__________________
oz

New Members: * README *
ozar is offline   Reply With Quote
Old 09-19-2009   #3 (permalink)
Just Joined!
 
Join Date: Sep 2009
Location: Melbourne
Posts: 2
Thank you ozar

I have had a look at the article. There are some interesting benchmark results. There is also a very recent article on the same site comparing benchmarks of i7-870 and i7-920 (plus 2 other processors). It's an interesting site that I've come across a few times before, but never looked closely until you referred it.

It doesn't directly address the question I raised. However, it has some forums that might produce something interesting if I post the question there.
gerrybutler is offline   Reply With Quote
Old 09-19-2009   #4 (permalink)
Super Moderator
 
ozar's Avatar
 
Join Date: May 2004
Posts: 12,056
The price on the i7-920 is starting to look really good, so I'd probably go ahead and get one, but with the extra expense of the LGA 1366 motherboard and some rather expensive RAM, I'll probably hold off a little longer.

If you go forward with it, do let us know how it all works out for you.
__________________
oz

New Members: * README *
ozar is offline   Reply With Quote
Old 09-21-2009   #5 (permalink)
Linux Guru
 
Rubberman's Avatar
 
Join Date: Apr 2009
Location: I can be found either 40 miles west of Chicago, or in a galaxy far, far away.
Posts: 2,662
AFAIK, the i7 is a quad-core processor, though as you note each core can run 2 threads concurrently (hyperthreading) so it looks to some OS's as 8 cores (not). A thread is a "light weight" process. They can run one process on each core, and two threads on each concurrently. I think if a single process has more than 2 threads that they can all run simultaneously, up to the limits of the CPU (4 cores, 8 threads). I do know than when I run a multi-threaded application like ffmpeg on my 8 core system with 8 threads enabled it runs almost 8x faster than with one thread.
__________________
Sometimes, real fast is almost as good as real time.
Rubberman is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Free Magazines
Run Your Own Web Server Using Linux & Apache - Free 191 Page Preview
Learn about everything you'll need to build and maintain your Linux servers, and to deploy Web applications to them.
subscribe
Open Source Security Myths Dispelled
Dispel the five major myths surrounding Open Source Security and gain the tools necessary to make a truly informed decision for your IT organization
subscribe
InformationWeek
InformationWeek is the only newsweekly you'll need to stay on top of the latest developments in information technology.
subscribe



All times are GMT. The time now is 01:47 PM.






© 2000 - 2009 - All Rights Reserved - Property of  MAS Media

Content Relevant URLs by vBSEO 3.3.0 RC2