Who Will Benefit From Hyper-Threading? 55
qoncept asks: "I've read a number of reviews of Intel's new Pentium 4 3.06ghz processor with multithreading and I've noticed that perhaps it is being reviewed as an option to the wrong people, and in fact Intel may even be marketing it to the wrong people. It seems that, as a business move, Hyper-Threading may not have been worth Intel's investing in it. Most reviews show that in single threaded benchmarks, there are literally no benefits to using HT. In multithreaded processes, the results are moderate at best. Yet, of course, the reviews seem to say the feel is better. There you go -- it won't increase your productivity by compiling your Java. But, price point permitting, it may be exactly what the casual home user wants -- save money by getting, say a 3.06ghz HT CPU instead of a 3.6ghz CPU without, yet have Internet Explorer, mIRC, AIM and Word run just as 'comfortably.' The benchmarks don't say much for HT, but I'm at least slightly excited about it. What about everyone else?"
Developers (Score:2, Interesting)
Re:Developers (Score:3, Informative)
Re:Developers (Score:1)
Re:Developers (Score:2)
The use of the term "thread" in the statements you quote refers more to a "thread of execution" than specifically to a thread in a multi-threaded app. Their statements were intended to (and do) apply to multiple threads in one multithreaded app, or several seperate multithreaded apps, or several seperate processes. The things they say about true parallelism are basically the same things you could say of SMP vs UP. They built a "half-smp" inside a single processor. Another way to think of it is that they are allowing threads of execution that would otherwise be completely blocked to make opportunistic use of parts of the instruction pipeline that the main active process isn't using.
In any case (up, smp, up-ht, smp-ht), one should code multi-threaded for apps that can benefit from parallelism, and don't bother for those that don't. And in any case, the os will do it's best in the given hardware context to satisfy your needs.
Re:Developers (Score:2, Interesting)
They built a "half-smp" inside a single processor.
It's more of smp squared (or at least doubled...
one should code multi-threaded for apps that can benefit from parallelism
One? Or the compiler? You use s/w available in source code, right?
Re:Developers (Score:2)
I can see the cache thing making a performance boost versus SMP. I don't get the register-file sharing. How can two threads, even if they are in the same process, share register files? Each thread has it's own set of registers, and they can't see each others', as far as I'm aware. But SMP still wins in many cases because you can actually run two cpu-bound processes/threads full-on with 2 cpus - with hyperthreading instead of getting 2x you're getting 1.5x, or 1.1x, or 1.7x maybe depending on the nature of the two processes/threads. One is using the pipeline slack the other one leaves. If the tight loops in these threads/processes are hand-optimized asm that tries to make full use of the pipelines with careful instruction ordering, it would leave virtually zero free for another thread to use. For that matter, if the two threads are doing virtually the same thing, they're likely to get into lock-step with each other since they use the pipelines in a similar fashion.
Yes I use software available in source code form, what does that have to do with my statement that one should code parallelizable apps in multi-threaded style as appropriate regardless of hardware and it will always be of benefit.
Re:Developers (Score:2)
I like to use this simplest example in lecture. Pentium(I) has two pipelines U-pipe and V-pipe. They're fed in instructions sequentially. Therefore, it'd be better if we could arrange the code during compilation time in such a way that an execution of an instruction does not depend on the result of the previous one.
I'm not sure what it takes to optimize compiled code to take advantage of HT, but I'm sure it can be done.
Re:Duh (Score:2)
Yah, but they may not start or perform tasks instantaneously.
Re:Duh (Score:2)
The fucking PoS(hit) still has those 2-3 sec pauses all the time. It didn't sped up from a PPro200 even a tiny bit.
Re:Duh (Score:1)
If you have to dip into virtual memory, that'll slow any app; it doesn't matter what your processor(s) is/are.
Open up taskman and watch your memory usage.
Re:Duh (Celeron too) (Score:1)
Perhaps the pauses are just Intel sponsored advertising so you dont forget there are faster cpu's coming out every so often.
Everyone misses (Score:5, Insightful)
When using 2 cpus (or HT), when one process takes all the juice there's still some left for everything else, and system will appear more responsive.
So, there You go, You can encode some divx, and still browse comfortably net, or listen to mp3's, or watch some divx. (Of course I don't know how effective HT is, but my 2xAthlon lets me do just that).
Re:Everyone misses (Score:2)
Re:Everyone misses (Score:4, Informative)
The day Microsoft OS's are not ridiculously I/O-bound, this will make a much bigger difference... for Microsoft users.
Of course, I guess there's a point to helping your filesystem remain intact when Granny or the baby flips the Big Red Switch without shutting down...
The moral: Use lots and lots and lots of RAM with Microsoft
Re:Everyone misses (Score:1)
Re:Everyone misses (Score:1, Interesting)
You will soon find that windows craps out on all kinds of stuff because it needs to touch the harddrive for silly things, and can't run off of read only media.
After getting around the basic ones by moving those files to ram disks, you will find that windows needs to touch certain files everytime a new process starts; that's when you realize your project is fucked and give up.
Re:Everyone misses (Score:1)
Re:Everyone misses (Score:2)
As with km790816's comment, this interests me. I find pre-emptively scheduled OS's to not schedule I/O according to process priority. Thus a lower priority process can tie up the hard drive and slow down a higher priority process, possibly causing it to fail in its performance (skip audio/video). This seems to be a problem on both Windows and *nix. Does anyone have an answer / solution to this?
Re:Everyone misses (Score:2)
Re:Everyone misses (Score:2)
The real benefit of SMP/SMT on a modern OS is that it lets you get stuff done faster. It has nothing to do with responsiveness; that's the scheduler's job. SMP/SMT only help with responsiveness if your scheduler is defective.
I have dual p3 1ghz already (Score:2)
and 99% of the time you wouldn't know the difference
Re:I have dual p3 1ghz already (Score:2, Funny)
Re:I have dual p3 1ghz already (Score:4, Informative)
And while we're comparing experience, I have a 2-way PPro-200 system, a 2-way P3-450 system, and a 1-way P4-1.6 system. Both of the MP machines are far more responsive for, well, every task that I throw at them: the only reason I don't have only MP boxes is the cost.
Re:I have dual p3 1ghz already (Score:2)
Because games do many things at once (sound, graphics, input, AI) if they are well written to use SMP, they would see a large benifit. But even in the situation I gave above, there should be a benefit.
Excelent troll (Score:1)
Re:I have dual p3 1ghz already (Score:2)
Also, dual CPU will not help the "feel" of your system. If it slows down, it is because your IDE bus is busy and Windows is trying to access files off of your HD. You can increase your clock cycles and the number of processors all you want, but the PCI bus is still only 33MHz on a 32bit bus.
Dual processor makes very little difference to PC users who don't have penis size issues.
In a server, totally different story. When most OLTP databases or webservers are running, they are generally servicing more than 10 users at once.
Re:I have dual p3 1ghz already (Score:1)
On the other hand, just last week I plowed my dual P3-900 box into the ground. Doing some diagnostic work on a large program I work on, the diagnostic utility bumped my virtual memory usage up to 1.5 GB and kept my CPUs burning 100% for over an hour.
I guess most people don't need the extra speed. But those who know how to use it should be thankful to all who buy more speed than necessary. How much more do you think a 2.4Ghz chip would cost if 99% of the people were satisfied with the 500Mhz one? Intel can spread development costs over many more people if more people buy the higher-end chip.
who will benefit? intel of course (Score:5, Insightful)
the fact that it doesn't do anything useful for most uses at the moment makes no difference.
Re:who will benefit? intel of course (Score:2)
Re:who will benefit? intel of course (Score:2)
Re:who will benefit? intel of course (Score:1)
Marketing. . . (Score:3, Interesting)
I'm not excited at all. What about resonance? Multithreading with simultaneous and common processes may cause it to run SLOWER!
Re:Marketing. . . (Score:2, Interesting)
Sure Intel is using Hyper-Threading as a buzz word, but that doesn't mean its worthless. Your beloved AMD copied SSE, and made their own 3DNow! and you'd have a hard time convincing me either of those will have the impact hyperthreading does. I saw someone compared the price of a p4 with hyperthreading to that of a dual athlon, but thats not the point. Its the technology. Don't you think AMD and everyone else who makes cpus for anything would be interested in taking advantage of it? If it was AMD (and I really dont think anyone else, except maybe Motorola) who had introduced HT, slashdotters would love it.
Of course I don't like Intel (and of course I hate Bill Gates more, and Steve Jobs has everyone beat), but that doesn't mean having them around isn't healthy for the entire industry.
By the way, has anyone else noticed nvidia trying the brute force tactic like 3dfx did right before they went out?
Another review (Score:2, Informative)
This is a great feature (Score:2, Interesting)
Re:This is a great feature (Score:2)
I think you're wrong about the average user seeing no performance increase. I think that that's exactly who WILL see the increase. Developers might not. It's the guy who sits there surfing the web, playing MP3s, and ripping a CD who will benifit from this. A dual 600 feels zippy doing things that a much faster computer has problems with, because it's got a second processor to help process UI clicks, etc.
Re:This is a great feature (Score:2)
This is a neat enhancement, but it's hardly "big." It just gets Intel somewhat closer to catching up to AMD on bang/buck.
Not Me (Score:4, Interesting)
3.06GHz PIV + motherboard + 512MB DDR RAM = $1025
2 Athlon MP 2000 + motherboard + 512MB DDR RAM = $695....for 80-90% of the performance of the HT PIV?
Sorry, but I can get the basics for an SMP system for $5 less than Intel wants for its new flagship CPU.
Now, if I could get 2 PIV 2.4 GHz CPUS with HT, that might be a different story...
Re:Not Me (Score:2)
What this boils down to is this: if given the choice between two CPUs of near equal speed and they cost nearly the same, what would you rather have? The one with or without HT?
Besides, let's face it, this is for marketing. It does give benefit, but this gives Intel the ablility to say "things are more responsive with Intel Pentium 4 than the other guys". Not only that, but now people can market P4 computers and say "Sure it costs more, but it's like getting a free second processor. That's worth like $700 right there." It wouldn't be the first less-than-half-truth we've heard from people in the PC industry before...
(*cough* netburst *cough*)
Re:Not Me (Score:2)
People today, it seems to me, have this odd notion that the first iteration of something should be the best iteration.
Sure, hyperthreading won't do much for you now. But what about the next generation? Or the third? Once this trickles down to the point that it winds up on chips automatically, great.
Re:Not Me (Score:1)
It's just an illusion (Score:1)
However, the server-end of the market will probably be Intel's target audience with the consumer market at the side.
High-grade servers will benefit from HT because it will allow for better load balancing and server efficency.
Intel has nothing to lose by releasing it, so why not?
Re:It's just an illusion (Score:1)
I'd be major-league pissed if I get twice the software bill for +10% performance improvement
How about...... everyone? (Score:2, Funny)
"Hey man, have you heard about this new invention? It's called a Compact Disc!"
"Forget about it man, they're worthless. My record player gets crap sound out of them."
How about MMX? What about 3D cards? We had to wait until software came out that really took advantage of them before we could see what it could really do. Some apps are developed for multithreading, but the hardware's got to be in wide release before it's worth it to developers to write for it.
I think in the end we'll all benifit, but just like every other technology it'll take some time.
Rack Density (Score:2, Informative)
Admittedly, not conclusive results and we've yet to run more controlled tests, but our initial take is that you might achieve higher rack density of processes and throughput using this architecture.
Sorry I don't have specific data, we're still studying HT.
Burning a CD while playing a game, huh??? ;-) (Score:1)
http://www.newsfactor.com/perl/story/19980.h
Intel cited a Harris Interactive (Nasdaq: HPOL) Latest News about Harris Interactive study it commissioned that showed the vast majority of computer users do more than one task at a time on their machines, with 50 percent saying they play video games while also burning CDs, for instance. Many of those same users say older machines purchased three or more years ago can have difficulty performing several tasks at once.
So, how EXACTLY hyperthreading will help an I/O bound problem (burning a CD) AND a GPU-bound problem (rendering OpenGL) simultaneously?
Just some stupid marketoid speaking... I like Apple's straightforward approach ("Supercomputer on your desk/lap") way better... At least Apple is not trying to convince people that a fine (for many applications which know how to use it!) feature in their CPU can really help mundane tasks like burning a CD.
Paul B.
Digital editing, of course! (Score:2)
It is simple (Score:1)
Fourteen years ago I was doing development on a 6MHz PC/AT. Today high end machines are 3GHz using HT for performance boosting. That pretty much supports Moore's law at 1.5x per year (1.5^14 ~= 500x). My dev box of yore was 512k of RAM, current box running 2G, for a 1.8x per year sustained over 14 years (1.8^14 ~= 4000x) Hard drives? 10M to 160G for a 14 year sustained rate of 2x per year.
In two years, a high end system will be somewhere in the 6.5GHz range with 8G of RAM and a full Terabyte of hard drive space if I want to splurge and spend $2,000 for the uberSystem. Now THAT excites me.
Of course Windows, Office, and the next generation of Studio will still run like pigs, but hey - that's life.
Hyperthreading as HZ (Score:2)
It's a big win if your OS's scheduler sucks, but supports multiprocessors.