Davidson College
Computational Chemistry Cluster
Davidson College students and faculty desiring to use the Computational Chemistry Cluster should contact David Blauch.
Hardware
- One - Dell Precision 420 Workstation (Dual 1.00-GHz Pentium-III processors, 512 MB RAM) [pople]
- Eight - Gateway 6400 Servers (Dual 1.00-GHz Pentium-III processors, 384 MB RAM)
[worker01, worker02, ... worker08]
- 3COM OfficeConnect Ethernet Switch (10/100 Mbps)
Worker machines are on a local network accessible only via the master (pople). Network access to pople is via the ssh only.
Operating System
Computational Software
- Gaussian 98 (Rev. A.7) configured for Parallel Execution using Linda
- GaussView (Rev. 2.08)
Gaussian 98
Details for a calculation must be contained in a command_file. This file may be constructed using a text editor (e.g., emacs or gedit) or using GaussView 2.0.
To run the calculations described in the command_file on the Beowulf cluster:
- Make sure the necessary number of nodes are available for your use.
- Make sure the command_file contains the switch %nprocl=# where # is the number of processors, including the master, on which the calculation is to run.
- Start the calculation by issuing the command g98l command_file to the batch queue on Woodward as described below.
In order for Parallel Gaussian to run correctly, your home directory must contain a correctly configured .rhosts file.
.rhosts
Each line in this file must contain the name of a machine and your username (e.g., worker01 dablauch). There must be a line for each machine in the Beowulf cluster. This file is necessary to allow Gaussian 98 to log on to each node under your account without supplying a password. Use an editor such as emacs or gedit to create this file.
.tsnet.config
This file provides local configuration information for Parallel Gaussian. You should not create this file unless you wish to alter the execution parameters for parallel Gaussian. The most common reason for doing this is to change the node list for a parallel computation. It is also possible to provide a customized configuration through the GAUSS_LFLAGS environment variable. See David Blauch for more information on using this flag or on configuring a local .tsnet.config file.
Parallel vs Single-Processor Execution
Gaussian 98 comprises a large number of separate programs, most of which run only on the local machine. Short calculations (less than an hour or so of cpu time) and calculations that do not employ the parallel programs should not be run on the the Computation Chemistry Cluster except under unusual circumstances. Davidson College has a site licence for the Windows version of Gaussian 98, and small tasks may conveniently be executed on a Windows workstation.
The calculations that most benefit from parallel execution are energy calculations and frequency calculations, especially for large molecules.
Temporary Files
Gaussian 98 creates a series of temporary files in the GAUSS_SCRDIR directory (currently set to /scratch). The names of these files begin with Gau-. In the course of normal execution, Gaussian 98 deletes these files when the calculation is completed. If Gaussian 98 crashes or the job is killed, these files are not automatically deleted. These files can consume hundreds or thousands of megabytes of disk space for a single run, consequently unnecessary files should always be deleted.
We have experienced problems with scratch files that are larger than 2 GB. It is sometimes necessary to split very large scratch files into separate files using the %rwf switch in the Gaussian job file.
Memory Utilization
The current default settings allocate 128 MB of memory for a computation. Different amounts may be specified via the %mem switch. The performance of the system degrades substantially when extensive swapping occurs, especially if multiple tasks are running on a node. It is also possible, in an extreme case, to exhaust the available swap space. There are cases, however, where the allocation of additional memory is highly advantageous. Consult David Blauch for more information memory utilization.
Accessing Linux Files from Windows
The Linux systems have been configured to support the SMB protocol used by Windows to share directories over the network. In order to access files on the computational system, you must have an account on pople. You can see the available files by browsing pople under the Chemistry domain in the Network Neighborhood.
Shared Directories
Your home directory on the Computational Chemistry Cluster is shared under your username. You will not see the home directories of other users. The path for accessing the home directory is \\pople\username where username is your account name.
FTP
Windows ships with a simple FTP client program, and many users have more advanced FTP programs with a graphical interface. An FTP server runs on pople to permit users to upload or download files from any remote machine (including machines off campus).
Using Windows Editors
It is possible to edit text files on the computational cluster using editors on Windows systems. The only complication in this operation is that the Windows file systems use carriage-return/line-feed (CR/LF) to terminate lines rather than just line-feed as used by Linux. Thus after editing a text file under Windows, all carriage-return (^M) characters must be removed from the file. The script dosfilter performs this operation. To filter the text file myfile enter the command dosfilter myfile under Linux.
Accessing Windows Files from the Computation Chemistry Cluster
NQS Batch Queue
The performance of the Computational Chemistry Cluster is optimized by running no more than one computational task on a processor at a time. All significant computational jobs should be run in background through the batch queue. Only very short tasks should be run interactively.
Please do not leave the terminal while logged on. Do not abandon a logged in session because a task is running interactively. (This is a very bad habit typical of Windows users.) If the simulation is sufficiently time-consuming that you do not wish to wait for completion of the calculations, then you should submit the job to the batch queue on pople or one of the worker machines.
For a job named myjob, two files will be created in your directory: myjob.o# and myjob.e#, where # is the job number. If the job was submitted without a job name, the files are called STDIN.o# and STDIN.e#. These files contain output and error messages, respectively. You should delete these messages after completion of the job.
qsub
Jobs are submitted to the queue using the qsub command. There are two methods for using this command.
Script File
The commands to be executed are placed in a script file (script). If you wish to run the Gaussian calculations contained in the file molecule.com, the script file should contain g98l molecule.com. The name of the script file is included on the command line: qsub script.
Interactive Use
If qsub is issued without specifying a script file, the commands to be executed are read from the keyboard. For example, to run the Gaussian calculation defined in molecule.com, enter
qsub
g98 molecule.com
^D
The control-D (^D) key-stroke indicates the end of input.
Please do not run more than one lengthy calculation in a given job. Instead submit each calculation as a separate job. Doing so will permit other users to run their simulations in turn. The priority of a job may be adjusted to move it to the top or bottom of the queue. (Please be courteous!)
Switches
-a date-time
Run task after date-time. A variety of formats for the date and time are supported.
-p priority
Submit job with the indicated priority. The priority is an integer between 0 and 63, with the default value being 31. Jobs on the queue are sorted by priority, with the highest priority job being run first. If you wish to run a job before other jobs on the queue, submit it with a higher priority. If you have a job you wish to run only when all other jobs are completed, submit it with a lower priority.
-d
Delete the script file after spooling. All jobs are spooled. Any changes made to the script file after a job is submitted have no effect on the job.
-q queue@machine
Submit the job to the indicated queue@machine. The @machine designation may be omitted if the queue resides on the local machine. To submit a job to the queue named LocalQueue on worker01, use -q LocalQueue@worker01. Your account must be configured for network access to the queue system in order to submit or monitor jobs on a remote machine. See the system administrator for details.
-r name
Assign name to the submitted job. The name can be no longer than fifteen characters and should not begin with a number. Without the -r switch, the job name is the same as the script name or is STDIN for jobs submitted interactively.
qstat
The command qstat returns the status of the queue. The default response is a listing of your pending tasks.
Switches
-a
Show all jobs on the queue. By default, only your jobs are displayed.
-d
The status of queues on all machines within the network is displayed.
-l
A detailed description of each job, including job priority, is displayed.
qdel number
The command qdel is used to delete job number from the queue. Each job is identified by a number, which may be found using qstat.
Switches
-k
This switch must be used to delete (kill) a job that is currently running.
© Copyright 1999-2008, Davidson College, Davidson, NC 28035
Send comments, questions, and suggestions to David N. Blauch:
dablauch@davidson.edu
Last updated Wednesday September 10 2003