Compare Gadgets Vs. Compare

Intel Core i3-350M Questions & Answers

Multicore vs Multithread

Posted by Renk81 on Jan 07, 2012

With processors these days getting bigger and bigger and faster and faster, phones soon to join the fray with their own quad-core, I got to thinking about the differences between having four core and having four threads, aside of just having multiple physical cores and multiple line running into them.Running an i3 (2 cores 4 threads)here my computer looks at it like a quad core.

So when is multicore better and when is it complete overkill?
When is multithread better and when is it complete overkill?
Over all which is better for the average PC user?


« Back to all discussions

Reply Level 3 1 superuser on Jan 09, 2012

I can't find any downsides on the multi-core processors -- after all they're installed all over now (from Pentiums to Core i's) and only budget and ultra-low voltage CPU's tend to be single core. PC speaking. However, multi-threading, even though it is a beautiful feature, a) isn't supported by all apps (some older ones and OS's) and might even decrease performance in some very rare cases; b) still isn't a "standart" option, imo only because of the class/price fragmentation.

I did a bit of a research on Intel's multi-threading (a.k.a Hyper Threading) as it was quite interesting to me as well, and wanted to figure out what's what. Basically, If you own a recent windows OS copy and frequently update your software you should be all good.

For the average Joe, I suppose basic i3 will do great. It is present almost in every PC system for sale now.

Reply Level 1 2 Andrew on Jan 09, 2012

Superuser obviously does not know what they are talking about... "multithreading" does not have to be supported by an application.... Yes you can "thread" a program to make it more parallel, but the OS is scheduling the processes on the cores and switching between them using a scheduler... The more threads your allowed to have the more the OS can schedule at once... think of it as iif you had word and outlook opened instead of the OS switching really fast between those two processes constantly it can schedule them both at once and potentially get better throughput.

Benefits vary, if you have a single core that supports two threads and two cores that only support a single thread each, you are basically running the same thing, but using more area and depending on the design the extra core may consume more power than the single core running multiple threads... However the logic is more complex for multithreading support which will also cause a heat up in that logic...

Depending on the design and the software being run, a miltithreaded design may be more efficient if there are enough free execution units and pipes for each thread so they are not bottlenecking/choking eachother... Some applications maye have a very independent code mix so there are really no free slots for the other thread to work efficiently in a miltithread core.

Based on my experience multithreading is more effiecient and more complex than only allowing one process to run on a core at a time because of inefficiencies in scheduling and idle pipes/execution units.

Reply Level 5 4 Dexter on Jan 11, 2012

I don't believe there are any significant benefits of having either a single core cpu or single thread one. In terms of productivity more is more. Unless you're building/buying machine for strict office use and/or are limited by a budget, of course.

Reply Level 7 5 I.P.K. on Jan 12, 2012

Multicore use concurrency to share work around the system. As many software tasks can run at the same time as there are processors in the system. Once the fastest single processor possible is built, the only way to get more power is to use more than one of these processors. If a load that would saturate a 2GHz processor could be spread across 4 processors, those processors could run at 500MHz each. If each 500MHz processor is less than a quarter the size of the 2GHz processor, or consumes less than a quarter the power the multicore system might be more economical.
Multithreaded processors also use the concurrency of multiple tasks, but in a different way and reason. Instead of a technique to spread CPU load, multithreading is processor level optimization which improves area and energy efficiency. Single threaded, high performance processors spend a lot of time doing nothing and that is why multithreading architecture is created.

Post your comment

Want to post a comment? Only registered users can post, please log in or register.