On October 4, 2005 11:20 am, Aaron J. Seigo wrote: > On Tuesday 04 October 2005 09:24, Roy Souther wrote: > > Anyone running Intel Xeon's with Hyper-Threading? Does each CPU show up > > as a dual core? > > people seem a bit confused in this thread, probably thanks to the marketing > wonks in the processor industry =) > > dual core and hyper threading are completely different animals. both will > result in `cat /proc/cpuinfo` showing two entries for each "processor" but > the performance results are very different. > > in hyperthreading, you essentially are able to run another thread or > process on the same core utilizing unused pipelines on the chip. since > modern processors have several parallel execution pipelines and > applications can rarely fill them all at the same time, the idea is to try > and utilize the unused pipelines whenever possible. this means you squeeze > a bit more performance out of the single core in certain scenarios. IIRC > you can expect ~10% improvement in best case scenarios. > > dual core, on the other hand, is true multi-processing: you have two > distinct cores with their own sets of pipelines, registers, etc. > essentially you have dual processors on a single die. this allows one to > squeeze more processors into less space and also should in theory allow for > better process migration and memory affinity due to cores being on the same > die and therefore physically closer.
Its the ridiculously long pipelines that intel has designed into the P4 and Xeon lines that had them add hyperthreading to their processors. Processors use branch prediction to best guess what the execution path is going to be so that they don't have to flush the pipeline and fill it with new instructions. When they have to refill the pipeline with new instructions its very very costly in terms of processor cycles. The longer the pipeline the higher the probability of having to flush the pipeline due to the branch prediction failing. Before the pipeline is filled you essentially have an idle processor - no new instructions are being completed before the pipeline is filled. Intel faced this because they wanted to crank up the speed of their processors mostly for marketing reasons. When you crank up the speed each stage in the pipeline can do less work per cycle, so you have to lengthen the pipeline. Now they find themselves in the circle of having to crank up the clock to get the same amount of work done and having to lengthen the pipeline to get the instruction through which leads to branch prediction failures. So to prevent having an idle processor they take a previous task and move it into the pipeline. That's where they get the approximately 10% increase from. THIS IS A REALLY POOR SUBSTITUTE FOR A GOOD DESIGN AND NO SUBSTITUTE FOR DUAL CORE!!! The results are that Intel processors are HOT and they don't produce good performance with that heat. I just bought an AMD 64 3000+ processor. It is a 2.0 GHz part. It performs at about the same rate as a 3GHz P4 with about 1/2 the power dissipation. I bought a motherboard that has been tested with the X2 processors, so my upgrade path will be to buy a X2 processor next year when the prices come down. The reports are that the X2 dissipates about 10% more head than the single core equivalents. _______________________________________________ clug-talk mailing list [email protected] http://clug.ca/mailman/listinfo/clug-talk_clug.ca Mailing List Guidelines (http://clug.ca/ml_guidelines.php) **Please remove these lines when replying

