Hyperthreading vs. Dual proc

M

Martin Euredjian

Guest
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"
 
On Mon, 22 Dec 2003 10:26:20 GMT, "Martin Euredjian"
<0_0_0_0_@pacbell.net> wrote:

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.
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.
 
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.
 
On Mon, 22 Dec 2003 21:48:05 +1100, Allan Herriman wrote:

On Mon, 22 Dec 2003 10:26:20 GMT, "Martin Euredjian"
0_0_0_0_@pacbell.net> wrote:

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.

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.
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).
 
In article <gFzFb.1536$zK7.50@newssvr25.news.prodigy.com>,
Martin Euredjian <0_0_0_0_@pacbell.net> wrote:
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?
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
 
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_@pacbell.net
where
"0_0_0_0_" = "martineu"



"Nicholas C. Weaver" <nweaver@ribbit.CS.Berkeley.EDU> wrote in message
news:bs7t7a$2n2s$1@agate.berkeley.edu...
In article <gFzFb.1536$zK7.50@newssvr25.news.prodigy.com>,
Martin Euredjian <0_0_0_0_@pacbell.net> wrote:
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?

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
 
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?

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.
 
"Martin Euredjian" <0_0_0_0_@pacbell.net> wrote in message
news:H1ZFb.1797$oA5.541@newssvr25.news.prodigy.com...
Apparently there's something called "Pentium4 Extreme"?
Are marketing guys making it confusing on purpose?

--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Martin Euredjian
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
 
Allan Herriman <allan.herriman.hates.spam@ctam.com.au.invalid> writes:

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

Note that hyperthreading doesn't work with win2k; you need XP (or SMP
Linux).
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
 
"Martin Thompson" <martin.j.thompson@trw.com> wrote in message
news:u65fqln2u.fsf@trw.com...
Allan Herriman <allan.herriman.hates.spam@ctam.com.au.invalid> writes:

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.


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

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


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.
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.
 
In article <u65fqln2u.fsf@trw.com>,
Martin Thompson <martin.j.thompson@trw.com> wrote:
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.
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
 
On 05 Jan 2004 10:14:01 +0000, Martin Thompson
<martin.j.thompson@trw.com> wrote:

Allan Herriman <allan.herriman.hates.spam@ctam.com.au.invalid> writes:

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


I've found that enabling HT makes my machine useful for writing
documentation, reading email and other non-demanding tasks whilst PAR
is running.
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.
 
Allan Herriman <allan.herriman.hates.spam@ctam.com.au.invalid> writes:

On 05 Jan 2004 10:14:01 +0000, Martin Thompson
martin.j.thompson@trw.com> wrote:

Allan Herriman <allan.herriman.hates.spam@ctam.com.au.invalid> writes:

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


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

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.
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
 

Welcome to EDABoard.com

Sponsor

Back
Top