Subject: Summary: g92 performance

From: Marek Strajbl <[email-masked]>
Date: Fri, 30 Jun 95 16:55:03 -0700

Thanks to everyone who responded to my mail "g92 performance". Below you will
find summarized some responses.

Marek <[email-masked]>
===============================================================

Original posting:

>Dear netters,
>I have g92 on Indigo2 (32MB RAM). I use external HD scratch (1.6 GB). When I
>run any computations (typically optimalization HF/6-31g*, 180 basis functions)
>CPU usage for my job is only about 20-30%. CPU idles due to waiting for I/O
>operations. Monitoring the input/output activity to block devices reveals
>reading large bulks of data. Has anybody hint how to increase the performance
>of computations.

Responses:

1)----------------------------------------
We've had a similar problem with an older DEC Aplha 300.  The processor is so
fast that it leaves the I/O way far behind.  One solution is to use the
absolutely fastest disk possible.  You could upgrade your SCSI controller to
Fast-Wide SCSI 2, and get a FW SCSI2 disk to go along with it.  I don't know if
FW SCSI 2 is an option on the Indigo2, but I imagine there might be a
third-party source.

Also, you should make sure that you are running SCF=Direct, if you are not
already.  You will still have disk I/O to the .rwf, but all integrals will be
handled by the cpu, without any disk I/O.  This can have a dramatic effect on
performance for systems of your size.

Good luck.  Hope this helps.

Eric Patterson
University of Wisconsin - Madison
Department of Chemistry

2)--------------------------------------------
A similar problem on our DEC Alpha was solved by striping the scratch disk
space across three physical devices, allowing more efficient I/O while also
increasing the total scratch disk space to 6 GB.

Bob Stolow

e-mail:  [email-masked]

3)-----------------------------------------------
  You should make SCF=DIRECT the default for your machine.  You can add
this on individual jobs or you can create g92/Default.Route and put a
line,

-#- SCF=DIRECT

in there so it becomes the site default.  The conventional SCF algorithm
is faster only for a range from about 50 basis functions to around 100 so
for G94 we have made SCF=DIRECT the default.  Not only will the I/O
go down but the CPU will as well for 180 basis functions.

Doug Fox
[email-masked]

4)---------------------------------------------
Gaussian demands a lot of resources.  I outlined some of the issues in a
letter to the CCL about 2 months ago and appended a copy below.  In Your
specific case you could:

- Run only 1 job at a time!

- Check "%MEM" and ADD MORE RAM!

  Unfortunately you don't say whether your I/O is due to swapping or
  scratch file read/writes.  If it's swapping, check using 'gr_osview -a',
  check your jobs memory allocations. Set "%MEM" based on:

     '%MEM="Total RAM - OS RAM - other job's needs"'

  In your case it should be "%MEM=2", that's 2 MW or 16 MB because Irix
  demands 16 MB itself.  That means you don't have enough resources to do
  anything else!  Properly setting "%MEM" will prevent or minimizes
  swapping.  If you want to run something else while Gaussian is running
  (BUT NOT ANOTHER GAUSSIAN JOB), then you'll definitely need more RAM.
  More RAM, and adjusting "%MEM" accordingly, would also help speed up
  Gaussian jobs in your case.

- If you can, create a logical volume (stripe file system) and use it for
  your scratch space.  On a single SCSI channel this will boost I/O about
  10-30%

- Even better, in your case, stripe across an extra internal disk and
  your external drives.  But DO NOT USE THE SYSTEM DISK!  Since the Indigo2
  has 2 separate fast-wide single ended SCSI2 channels this will double
  your I/O rate.  But your disks/partitions must be the same size!

- If you want to keep storage extermnal, some companies sell a SCSI bus
  extender which will allow you to connect external SCSI devices to the
  Indigo2 internal SCSI buss.  Again, stripe across disks on multiple
  channels.  The advantage over the preceding suggestion is that you can now
  use all eight SCSI addresses.

Good luck! Karl
 _______________________________________________________________________
/                                                                       \
| Comments are those of the author and not Unilever Research U. S.      |
|                                                                       |
| Karl F. Moschner, Ph. D.                                              |
|                                                                       |
| Unilever Research U. S.      e-mail: [email-masked] |
| 45 River Road                Phone:  (201) 943-7100 x2629             |
| Edgewater, NJ 07020          FAX:    (201) 943-5653                   |
\_______________________________________________________________________/

5)-----------------------------------------------------------------------------
I don't know the inner workings of g92, but it sounds to me that:

you either have too little memory in your Indigo, so you are constantly
swapping data to and from your disk. This can be easily verified by issuing
the command 'osview', which will print a table (updated every 5 sec's or so)
that shows the amount of free memory as e.g. "Free        4.7M" under the
header "Real Memory". If the amount of free memory is small (say < 2M),
this is probably a bottleneck,

or maybe g92 just needs a lot of disk access anyway, in which case the speed
of the connection to the hard disk may be the problem. I don't know if your
HD is an external HD connected to your Indigo via a SCSI connection, or if
it is on another machine and mounted over a network by NFS. The latter would be
real slow, so mounting a disk directly on your staion would be an improvement
in that case. In the other case, I guess you simply need a faster disk...

Hope this helps,

Paul.