Subject: Xeon vs. PentiumIV

From: Ulrike Salzner <salzner_at_fen.bilkent.edu.tr>
Date: Fri, 04 Feb 2005 08:59:22 +0200

Hello,
thanks to all the people who responded. The answers are very helpful to 
me. I also got inquiries to post a summary. It is found below.

Here my thoughts.
1) Does your software support dual processing.  This used to be called
vector processing.
2) If funds are short, put your money into as much memory as possible.
Ab initio programs are memory hogs.  A single very fast processor and
lots of RAM is probably better than two processors with minimal RAM.

Wayne E. Steinmetz

Hello,

we recently built a 12 processor cluster mainly running jaguar (due to its speed), but also gaussian, and had to decide between similar alternatives (we are now running dual athlon cpu's). In fact (regardingless on what x86 processors we are looking), it seems to be a decision on the question, if you want to run dual cpu nodes or a single cpu nodes and not if a xeon has much more power than a p4 cpu. (we had a dual xeon cluster, single p4, quad alpha (Tru64) and so on for some small benchmark tests). I think, after a look at the benchmars results, that at the end you will find gaussian running fine on xeons aswell as on p4, there will be small differences due to cache size, core-speed and so on but this isn't that remarkable point. But, what really counts is the parallelization efficiency between shared memory architecture (SMP, i.e. dual cpu) and parallelization using any sort of network interface. SMP is remarkably faster, giving you more performance even running two slower cpu's on one board in compasision to two faster single cpus on two single boards (and a xeon will anyway be faster than a p4 at the same speed). So if you plan to run jobs which can be parallelized (and this normally is the reason of such a cluster) I would always prefer using as less nodes as possible and as much cpu's as possible in one node. Normal geometry optimizations are parallelized nicely, so SMP is worth its money. I'm not sure about all features of gaussian 03, but commonly 2nd derivatives are harder to parallelize, so if you focus in your work on a lot of 2nd derivatives, i.e IR frequencies etc., you will be probably be more happy with a lot of machines each computing just one job (in case you do this on dual-cpu machines (2 jobs on each machine) you will get less performance because of memory-throughput, disk-acess and other bottle necks). But you should also take into account, that usually not all computations are parallelized through network-interface, due to large communication data. So there probably will be several things that can only be parralelized on an SMP system.

In short: If you do a lot of standard calculations (geometry optimizations, which of course often is the time-comsuming part even if you're interested in any details later on), you're happy with dual-cpu nodes. If you mainly have any special interest take a look at the handbook in how far this feature can be parallelized at all (if not, you'll be glader with single cpu machines) or only with SMP architecture (giving you the maximum of 2 cpu's anyway).

Regards

Eike Huebner

If infrastructure (cooling, electricity, maintenance) isn't an issue and you have Linda for parallel calculations, then I would
suggest the single processor P IV's.  With a single CPU configuration, you'll get more bandwidth to memory and disk for each
calculation.  

Also, you can get some significant speedup's by compiling Gaussian using the Intel compiler and math libraries which I believe are
free for educational institutions.

I would only choose the Xeon's if you have limited electrical amps.  Also, you'll have half as many machines to administrate and/or
fix.

Are you sure that the prices that you quoted have the same RAM per processor?

Joseph

I would suggest that the only way to know would be to test several
systems.  The problem here is to avoid comparing apples with oranges.
So perhaps you have a "typical job".  Why not ask people in the CCL to
run the job and then compare the run times.
  I like the dual Xeon.  Once Gaussian is compiled and running, it is
trivial to make the workstation understand NPROCS=2.  So now I have
about 1.8 times the speed of a single processor.  The next trick is to
load up the machine with memory.  This saves all the calls to temp
storage on the harddrive.
  Another thing to consider is that 64 bit processors are available.
This should be a big help in solving the 16 gB storage problem of a 32
bit processor.  Unfortunately there hasn't been much discussion here
about these new machine running Gaussian.

Hallo,

bei diesem Gleichstand wuerde ich das Dualgeraet vorziehen, denn dann kann
man auch Paralleljobs auf zwei Prozessoren (Gaussian, Amber etc) ohne
aufwendige Netzinfrastruktur rechnen, was sich bei groesseren Rechnungen
wirklich bezahlt macht.

Schoene Gruesse,

Anselm Horn

Hallo Ulrike,

Bei der Preislage wuerde ich die Einzelprozessormaschinen bevorzugen.
Hier eine Liste von Argumenten fuer und gegen beide Loesungen:

Vorteile der Dual-Prozessor-Loesung:
- Gaussian kann parallel laufen (ohne Linda), ein einzelner Job ist also
frueher fertig.
- Falls die sonstigen Resourcen (Speicher, Disk) pro Prozessor gleich
sind, kann ein Prozessor manchmal mehr als die Haelfte nutzen, was die
maximale Groesse einer Rechnung erhoeht.

Nachteil:
- Rechnungen mit G03 und aehnlichen Programmen sind sehr
speicherintensiv, und der Datendurchsatz zum Speicher ist oft der
limitierende Faktor. Eine Rechnung laeuft bis zu 30% langsamer, wenn auf
dem zweiten Prozessor etwas aehnliches laeuft. Dies ist noch schlimmer
fuer Festplattenzugriff. Wenn zwei I/O-intensive Prozesse gleichzeitig
laufen, sollten zwei Festplatten vorhanden sein (falls IDE, nicht am
selben Kabel).

Nachdem Deine PIVs ohnehin schon schneller sind als die Xeons, ist der
Unterschied in Performance wahrscheinlich das ausschlaggebende Argument.

Viele Gruesse,

  Herbert Fruechtl

In tests I ran this summer on G03 using 3.0 GHz Xeons/PIV's, I typically 
got a speedup of about ~1.7 when going from 1 to 2 processors on the same 
board, versus a speedup of ~1.95 on going from 1 to 2 processors when the 
2 processors were on different machines.  Other quantum codes using other 
parallel paradigms showed different numerical speedups, but the 
qualitative results were the same.

So in your case, the GHz/$ numbers are:
Two Xeons: 2 processors*2.8GHz*1.7speedup/$1960=.0047
Two PIV's: 2processors*3.2GHz*1.95speedup/($875*2)=.0071 <==Much better 
deal

Notes:
1) The tests were done with at least a 100Mb/s ethernet connection
2) The tests are not reflective of results for Opteron machines, where the 
speedup is basically 2.0 with both processors on a single board due to the 
better memory bus architecture (my own unprofessional opinion as to "why", 
but I think it is correct).
3) Test results seemed to hold qualitatively for 4 processor jobs, but I 
didn't test for any higher number of processors.
4) Buying more machines means more power, more space, more heat, more 
hardware failures, etc. that isn't factored into my simple cost/GHz number 
above.
5) Make sure you turn hyperthreading off.

Dave

Hi Ulrike,

Have you looked at spending money on faster BLAS and LAPACK code to go
with your G03 installation?  Faster numerical libraries can increase
CPU utilization, resulting in faster computation and quicker
turn-around for your compute jobs.  

If you are interested in trying OptimaNumerics Libraries which
incorporates a fast implementation of LAPACK, please do let me know.
I am attaching to this e-mail a copy of the slides with more details
on OptimaNumerics Libraries, the levels of performanc that we have
delivered and the values that we have delivered.  

Please do not hesitate to let me know if you have any questions.  I
can also be reached on the telephone at +44 798 941 7838.  

I look forward to hearing from you soon.

Thank you. 

Best wishes,
Kenneth Tan