Sign in with
Sign up | Sign in
Your question

Hyperthreading

Last response: in CPUs
Share
August 26, 2009 8:37:22 AM

okay when I got a Pentium 4 computer I got hyper threaded and I was told that it was as good as 2 CPU's. I was being upgraded from a Pentium two 333 megahertz so when I actually got do Pentium 4 all I noticed was it was really fast.

now that I'm a bit older I've been wondering exactly how much of a difference does hyperthreading make.

Let's say there three CPU's

one single core
One single core hyper threaded
and one dual core

if this single core is 100 quarts 200 about where were the hyper threaded processor be.

and for the sake of argument let's say every court has the same gigahertz

More about : hyperthreading

a b à CPUs
August 26, 2009 8:53:43 AM

Typically, on the older P4s, the hyperthreading added around 15-20% on a well-threaded program (IIRC). The Core i7 is a bit better, and adds around 25%.

In other words, if a P4 non-HT at 3GHz scores 100, and a Pentium D (non-HT) at 3GHz scores 190 (it isn't perfect scaling), a P4 with HT at 3GHz will get around 115-120. An i7 with HT off might score 1000, and with HT on might get as high as 1250 or so. This is all assuming a highly threaded operation though. If you are only running a single thread, there is basically no gain to hyperthreading.

In the case of the P4 HT, it also has the benefit of feeling quite a bit smoother than the non-HT P4 under heavy load, since it has an additional thread to play with to run background tasks.
August 26, 2009 8:58:10 AM

A cpu goes through several steps to do a calculation. What hyperthreading does is use the sections that would otherwise be idle to start the next step. While your washing a pan in the sink, a plate is drying in the dish-strainer, and a cup are in the cabinet. Before hypertheading you wouldn't be able to use the sink or cabinet till the plate in strainer was done.

hyerthreaded cpu is about the middle of a single and dual core.
Related resources
a b à CPUs
August 26, 2009 2:45:23 PM

* Modifying 505090's analogy.

The basic process is that you wash your dish, put the dish in the dish-strainer to dry out, then put it in the cabinet when its done. With Hyper-Threading you double the dish-strainer, so when you're done preparing/washing the plate you could put it in the other dish strainer without waiting for the original to dry and empty first.

In the case with a dual-core, you double the kitchen so there would be 2 dishwashers, 2 sinks, etc. But with dual-core setup the plates are in one table and each dishwasher may contend to get a certain plate first and there's a limit on the number of plates.

With a multiprocessor setup, you double the house.
August 26, 2009 3:57:30 PM

what if you have a dish washer? oh wait...
a b à CPUs
August 26, 2009 6:00:38 PM

If a single-core CPU is a dishwasher, then a dual core would be two dishwashers. And an SMT core would be one 4-armed dishwasher :D .

Actually the benefits of SMT are for a mere extra 5% transistor budget, you can get up to 25% more throughput for code that has 30% or more clock cycles wasted on waiting for some input or other thread to finish. Instead of the core sitting around waiting, why not switch to another task (thread) and execute it until the first thread is ready to run again?
August 26, 2009 7:21:40 PM

As shown by many multithreaded applications, the doubling of cores usually equates to a 50% performance improvement, or, half of what is theoratically expected. The Atom 330 goes against this rule, and attains performance gains of up to 70% over the single core atom. I think that has a lot to do with Atom's In Order execution. When one stalls out the other core can complete the work, thereby the two work synergistically. We don't see that with OOO CPUs, and 50% performance increase with doubling of cores seems to be the norm. Hyperthreading can achieve anywhere from 10 to 20% over a non-HT enabled P4. So, for it's small amount of added power consumption, hyperthreading does show significant improvement to a single core cpu, almost coming close to being a nice middle-of-the-road bridge between single core and dualcore.

I do wish Intel would release an OOO 45nm single core CPU with hyperthreading enabled for the notebook crowd. Atom is okay, but I'd gladly exchange a few more watts power consumption for a 100% increase in performance over the atom.
a b à CPUs
August 26, 2009 9:28:24 PM

Joe: actually, doubling of cores can show far more than a 50% speedup on a fully multithreaded program. On cinebench, for example, quads usually have about a 3.5-3.6x speedup when running all 4 cores compared to a single core (if it were 50% per doubling, you would only expect 2.25x). 90% is closer to the real value for scaling a well-threaded operation (unless limited by something else, such as FSB bandwidth).
a b à CPUs
August 26, 2009 10:15:18 PM

^Correct. Same with many CAD/CFD programs.
August 26, 2009 10:39:20 PM

Shadow703793 said:
^Correct. Same with many CAD/CFD programs.


I don't mean to hijack the thread or anything, but what CAD programs make use of more than 2 cores ? I run a veritable cornucopia of CAD/CAM programs, and in my experience they use 2 threads at best ( aside from COSMOS ). During the actual drawing, design, and CAM phases, CAD is extremely difficult to multi-thread. If you know of any that make use of more than 2, I would be extremely curious. Not to say multi-core isn't beneficial....My main work box is a dual quad xeon, but that allows me to work on different stages of the project simultaneously in multiple windows/programs.
a b à CPUs
August 26, 2009 11:24:03 PM

^SolidWorks 2010, Inventor 2010 benefit from more cores esp. with large assemblies, and multiple items running at once. FloWorks (part of COSMOS), ThermalDesktop,etc are also benefactors.
August 26, 2009 11:53:25 PM

Shadow703793 said:
^SolidWorks 2010, Inventor 2010 benefit from more cores esp. with large assemblies, and multiple items running at once. FloWorks (part of COSMOS), ThermalDesktop,etc are also benefactors.


You speak from experience ? I have both inventor '09 and Soliworks '09 and I was promised just that, however in testing it was simply not the case. I hesitate to upgrade just for that reason. I do know that the simulation side ( which I don't use ) of solidworks can have some advantages, but not the actual design phase. Both '09 versions made the claim, but neither showed improvements in my areas. I generally don't work with large assemblies though, but I do work with extremely complex single parts that choke machines rather easily. Typical single part file size for me is approx. 300-500MB ( which is quite large for a single part ), but they do swell quite a bit while working. Inventor handles multi-threading the best for me, but unfortunately is my least used program. Most of my problems stem from the CAM side of things, and AFAIK there is no hope for improvement anytime soon, just marketing hype. If you do use solidworks, do you know if the solid import translation gains support for multi-threading ? One of my most time consuming tasks is importing a masterCAM sheet-based solid, then exporting to a parasolid. Both inventor and solidworks can do this, but both reduce themselves to just 1 thread, which makes the entire process take 4-8 HOURS depending on complexity. Heck, even one of my old HT xeon machines can at least compete for these tasks.

Again...sorry to hijack the thread.....
a b à CPUs
August 27, 2009 12:51:16 AM

^Yes, personal experience. If you see this thread:
http://www.tomshardware.com/forum/forum2.php?config=tom...
I was running FloWorks on a E2180 @3.2Ghz. After a while I got tiered of waiting, and built a 2P Nehalem build for a neighbor (just my luck eh?): http://www.tomshardware.com/forum/forum2.php?config=tom...

I am told that the person who I built it for is quite happy with it. And taking his words: "large CAD files are much smoother to work with (aka no lagg)". He works in the aerospace sector.

As far as CFD goes, my 120second simulations took a long while(~3-3.5hrs IIRC) on a Dual Core and less (2.4-3hrs IIRC) on a Quad (Q6600 @ 3.6Ghz). On the 2P Nehalem my simulations could be completed in 45 minutes to 2hrs.

Quote:
If you do use solidworks, do you know if the solid import translation gains support for multi-threading ?


At any rate, you could "test" Inventor 2010 or SolidWorks 2010 before you buy. If you are a student (or know any one with a .edu email) you can get Inventor free here: http://students4.autodesk.com/ to test before you buy (I believe the Pro one is ~$800+?)
August 27, 2009 1:21:34 AM

Shadow703793 said:
^Yes, personal experience. If you see this thread:
http://www.tomshardware.com/forum/forum2.php?config=tom...
I was running FloWorks on a E2180 @3.2Ghz. After a while I got tiered of waiting, and built a 2P Nehalem build for a neighbor (just my luck eh?): http://www.tomshardware.com/forum/forum2.php?config=tom...

I am told that the person who I built it for is quite happy with it. And taking his words: "large CAD files are much smoother to work with (aka no lagg)". He works in the aerospace sector.

As far as CFD goes, my 120second simulations took a long while(~3-3.5hrs IIRC) on a Dual Core and less (2.4-3hrs IIRC) on a Quad (Q6600 @ 3.6Ghz). On the 2P Nehalem my simulations could be completed in 45 minutes to 2hrs.

Quote:
If you do use solidworks, do you know if the solid import translation gains support for multi-threading ?


At any rate, you could "test" Inventor 2010 or SolidWorks 2010 before you buy. If you are a student (or know any one with a .edu email) you can get Inventor free here: http://students4.autodesk.com/ to test before you buy (I believe the Pro one is ~$800+?)


Yeah, no doubt you know a little bit...I lol'd when I read your .42mm gap between pins...first thing I thought was I'de just wire it out...but I'm assuming that's exactly what he did for you. Unfortunately, CFD, simulations, and large assemblies are useless to me personally. Worse still, the import function of solidworks seems to be the chink in my armor at this point....It just sucks that the import and export functions account for half of my programming time on one of these type of jobs. I am very confident that hardware is not my problem. I wish software could mature as fast as the hardware it runs on.....multi-threading has a long way to go.....cost of the software is irrelevant to me if I could cut my time in half.....On a side note..He was very nice to help you out with that machining...personally, I hate the little trincket parts...LOL....you could also go smaller on that project using .007" wire ( which most wire edm's can do without special considerations ), but it does cost more.
August 27, 2009 1:23:29 AM

thank you I think I understand this a bit better now.

I have a new question kind of a part 2 to this.

let's say I have a quad core and an i7. I'm not doing a bunch of rendering or processor intensive things, but what I am doing is a bunch of multitasking.

Right now I have six Explorer windows open, seven Firefox windows open with a least 190 tabs, the video player open playing a video 1560 kbps, acdsee version 8, 3 irc windows, winamp, utorrent, dragon 10 I believe, and a few other programs running in the background.

190 tabs isn't rare sometimes I go over 400, and sometimes I have multiple instances of any of the other programs I mentioned opened. now if what I just mentioned which processor would suit my needs better. if it's a 25% improvement with the i7, I think would be worth getting then. However if the quad core is not all the way yet... it's kind of hard to explain what I mean, I've been looking into getting a new computer for a while and I was hoping the difference between the hyperthreading and non-hyperthreading helped me with it but now it's just made it more confusing for me. From other places I ask in the i7 would be overkill for me, and they just tell me go Quad core because it's $300 cheaper overall...

it's a bit hard for me to explain like I said so I might go on more about it at a later time.
August 27, 2009 1:36:34 AM

cjl said:
Joe: actually, doubling of cores can show far more than a 50% speedup on a fully multithreaded program. On cinebench, for example, quads usually have about a 3.5-3.6x speedup when running all 4 cores compared to a single core (if it were 50% per doubling, you would only expect 2.25x). 90% is closer to the real value for scaling a well-threaded operation (unless limited by something else, such as FSB bandwidth).

A synthetic benchmark. It's been a while since I've really looked out the multicore effeciencies, but at least a couple years ago, actual applications did not come near 80-90% efficiency. I just check anand's "bench" and there does seem to be some good advances in multithreaded applications. I see the old media encoder 9 is still lagging at 50% improvement, but a lot of x264 encodings are now showing almost perfect efficiency. Kudos to you for keeping me up to date!
a b à CPUs
August 27, 2009 2:27:31 AM

joefriday said:
A synthetic benchmark. It's been a while since I've really looked out the multicore effeciencies, but at least a couple years ago, actual applications did not come near 80-90% efficiency. I just check anand's "bench" and there does seem to be some good advances in multithreaded applications. I see the old media encoder 9 is still lagging at 50% improvement, but a lot of x264 encodings are now showing almost perfect efficiency. Kudos to you for keeping me up to date!

Cinebench is valid for rendering - I notice a 4.2x speedup when rendering an animation in solidworks on 8 threads compared to 1 (quad + HT). Quad thread is only a bit slower (maybe 3.6x speedup or so). It's true that many applications are not great at scaling, but that's due to the application, not due to the inherent scaling of the processor.
a b à CPUs
August 27, 2009 3:29:48 AM

alidan said:
seven Firefox windows open with a least 190 tabs
I gotta believe that you'd benefit from a quad core machine running that kind of workload. I just opened up 17 tabs simultneously in Firefox and Task Manager showed four cores of my i7 920 doing work. But at some point you're going to run into bottlenecks in your temporary Intenet cache folder.
August 27, 2009 9:47:33 AM

i hit a wall every now and than, i have to restart firefox because it hits 50% processor and higher, basically crashing it all together without crashing it. thats the main reason i use backup browsers like chrome in case firefox goes kaput.

but if i had to chose, which would be better, the i7 or a quad core for the way i use my computer. i know i need more power than this pf 540 (i believe) is giveing me. but there is a big difference between 300$ for processor and mother board alone, there is also another 110 difference in the ram cost (4gb for quad, 6gb for i7) and a difference in what bit i use, (32 for quad, i may not get to see all the ram ub thats not a big concern for me, or 64bit for i7).

im not using the speech to text because of the load on the computer right now, its taking almost 10 seconds to convert my speech to text (on a low low it can take 1 or 2 at most)

all togeather im looking at about a 600$ price difference between a quad core and an i7 setup.

and also, ill point this out. im looking into being able to play 1080p media,

lets say within 5-6 years, do any of you see video resolutions increasing to the point where it would bog down a quad core machine, games may advance that far (im thinking they lean quite a bit more on videocards) bout would video?
a b à CPUs
August 27, 2009 1:33:06 PM

With the amount of work that you do, an I7 may be beneficial. Since the I7 is insanely fast, it should last you much longer than a Quad at socket 775 (which Intel is going to kill in the near future).

The quad or the I7 is leaps and bounds faster than your 540, even with the Quad you may be surprised by the speed increase. As for playing 1080p content, a decent video card is all that is needed, anywhere from the GF 9600GT or 4670 and upper models could play those flawlessly.

The only real question with getting an I7 is if you could afford it. If you could, go for it, else buy the Quad to save up for a better video card/hdisk/psu/etc.
a c 108 à CPUs
August 28, 2009 5:43:13 PM

What you need is at least 8Gb of RAMs, and a Gen2 SSD for your OS/Apps.

The question then becomes what to do with your page file, internet cache, temporary files and 'scratch'. The most simple and least expensive would be a partition at the front of a fast hard drive. A Gen2 SSD would be an option here but the worry is maintenance and the possible long-term degradation in read/write speed.

If you really want to kick this problem in the ass you will add an Acard ans-9010 RAM drive in a 4xDIMM stripe RAID for those 'quick access' needs. If you are serious and this is your 'business' it's the only way to go.



edit: I fergit ....

Then stick with a Phenom or C2Q for your 'bang for buck'. When you are ready for your next new rig you can move the RAM drive over and still enjoy those 350Mb/read speeds.
!