Information Technology
Improving Job Efficiency:
Ada Best Practices

15-May-2008


Introduction

There are many factors that can influence job performance on Ada. Among them are choice of filesystem for job output, and whether or not a job has exclusive access to a node and its resources. This FAQ will discuss each of these issues.


Filesystems for Job I/O

Ada has several filesystems available for storing data. The two most commonly used are /home and /projects which are designed for permanent storage of data and are not intended for job I/O. Using these filesystems for job I/O might result in degraded performance of your jobs. Alternatives for better performance are to use the local disk on each node or the /lustre filesystem. To determine which filesystem to use, please see our FAQ regarding disk storage guidelines. If you are using /lustre and you are still observing poor I/O, it is possible that you need to reorganize your data on /lustre. Please see our FAQ for more information.


Exclusive Access to Nodes

If you have a job that is resource intensive (i.e. disk or memory) then it might be desirable to request exclusive access to nodes for your jobs. By default, Ada will pack up to four jobs per node (4 processors). These jobs might all belong to you or some might belong to someone else. If your jobs are CPU intensive, this might not be a problem. However, if your jobs are memory or disk intensive, then your jobs might be competiting for resources with other jobs on the same node. This will degrade the performance of all of the jobs on the node. Instructions for requesting exclusive access can be found in our node access FAQ.


Exclusive Access to Both Cores of a Processor

Each node on Ada is made up of two dual-core processors for a total of four processors (cores) per node. In some special cases it might be desirable to have two processes within a job communicate with each other on the same processor chip, rather than communicating between chips or between nodes. This can be done by requesting guaranteed access to both cores as described in our FAQ.


Physical Memory Limitations

Each node on Ada has 8GB of physical memory shared among all of the processors on each node. With all nodes on the cluster being shared among all users, it is possible that a single process owned by a single user might be consuming all of the memory on the node. If this happens, new jobs assigned to that node will likely not have enough memory to run. If your job is memory intensive, it would be best to request a node with enough available memory to run your job. This can be done by requesting access to a node that has enough free physical memory to run the job as described in our FAQ.

IT
Division of Information Technology
MS-119, P.O. Box 1892, Rice University, Houston, Texas 77251-1892
713-348-HELP(4357)