Subject: PENTIUM PCs

From: Kim Bolton <[email-masked]>
Date: Wed, 24 Sep 1997 17:31:14 -0400 (EDT)

Dear CCLers,

I have received many responses to the following question that I posted
on the CCL.  My summary is given below, and the actual responses
(including those for a similar question from Peter Schreiner) are 
attached.

>We are planning to buy a Pentium PC that will be used for number
>crunching only (i.e., it will *not* be used as a terminal).  We plan  
>to incorporate the LINUX operating system.  Molecular dynamics code
>(VENUS96), semiemprical codes (e.g., MOPAC) and ab initio code
>(Gaussian) will be run on the machine.  Does anyone have experience 
>with these machines, so that they can comment on
>
>i) The model of Pentium PC that we need, or would prefer, to run the
>above packages, especially Gaussian (e.g., Pentium II, Pentium Pro).
>
>ii) Is there is a distinct advantage in having the dual CPU machine,
>or is it better to stick with a single precessor PC.
>
>iii) The amount of RAM and hard disk that is required.
>
>iv) Problems with fortran compilation on these PCs, and what fortran
>compiler is preferred.
>
>v) Any other machines that may be better suited for our applications.
>
>I will summarise the responses,
>
>Many thanks
>Kim
>

Summary:

There is not much difference in performances of the Pentium Pro and
Pentium II, and all such differences seem to depend on the type of
calculation (the Pentium II is basically a Pentium Pro with MMX, and
thus offers no improvement under the Linus operating system or when
doing floating point intensive calculations).  The recommendation is  
to buy the cheapest Pentium PC with a reasonable cache, RAM and 
hard disk.

To run MD and electronic structure theory programs efficiently,
one should have at least 64MB RAM, as large an L2 cache as possible,
and about 5 GB of SCSI hard disk.

The dual processor PCs appear to offer better performance per dollar
although they are slightly slower than running two separate single
processor PCs.

Most respondents use the f2c/gcc compiler, although there are a few
problems associated with it.

Many thanks to all of those who responded to my question,
Kim. ([email-masked])

--------------------------------------------------------------

Messages from CCL  

I tested calculations using Gaussian 94, Revision D.4
In Intel machine, I used Linux Kernel 2.0.30 as OS.

1. #N b3p86/gen 5d freq : ClO2 calculation using 79 basis
  Pentium Pro 200MHz : 256 mins
  Pentium II  233MHz : 192 mins
  CrayT3E (DEC Alpha EV5.6 450MHz, 900MFLOPS, not parallelized) : 39 mins

2. #N b3p86/gen 5d opt=z-matrix : Cl2O calculation using 131 basis
  Pentium     133MHz : 336 mins
  Pentium Pro 200MHz : 149 mins
  Pentium II  233MHz : 130 mins
  CrayT3E (DEC Alpha EV5.6 450MHz, 900MFLOPS, not parallelized) : 56 mins

-----------------------------------------------------------------------
Son, Sang-kil                   [email-masked]     \\____//
                                                               (. .) |
Quantum Chemistry Laboratory                                   | " | |
Dept. of Chemistry, KAIST, South Korea                       CC|___/CCC
                        http://cmsrisc.kaist.ac.kr/qclab/        U
-----------------------------------------------------------------------

I have a bit of experience with this.  I would definitely go Pentium
Pro instead of Pentium II, based upon benchmarks I've seen.

Dual processor motherboard is nice, and can save money on a per-cpu
basis.  On the other hand, if the processors share cache memory, and
your software makes heavy use of cache, I think that the processors
could slow each other down.

We ended up compiling fortran code by first running it through f2c
(conversion to c code!) and then running the c compiler.  That
actually worked well, though there were some annoying glitches that
needed to be dealt with.

I presume you've checked the benchmarks that people have published on
the web?  I've found that the performance of our linux dual pentium
pro machine depends strongly upon the type of code.  One application
ran extremely fast; another quite slowly. I don't fully understand why
they showed such different performance.  But if you are going to rely
on this machine, it would be best if you could run some tests in
advance.

good luck

mike
------------------------------------------------------------------------------
Michael K. Gilson, Ph.D., M.D.                         Phone:   (301) 738-6217
Center for Advanced Research in Biotechnology          Fax:     (301) 738-6255
National Institute of Standards and Technology
9600 Gudelsky Drive             http://indigo15.carb.nist.gov/carb/gilson.html
Rockville, MD  20850-3479       e-mail: [email-masked]
------------------------------------------------------------------------------

Dear CCLers,

The question

"Does anyone have experience with numerical applications (Ab initio
codes etc.) on Pentium Pro vs. Pentium II under Linux systems?"
triggered quite a number of useful responses. It looks like PCs are
finally replacing average type workstations. It is still not clear
whether or not the Pentium II series really is better that the Pentium
Pros - at least they are different in price.

Here are the responses:

-----------------------------------------------------------

You can find some timings concerning PC GAMESS benchmarks on Pentium Pro and
Pentium II systems under Windows NT on the URLs:

http://classic.chem.msu.su/gran/gamess/index.html
http://classic.chem.msu.su/gran/gamess/performance.html

May be these can somewhat help to estimate performance under Linux.

Regards,

    Alex. A. Granovsky
    Moscow State University

-----------------------------------------------------------
[email-masked]

%%%%%%%%%

I am really interested in any informations you will receive.
My personal experience, up to now, is only with the Pro 256kb cache.
I used it to run DFT programs, and the performance, with big systems
(30 atoms or more) are excellent. It is 85% of an IBM rs6000 Mod. 3CT
with 1MB of L2 cache memory. And it costs roughly 20%. Remarkable!

As for the PII, I have no experience. Anyhow, I "think" that the Pro
even if the clock is slower, should perform better. The L2 cache in
the Pro is fully integrated on the processor and thus run at the
same speed of the processor itself.  On the PII, instead, the
the L2 memory runs at 1/2 of the speed of the processor.

Finally, the Pro is somewhat cheaper than the PII 266 MHz.

Hope it helps,
Best regards

Luigi

Luigi Cavallo
Dept. of Chemistry
Univ. of Naples, ITALY
Email [email-masked]

%%%%%%%%%%

While I don't have any timings or benchmarks for Pentium II systems,
I suggest you have a look at http://www.specbench.org/ for SPECint95 and
SPECfp95 results.  From what I've seen the pentium II is much better in
floating point and better in integer than the pentium pro.

Also direct your web browser at
http://www.intel.com/procs/perf/PentiumII/spec95int.htm
and
http://www.intel.com/procs/perf/PentiumII/cpumark32.htm
and
http://www.intel.com/procs/perf/PentiumII/nortonsi32.htm

To the bottom of this email I've attached the output of cpu benchmarks I ran on
a dual PPRO 200 (the fact that it is dual means nothing; the SMP code for Linux
is bad right now and the benchmarks are not multithreading).

good luck,
Rich

BYTEmark (tm) Native Mode Benchmark ver. 2 (10/95)
NUMERIC SORT    :  Iterations/sec.:         70.24  Index:   1.80
STRING SORT     :  Iterations/sec.:          4.35  Index:   1.94
BITFIELD        :  Iterations/sec.:   16976692.52  Index:   2.91
FP EMULATION    :  Iterations/sec.:          3.90  Index:   1.87
FOURIER         :  Iterations/sec.:       1393.26  Index:   1.58
ASSIGNMENT      :  Iterations/sec.:          0.71  Index:   2.71
IDEA            :  Iterations/sec.:        138.29  Index:   2.12
HUFFMAN         :  Iterations/sec.:         63.19  Index:   1.75
NEURAL NET      :  Iterations/sec.:          0.71  Index:   1.13
LU DECOMPOSITION:  Iterations/sec.:         52.81  Index:   2.74
...done...
===========OVERALL=============
INTEGER INDEX:           2.119
FLOATING-POINT INDEX:    1.700
 (90 MHz Dell Pentium = 1.000)
===============================

%%%%%%%%%%%%%%

  I don't have any real quantitative answers for you, but thought I might
pass along my experience with running Gaussian 94 under Linux on a single
Pentium Pro 200MHz with 64MB RAM and a fast/wide SCSI hard drive.  The
couple of runs that I did to compare the speed with an Indigo2 (single
R8000 75MHz processor) seemed to give a factor of about 3-4 in cpu time.

That is, the Pentium Pro 200 was 3-4 times slower than the SGI.  Considering
the relative costs this is pretty good in my opinion.  I compiled Gaussian94
using f2c/gcc.  I sometimes wonder if Gaussian would run faster if compiled
with a good commercial fortran compiler (e.g. Absoft).  But even the
educational price ($524.25 US) is too pricey for me right now.

  My guess is that you will not see much of an improvement with the Pentium II
for these types of floating point intensive calculations.  I believe that
most of the advantage of the Pentium II comes from MMX capabilities which
you will find useless with Linux.  At least this is what I recall reading
in Linux Journal or Unix Review.  Floating point is probably only marginally
faster than a Pentium Pro.

      Hope this helps - John Bushnell      [email-masked]

%%%%%%%%%%%%%%

We are implementing a system called LoBoS, short for Lots of Boxes on
Shelves, which consists of 64 dual Pentium Pro machines.  We organize them
to do supercomputing with molecular dynamics calculations.  We tested the
Pentium Pro and the Pentium II prior to selecting the Pentium Pro.

1. The Pentium Pro gives equivalent performance.  Our benchmark which
   consists of extensive floating point (CHARMM) took 2 hours on a 200
   MHz Pentium Pro.  On a 266 MHz Pentium II the time was 2 hours times
   (200/266).

This is not surprising since a PentiumII is a Pentium Pro core with the
MMX instructions added on.  MMX, which is entirely integer operations,
doesn't do anything for floating point operations.  It might do something
for pointer references and integer math but compilers do not currently use
MMX for these operations.

The PentiumII has some new features.  One which improves performance is
better IO to the system bus.  However, this is essentially offset by the
fact that the L2 cache runs at half the CPU speed.  Essentially we saw a
wash between these two design changes.

Buy the Pentium Pro !  It gives you MUCH more for the money.

Eric Billings
LoBoS Project
NIH

%%%%%%%%%%%%

>Dear colleagues,
>
>We are planning to buy a Pentium PC that will be used for number
>crunching only (i.e., it will *not* be used as a terminal).  We plan
>to incorporate the LINUX operating system.  Molecular dynamics code
>(VENUS96), semiemprical codes (e.g., MOPAC) and ab initio code
>(Gaussian) will be run on the machine.  Does anyone have experience
>with these machines, so that they can comment on

I guess I have some stuff to comment on as my group recently looked into
the same thing you are asking.  Right now I have a million things going on
so I haven't been able to summarize my findings and post them to the CCL on
setting up a Dual Pentium Pro system to carry out Gaussian calcs.  This
seems to be real active area these days, but I am not sure the "answer" to
how well these systems work relative to other setups is in yet.  Myself and
others (Marc Nicklaus at the NIH) have found some interesting behavior with
these systems, which I am sure we'll both report on when we finish up more
tests/investigations.

Bottom line right now: going this Pentium/Linux route is a pretty cheap way
to  have a decent workstation.

>
>i) The model of Pentium PC that we need, or would prefer, to run the
>above packages, especially Gaussian (e.g., Pentium II, Pentium Pro).

I think any PC, 386 and above, can run linux.  I guess the newer Pentium
II's are the fastest ones out there, and the faster the better!  An
interesting finding I have noticed is that this Dual P6 I have is faster
than my model 580 rs6000 on small molecules, but slows considerably
relative to my rs6000 on larger molecules.  It seems these Pentiums have
"memory bandwidth" problems that "real" workstations are not so plagued
with.

>
>ii) Is there is a distinct advantage in having the dual CPU machine,
>or is it better to stick with a single precessor PC.

Good question, which I don't have the answer to.  I do know there is a
performance hit of maybe 10-20% for running two G94 jobs simultaneously on
my Dual P6, but I have this feeling it may still be more economical to go
this route rather than two single processor machines, but I haven't
investigated this at all.  Just a guess.

>
>iii) The amount of RAM and hard disk that is required.

More the better, but I would guess you could get by with 32 Mb of ram.  And
these days ram is pretty cheap so just a few dollars more you can be up to
128, like we did.

>
>iv) Problems with fortran compilation on these PCs, and what fortran
>compiler is preferred.

We compiled G94 with f2c and gcc.  I think that is a standard way to
compile fortran programs on a linux machine, and it more of less went
without any problems.

>
>v) Any other machines that may be better suited for our applications.

I'll bet others will give you info on this better than I can.

Joe

----------------------------------------------------------------------------
Joseph W. Bausch, Ph.D.
Assistant Professor of Chemistry
Department of Chemistry
Villanova University
Villanova, PA  19085-1699
Voice:  610-519-4872
FAX:    610-519-6347 (preferred) or 610-519-7167
Email:  [email-masked]
WWW:    http://rs6chem.vill.edu/faculty/bausch.htm
----------------------------------------------------------------------------
Kim:

I can make a few comments about running Gaussian under Linux on pentiums.
During my postdoc, we were running G94 on two different Pentium Pro 200
systems: a single processor system with 64 Mb RAM and a 4Gb hard disk and a
dual processor with 128 Mb RAM and a 9 Gb disk.

The performance of both of these machines under Linux (version 2.0.0 IIRC)
was comparable to a simlarly equipped workstation at a considerably reduced
price.  The second processor actually makes a single job run slightly
faster than the single processor machine due to some load sharing, although
you probably want to run two jobs simultaneously on the dual machine.

One Caveat:  analytical vibrational frequencies using any of the DFT
methods in G94 are unreasonably slow.  I never really received an answer
from Gaussian on this point.

All in all, I would recommend these systems.  They are a great compromise
of performance and price.

Good Luck
Bill

Dr. William M. Davis
NSERC Visiting Fellow
DREA, Dockyard Laboratory D-17
P.O. Box 1012
Dartmouth, NS 
CANADA B2Y 3Z7
Phone:  (902) 427-0550 EXT. 3431
Fax:    (902) 427-3435
[email-masked]

----------------------------------------------------------------------------

>Dear colleagues,
>
>We are planning to buy a Pentium PC that will be used for number
>crunching only (i.e., it will *not* be used as a terminal).  We plan
>to incorporate the LINUX operating system.  Molecular dynamics code
>(VENUS96), semiemprical codes (e.g., MOPAC) and ab initio code
>(Gaussian) will be run on the machine.  Does anyone have experience
>with these machines, so that they can comment on
>
>i) The model of Pentium PC that we need, or would prefer, to run the
>above packages, especially Gaussian (e.g., Pentium II, Pentium Pro).
>

I am currently running MOPAC7 and GAMESS on a 133MHz Pentium/128MB
RAM/5.5GB HD/RedHat 4.1 Linux distribution.  MOPAC7 in Linux runs ~285%
faster than MOPAC94 in Win95 with the same set of input data.

In general, I am not displeased with the results of my computational work
in Linux.  I am also using several molecular mechanics programs running in
(on ?) Linux.
 
>ii) Is there is a distinct advantage in having the dual CPU machine,
>or is it better to stick with a single precessor PC.
>

>iii) The amount of RAM and hard disk that is required.
>

I hve gotten results with 32MB of RAM that were satisfactory,  In fact I
just increased the RAM to 129MB a couple of weeks ago.  Can't really
comment on increase peformance with regard to speed at this point, but
increasing RAM certainly increases the maximum size of the molecule.  I
have had GAMESS write scratch files as large as ~150MB during execution.

>iv) Problems with fortran compilation on these PCs, and what fortran
>compiler is preferred.
>

Initially I was using gcc-2.7.2/f2c, but have recently switched over to the
GNU F77 compiler.  f2c is a script that translates the FORTRAN source code
to C and then does the compiling and linking.  It's the only FORTRAN
compiler, so I'm told, that INSISTS on complete compliance with the
FORTRAN77 standard - which can lead to a few minor problems.  I much prefer
the GNU F77 compiler, but it can be a bit querky to get running, that did
not, however prove to be a problem.

>v) Any other machines that may be better suited for our applications.
>

Can't address this question, I use what I have

>I will summarise the responses,
>
>Many thanksFrom: "Stephen P. Molnar" <[email-masked]>

>Kim

------------------------------------------------------------------------------

> Dear colleagues,
> 
> We are planning to buy a Pentium PC that will be used for number
> crunching only (i.e., it will *not* be used as a terminal).  We plan
> to incorporate the LINUX operating system.  Molecular dynamics code
> (VENUS96), semiemprical codes (e.g., MOPAC) and ab initio code
> (Gaussian) will be run on the machine.  Does anyone have experience
> with these machines, so that they can comment on
> 
> i) The model of Pentium PC that we need, or would prefer, to run the
> above packages, especially Gaussian (e.g., Pentium II, Pentium Pro).

> ii) Is there is a distinct advantage in having the dual CPU machine,
> or is it better to stick with a single precessor PC.

Linux SMP is not yet stable enough to use it on a production machine.
However, if you have linux fan in group and can allow rather small
uptimes (from days to few weeks) -- then it may be a good choice.
 
> iii) The amount of RAM and hard disk that is required.

As much as you can afford.  SCSI disk are generally better, though
more expensive.
 
> iv) Problems with fortran compilation on these PCs, and what fortran
> compiler is preferred.

The only stable free fortran 'compiler' on linux is f2c converter and
sripts built around it.  GNU's g77 presently is in beta stage and
there are various errors reported.  I'm not experienced with
commercial compilers.
 
> v) Any other machines that may be better suited for our applications.

Well, if you can afford Digital's Alpha (not clones) under Digital
Unix or Silicon R10K machines ...
 
> I will summarise the responses,
> 
> Many thanks
> Kim

SY,
Andrey V Khavryutchenko                 [email-masked]
Std. Disclaimer: My opinions only.
The whole idea of OOP: Share and Reuse.  Support the FREE software!

------------------------------------------------------------------------------
I use PCs for computational work at the moment, so my point of view might
be helpful for you.

> i) The model of Pentium PC that we need, or would prefer, to run the
> above packages, especially Gaussian (e.g., Pentium II, Pentium Pro).

Go for a PPro or Pentium II if you have the money. And try to get hold on
all Pentiums you can get. Sometime ago I got a used 2xPentium from an old 
grad student who has just graduated. Everybody want LARGE computers so
it's easy to get the used Pentiums for almost nothing ;-). The deal for
you is that you get more computing power for almost nothing.

One point to consider is harddisk. I have three machines with EIDE disks,
but I think that SCSI disks must be considered because often they are
faster. About 5 GB per machine is a minimum.

> ii) Is there is a distinct advantage in having the dual CPU machine,
> or is it better to stick with a single precessor PC.

I have two dual machines (PPros and Pentiums). The advantage is that you
only have to administrate one computer per two cpus and not two computers.
Running Linux, I haven't encountered any problems and my feeling is that
you're only loosing about 0.1 % per cpu. In other words, dual machines is
my choice. Machines containing four cpus are too expensive for me.

> iii) The amount of RAM and hard disk that is required.

I would go for 64 megs per cpu. 

> iv) Problems with fortran compilation on these PCs, and what fortran
> compiler is preferred.

I use either f2c or g77. Sometimes g77 gives me problems, but then I shift
to f2c which can compile everything (as long as it is short - bad
sentence, sorry). There is a gcc for Pentium and PPro but it does not seem
to be stable. Both f2c and g77 can use it (g77 uses the backend of gcc
i.e. the code generator). Yesterday I found BLAS for Pentium (written in
assembler!).

Best regards
  Kenneth Geisshirt

+-------------------------------------------------------------+
| Kenneth Geisshirt                             Ph.D.-student |
| Dept. of Life Sciences and Chemistry    Roskilde University |
+-------------------------------------------------------------+
|                      Viva la penguin                        |
+-------------------------------------------------------------+

> i) The model of Pentium PC that we need, or would prefer, to run the
> above packages, especially Gaussian (e.g., Pentium II, Pentium Pro).

There's little difference between the PentiumPro and the Pentium II for
number crunching, so pick what's cheaper for you.

> ii) Is there is a distinct advantage in having the dual CPU machine,
> or is it better to stick with a single precessor PC.

Well, you get twice the processing power, although shared memory
access means that you will not quite get the speed of two separate
machines.

> iii) The amount of RAM and hard disk that is required.

The more the better, of course. I wouldn't start below 64 MB of
main memory. The rest depends on the calculations you plan to run.
Hard disk size depends entirely on your data storage needs.
Ths system itself will fit happily within 500 MB, even with
plenty of "luxury" programs installed. Be generous with swap space,
since you might want to extend RAM later.

> iv) Problems with fortran compilation on these PCs, and what fortran
> compiler is preferred.

My only experience is with g77, which compiles all code I have tested
well enough. Its error messages can be confusing, so it's perhaps not
the best choice for development. In terms of code quality it should
theoretically be worse than optimum, but I have no numbers at hand.

> v) Any other machines that may be better suited for our applications.

In terms of price/performance ratio PCs are hard to beat, but of
course you can get higher performance from other machines.
-- 
-------------------------------------------------------------------------------
Konrad Hinsen                          | E-Mail: [email-masked]
Laboratoire de Dynamique Moleculaire   | Tel.: +33-4.76.88.99.28
Institut de Biologie Structurale       | Fax:  +33-4.76.88.54.94
41, av. des Martyrs                    | Deutsch/Esperanto/English/
38027 Grenoble Cedex 1, France         | Nederlands/Francais
-------------------------------------------------------------------------------