Hyperthreading vs. Dual proc

I just got done reading a through a couple of recent threads on the subject of "the best machine" to build for Xilinx tools. Last week I had a conversation the head a a design group who said that "getting hyperthreading systems for my engineers made a huge difference in performance".

I'm looking to replace a 1.8GHz P4 with the latest and greatest and I find myself confused between hyperthreading and dual processor boxes as two distinct options at (maybe) different ends of the scale. Also, Xeon vs. P4?

Sorry to stirr-up a slightly different version of a recent thread.

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Martin Euredjian

To send private email:
0_0_0_0_@pacbell.net
where
"0_0_0_0_"  =  "martineu"
Reply to
Martin Euredjian
Loading thread data ...

We have a dual processor box here with hyperthreading (i.e. 2 processors, each capable of running 2 threads at the same time) that we use for running xilinx software.

I don't notice any great difference in speed when hyperthreading is switched on or off. I have it switched *off* at the moment, because that is supposed to be faster for the single threaded apps we are running (at most two apps at a time).

The benefit of hyperthreading would be much more significant if there was only a single processor, or if there were lots of threads running.

Note that hyperthreading doesn't work with win2k; you need XP (or SMP Linux).

Regards, Allan.

Reply to
Allan Herriman

Hyperthreading is a take-off on the parallel processing direction utilizing the numerous execution units on the die. I believe it was cost-effective as well. The advantages are savings in real-estate on the board over a multiple chip architecture. Utilization by applications at present are scarce. I hoping Intel develops this further as on-chip parallel processing would be (what I believe) the best way to over-come speed and power concerns.

Reply to
tbx135

Dual processors are very useful, hyperthreading in it's current incarnation on the P4 isn't. I have a dual Xeon system, I did a lot of benchmarking when I got it and found that hyperthreading improved the throughput slightly (about 10%) while hurting single thread performance by about 25%. It's not clear why hyperthreading works so badly on the P4, it could be a hardware issue, when hyperthreading is on the number of registers available to a single thread is halved as is the cache size. It's also prossible that the 2.4.x scheduler doesn't do a good job on hyperthreaded systems. It's possible that hyperthreading will work better on 2.6 kernels, I haven't tried 2.6 yet so I don't know.

In the long run dual Opterons should do better than dual Xeons because each Opteron has it's own memory system so the total available memory bandwidth of a dual Opteron system is twice that of a dual Xeon. However memory access in an Opteron system is non-uniform (NUMA), specifically access to RAM on the other processor is much slower than access to local RAM. The 2.6 kernel is supposed to do a good job with NUMA systems, chances are the 2.4 kernel is sub-optimal in this area so it's possible that a Dual Opteron system won't live up to it's potential with a current distribution. I have minimal experience with Opterons so I'm not really qualified to speak about their current performance except to say that even with the 2.4 kernel it's competitive with the the Xeon (the dual Opteron system that I tried was roughly equal to a dual 3GHz Xeon when doing a big make -j 2).

Reply to
General Schvantzkoph

SMT (Hyperthreading) and SMP (Symmetric multiprocessing) are orthoginal and complementary.

Get either just SMT (single processor) or SMP+SMT (Dual processor using P4-HT or Xeons).

Xeons have much better cache, but are otherwise effectively identical in function. Some of the Xeon chipsets are better (eg, better ECC support etc).

GET ECC MEMORY/ECC SUPPORTING MOTHERBOARD.

--
Nicholas C. Weaver                                 nweaver@cs.berkeley.edu
Reply to
Nicholas C. Weaver

Apparently there's something called "Pentium4 Extreme"? Are marketing guys making it confusing on purpose?

-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Martin Euredjian

To send private email:

0_0_0_0 snipped-for-privacy@pacbell.net where "0_0_0_0_" = "martineu"

subject

hyperthreading

find

P4?

Reply to
Martin Euredjian

P4?

I don't believe Xilinx is utilizing this feature (Hyperthreading-HT) availible in the later P4 chips. It is not an intrinsic feature that software would utilize (ie such as a faster processor speed). SW would have to be designed to take advantage of this. Currently XP Professional utilizes the HT for some operating system functions (ie print) but can not specifically in the application.

There are issues with cache utilization in hyperthreading where performance could actually be degraded as well as potential bottlenecking the FSB with concurrent processes - scheduling would again burden the application.

I would personally like to see HT utilized for MTI simulation.

Reply to
tbx135

Yes, they took a xeon, and put it in a p4 package to try and counter the athlon 64. Mainly to make sure they stay ahead in the bench tables on the various games web sites.

Can only be run in single proccessor system.

Alex Gibson

Reply to
Alex Gibson

I've found that enabling HT makes my machine useful for writing documentation, reading email and other non-demanding tasks whilst PAR is running.

Not quite - Win2K treats the "extra" processor as a whole extra (real) processor for scheduling purposes. Apparantly the XP scheduler understands the difference, and schedules things differently - I don't know what the differences are though.

Cheers, Martin

--
martin.j.thompson@trw.com
TRW Conekt, Solihull, UK
http://www.trw.com/conekt
Reply to
Martin Thompson

I think (but is not sure) that if you have a Multiprocessing system, then there could be a problem using HT. I believe that Win2k and maybe WinXP restricts you to use 2 processors. If you want to use 2 physical processors with HT enabled, then this should count as 4 processors, and you will maybe need the server edition of Win2k/XP.

I see that the major benefit is improved response time when windows (mis) behaves in the background... Got my Multiprocessor server board mainly to get more PCI slots.

--
Best Regards
Ulf at atmel dot com
These comments are intended to be my own opinion and they
may, or may not be shared by my employer, Atmel Sweden.
Reply to
Ulf Samuelsson

The big difference is in the cache behavior.

In an SMP (Symmetric Multiprocessing) two different processors working on the same task will cause coherancy cache misses, as each takes write access from the other for the common working set.

In an SMT, two different processes working on different memory will case incoherancy misses, as each process is fighting for its share of a common cache.

--
Nicholas C. Weaver                                 nweaver@cs.berkeley.edu
Reply to
Nicholas C. Weaver

It sounds like you have a single processor machine. The differences are much less obvious on a multi-processor machine, and certain things (e.g. PAR) may be slower with hyperthreading enabled.

Regards, Allan.

Reply to
Allan Herriman

This is true - more "real" hardware is always better, but the single processor with hyperthreading amkes for a reasonably cheap compromise. I very rarely do anything where I could fully load a dual processor box, hence justifying the cost would be tricky :-)

Cheers, Martin

--
martin.j.thompson@trw.com
TRW Conekt, Solihull, UK
http://www.trw.com/conekt
Reply to
Martin Thompson

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.