Using the IBM Opteron 1350 at OSC —Batch...

67
Using the IBM Opteron 1350 at OSC —Batch Processing October 19-20, 2010

Transcript of Using the IBM Opteron 1350 at OSC —Batch...

Page 1: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

Using the IBM Opteron 1350 at OSC—Batch Processing

October 19-20, 2010

Page 2: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

2

Online Information

• Technical information:– http://www.osc.edu/supercomputing/

• Hardware

• Software

• Environment

• Training

• Notices

– http://www.osc.edu/supercomputing/computing/#batch

• Contact information– [email protected]

– 1-800-686-6472, 1-614-292-1800

Page 3: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

3

Table of Contents

• Batch Processing: Step by Step

• Minimum Batch Files for Glenn Cluster

• Advantages of Batch Processing

• Useful Batch File Header Lines

• Useful Batch Environment Variables

• More PBS commands

All files used in the examples can be retrieved from the Batchsubdirectory of the svn repository:

svn checkout http://svn.osc.edu/repos/softdevtools/trunk/Batch Batch

Page 4: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

4

Interactive Processing• The way you are used to working on a workstation or laptop!

• Enter a command, output returned to monitor. Based on output, enter a command, output returned to monitor, repeat. User is interacting in real-time with the computer.

• Interactive use is easiest (and almost required) for tasks that involve user’s analysis of previous command’s output to determine the next command.

• Common interactive tasks: file/directory searching, directory management (clean-up, reorganization, etc.), file editing, code debugging (in any manner), use of window-based software, use of performance tools (although most create a raw data file), and the list goes on …

Page 5: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

5

Example Program

Throughout this workshop the same tasks will be carried outin different ways. The tasks are:

1) Compiling a bug-free source code file

2) Running the executable produced

3) Examining the output

4) Removing unnecessary files

5) Changing from home directory to “work” directory

Page 6: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

6

Example Serial Program

This program (nest.c) simply adds togethernumbers whose values are created in a nested loop

#include <stdio.h>#include <math.h>#include <stdlib.h>

int main(int argc, char* argv[]) { float x, rock = 0;int i, j, N, M;M = 8; N = 4;if (argc == 3) {

N = atoi(argv[1]); // command argumentsM = atoi(argv[2]);

}else { // Exit if incorrect number of arguments

printf("Usage : ./a.out int int\n");exit();

}// Set Loop Countsfor(i=1;i<=N;i=i+1) {

for(j=1;j<=M;j=j+1) { x = log((float) ((10*i)+j)); // natural logrock = rock + x; // accumulate sum

} } /* Output */printf("For loop counts N=%d M=%d\n",N,M); printf("Sum=%f\n",rock);

}

svn checkout http://svn.osc.edu/repos/softdevtools/trunk/Batch Batch

Page 7: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

7

This MPI program (search.c)divides an array into four arrays,searches for a value, and reportswhen that value is found

Example Parallel Programif (rank==0) {

for (i=0;i<N;++i) {scanf("%d",&eleven[i]);

}

MPI_Send(&eleven[1*(N/4)],N/4,MPI_INT,1,19,MPI_COMM_WORLD);MPI_Send(&eleven[2*(N/4)],N/4,MPI_INT,2,29,MPI_COMM_WORLD);MPI_Send(&eleven[3*(N/4)],N/4,MPI_INT,3,39,MPI_COMM_WORLD);

for (i=0;i<N/4;++i) {sub[i]=eleven[i];

}

MPI_Send(&eleven[1*(N/4)],N/4,MPI_INT,1,19,MPI_COMM_WORLD);MPI_Send(&eleven[2*(N/4)],N/4,MPI_INT,2,29,MPI_COMM_WORLD);MPI_Send(&eleven[3*(N/4)],N/4,MPI_INT,3,39,MPI_COMM_WORLD);

if (rank!=0) { MPI_Recv(sub,N/4, MPI_INT, 0,MPI_ANY_TAG,

MPI_COMM_WORLD, &info); }

MPI_Barrier(MPI_COMM_WORLD);

MPI_Irecv(&index,1,MPI_INT,MPI_ANY_SOURCE,MPI_ANY_TAG,MPI_COMM_WORLD,&ask);

[cont’d on next slide]

#include <stdio.h>#include <mpi.h>#define N 16000

int main(int argc, char *argv[]) {int rank,size;int i,j;int eleven[N],sub[N/4];MPI_Status info;MPI_Request ask,found;int done=0;int index;

MPI_Init(&argc,&argv);MPI_Comm_rank(MPI_COMM_WORLD,&rank);MPI_Comm_size(MPI_COMM_WORLD,&size);

printf("In node[%d], tmpdir is %s\n", rank, system("echo $TMPDIR"));

Page 8: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

8

Example Parallel Program[cont’d from previous slide]

i=0;

MPI_Test(&ask,&done,&info);

while (i<N/4 && !done) {if (sub[i]==11 ) {

printf("P:%d 11 found at index=%d\n",rank,i);

for (j=0; j<size; ++j) {MPI_Isend(&i,1,MPI_INT,j,55,

MPI_COMM_WORLD,&found);}

}++i;MPI_Test(&ask,&done,&info);

}

MPI_Wait(&ask,&info);printf("P:%d I searched up to index %d\n",

rank,(i-1));

MPI_Finalize();}

Page 9: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

9

Interactive Session

opt-login1:$ cd Batchopt-login1:$ gcc nest.c -lmopt-login1:$ ./a.out 459 121For loop counts N=459 M=121Sum = 306505.406250opt-login1:$ rm a.out

This set of commands assumes you have downloaded nest.c andnest.pbs from the svn repository:

Page 10: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

10

Batch Processing of SAME Tasks• Key fact: In the previous interactive session the user already knew

before logging in what commands they were going to type. The code had been debugged, everything is ready for a “production” run.

• NO REAL-TIME INTERACTION IS REQUIRED→ Therefore, you can put the commands in a file (“batch file”)

• A batch file is just a script (sequence of UNIX commands put into a file) that contains:

1) The EXACT SAME commands you typed on the keyboard during the interactive session.

2) Some lines at the beginning of the file that give the batchsystem software some parameters it needs to know. Theseopening lines are called the header of the batch file.

Page 11: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

11

Structure of a Minimum Batch File#PBS -N nest

#PBS -l walltime=00:05:00

#PBS -j oe

#PBS –S /bin/ksh

set –x

cd $PBS_O_WORKDIR

gcc nest.c -lm

./a.out 459 121

/bin/rm a.out

Header

Same Unix Commands

• environment variable which is automatically set when submitting a batch request

• it is set to the directory path from where the batch request was submitted

• more on other environment variables later

• in /bin/ksh, this prints (echos) the executed commands in your output file

• in /bin/csh, this command is set echo

this will remove the named file(s) immediately

Page 12: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

12

Batch Processing Session -bash-3.2$ qsub nest.pbs2289978.opt-batch.osc.edu

-bash-3.2$ qstat -u yzhangopt-batch.osc.edu:

Req'd Req'd Elap

Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time

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

2289978.opt-bat yzhang serial nest -- 1 -- -- 00:05 Q --

-bash-3.2$ qstat -u yzhang2289978.opt-bat yzhang serial nest -- 1 -- -- 00:05 Q

--

-bash-3.2$ qstat -a | grep nest2289978.opt-bat yzhang serial nest 402 1 -- -- 00:05 R

--

-bash-3.2$ qstat -u yzhang2289978.opt-bat yzhang serial nest 402 1 -- -- 00:05 R

00:01

Page 13: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

13

Batch Processing Session Results:

-bash-3.2$ ls -ltrtotal 108-rw-r--r-- 1 yzhang G-3040 276 Oct 28 14:30 run-nest.job-rw-r--r-- 1 yzhang G-3040 295 Oct 28 14:30 run-nest3.job-rw-r--r-- 1 yzhang G-3040 140 Oct 28 14:30 nest.pbs-rw-r--r-- 1 yzhang G-3040 725 Oct 28 14:30 nest.c-rw------- 1 yzhang G-3040 139 Nov 1 22:17 nest.o2289978

-bash-3.2$ cat nest.o2289978 + cd /nfs/06/yzhang/workshops/softw09/Batch+ gcc nest.c -lm+ ./a.out 459 121For loop counts N=459 M=121Sum=306505.406250+ rm -f a.out

Page 14: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

14

Description of Batch File Header Lines

• Batch processing on OSC systems is implemented by the Portable Batch System.

• Header lines begin with #PBS. The # symbol indicates that this line is just a comment from the shell's point of view.

• #PBS -l walltime=00:01:00

– The character before the word walltime is a lower-case “el” not the numeric character “1”. The “el” stands for limit.

– This header line tells PBS how much real time (the time on the clock on the wall) you expect the execution of the batch file commands to take.

– Since the time format is hh:mm:ss, the limit on the wall clock time is 1 minute in this example

– You can estimate wall clock time by running your program once and using external or internal timing commands (see later)

Page 15: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

15

PBS at OSC

• PBS is installed on Glenn cluster and Bale cluster

• Glenn cluster has four partitions

• Options may vary across systems/partitions , e.g., to take advantage of system-specific hardware

• Review OSC web pages on the different computing systems/partitions.

http://www.osc.edu/supercomputing/hardware/

Page 16: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

16

Description of Batch File Header Lines• #PBS –N nest

– provides a name to your batch job (important!); here the name is nest– the name is used by PBS in several ways:

• appears in status (qstat command) output• prefix for the output file name returned by PBS, e.g. nest.o2289978

– A PBS output log file can be thought of as a screen dump. The log file contains everything that would have appeared on your monitor if the commands had been run interactively.

• #PBS –j oe– By default, PBS returns two log files: one for the standard output data

stream, the other for the standard error data stream– This option joins these two into a single log file

Page 17: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

17

Description of Batch File Header Lines

•#PBS –S /bin/ksh– Sets the Linux shell which will interpret the shell commands in your

batch script– In this example, the Korn shell is used

• Can use any available shell for your command interpreter

• The command

cat /etc/shells

shows the shells available on a system

Page 18: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

18

Procedure to run a Batch job1. Create a batch job-file (standard text file)

2. Use the qsub command to submit the job-file to PBS• When PBS begins executing batch file commands, the shell is invoked in your

login directory (your home directory, $HOME).• Retain the job number identified in the return line!

3. Use the qstat command to check on your job status(tip: use qstat -u my_user_id to see the status of your jobs only)

4. Your batch session is complete when the job no longer appears in the qstat output table• Your job is started when requested resources become available• Your job ends when batch-file commands finish or time limit reached

5. Examine the file returned by PBS to see your job output• File appears in your home directory or the directory from which you

submitted the job if using $PBS_O_WORKDIR

Page 19: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

19

qsub and qstat•qsub batch_file_name

– Submits your batch job to PBS– Based on the resources requested in the job header, PBS places your job

in a queue into which your job “fits”– Returns your Job Identification Number (“Job ID” in qstat output,

2289978.opt-batch.osc.edu in our example)

•qstat –a– Status information on all batch jobs in PBS at that time– Output is a multi-columned, lengthy table containing many pieces of

information– The first four columns identify the job:

• JID that matches value returned from qsub, e.g.,2289978.opt-batch.osc.edu

• Your OSC login ID, e.g., ucn1234

Page 20: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

20

qstat -a (continued)

• The name of the queue your job was placed in• The “internal” name for your job as set in the –N header line of

your batch file

– The Req'd Time column shows the time limit you set in the batch file header (HH:MM:SS)

– THE MOST IMPORTANT COLUMN is the S(tatus) column which shows a letter code for what your code is doing now

Code MeaningR RunningQ QueuedH Held

Page 21: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

21

The PBS log file• The log file may seem cryptic but there is a pattern to it:

– internal_name.oJID– internal_name is the name given in “#PBS -N” header line– The o after the period stands for “output” (e stands for “error”)

• Log file contains the UNIX command(s) run and their output (if any)

• In our sample log file, the UNIX commands are proceeded by a “+”. This is due to the set –x command (ksh/bash) executed first in the batch file. This command causes each batch file command to be echoed to the monitor with a + in front. Without the set –xcommand (or its equivalent) only the actual screen output would appear in the log file.

• For those who use tcsh or csh, echoing of shell commands is achieved by using the command set echo on.

Page 22: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

22

Deleting a Batch Job

• Situations may arise in which the user may want to delete one of your jobs from the PBS queue:

– resource limits set incorrectly– missing input file(s)– incorrect or missing commands in the batch file– program is taking too long to run (“infinite-loop”)

• The PBS command to delete a batch job is qdel:

$ qdel Job_ID

Page 23: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

23

Advantages of Batch Processing• Interactive resource limits too small

– limit UNIX command will show interactive limits on CPU time (session & process), memory size, disk size, etc.

– Current limits– 2 hours of CPU time– 1 GB of memory

• Improves overall system efficiency by weighing user requirements against system load

• Makes sure all users can get equal access to resources by enforcing a scheduling policy

• Automatically keeps a log of your Unix commands and their output• Only way to access > 1 nodes for parallel processing• Batch processing concepts same for all batch software• Learn PBS on one OSC machine, know it for all

Page 24: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

24

Useful Batch File Header Lines

• Header Line = qsub option

• Optional resource request

• Mailing options

• Rename the Log File

• Use a Different Shell

• Parallel Processing

• Starting Date & Time

• Special Queues

Page 25: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

25

qsub Options

• The header lines of a PBS batch file are actually options to the qsubcommand. For example in our batch files we have put the header line

#PBS –j oe

We could have left out that header line and used that option when the batch file is submitted:

qsub –j oe batch_file

• It is recommended to put the options in the header section of the batch file so that the user has a record of values used.

• In this chapter, other options (besides the minimum suggested) will be discussed with emphasis on the most useful.

• All qsub options can be found with

$ man qsub

Page 26: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

Optional Resource Request-l mem=amount (OPTIONAL) Request use of amount of memory

per node. Default units are bytes; can also beexpressed in megabytes (e.g. mem=1000MB) orgigabytes (e.g., mem=2GB)

-l file=amount (OPTIONAL) Request use of amount of local scratch disk space per node. Default unitsare bytes; can also be expressed in megabytes(e.g. disk=10000MB) or gigabytes (e.g., disk=10GB). Only required for jobs using > 10GB oflocal scratch space per node

-l software=package[+N](OPTIONAL) Request use of N licenses for package.If omitted, N=1. Only required for jobs using specificsoftware packages with limited numbers of licenses;see software documentation for details.

EMPOWER. PARTNER. LEAD.

Page 27: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

27

Email from PBS• Do I really have to keep checking on the status of my job with qstat –a to find out its progress?

– Answer: no. By using the following batch file header lines, PBS will email you a message that your job has begun and that your job has ended, respectively

#PBS –m b#PBS –m e

• In the “job ending” email message the return status of job is reported. A return status of 0 indicates success. Total time and memory consumed is also reported.

• There is also a –m a option that sends email if your job aborts• Edit the contents of your ${HOME}/.forward file to specify the

destination of the email, e.g.,

kilroywashere@your_local_supernet.net

Page 28: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

28

Sample End Email

Date: Sunday - November 1, 2009 9:33 PM

From: root <[email protected]>

To: <[email protected]>

Subject: PBS JOB 2289554.opt-batch.osc.edu

PBS Job Id: 2289554.opt-batch.osc.eduJob Name: nestExecution terminatedExit_status=0resources_used.cput=00:02:18resources_used.mem=676kbresources_used.vmem=9824kbresources_used.walltime=00:02:20

Page 29: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

29

Log File Name

• Do I have to live with that awkward name for the log file returned by PBS?

• Answer: no Add the following header line and choose the name you want:

#PBS –o file_name

• This option stands for (o)utput. When the batch job is finished everything that would have been displayed on your monitor is contained in file_name.

Page 30: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

30

Changing Shells• If not otherwise specified, the UNIX shell used to execute your batch

file commands is your login shell

• The user can choose to run a batch job in a different shell if they desire. The header line is:

#PBS –S /bin/[csh|ksh|bash]

• Notice the full path name of the shell command must be used

• NOTE: Echoing of commands in the C shell is enabled by the command

set echo

The “echoed” commands are not proceeded by a ‘+’

Page 31: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

31

Parallel Processing for Clusters• One batch file header line performs the most critical step needed

in parallel processing: setting the number of processors your code will run on.

• This syntax for this important header line is:#PBS -l nodes=N:ppn=1 (1<=ppn<=8)

• The first part of this option specifies the number (N) of nodes you need. The maximum value for N depends on the nodes available on a given machine.

• Glenn cluster has 4/8/16 processors per node. The second part of the option indicate how many processors per node are used. If the ppn section is omitted, PBS will default to 1 processor per node.

Page 32: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

Dual Socket Quad Socket

Dual Core

Quad Core

Number of Machines: 877 Number of Machines: 88

Number of Machines: 650 Number of Machines: 8

#PBS -1 nodes=N:ppn=C:type

Number of Cores: 4Memory: 8 GB

To request, specify:1 ≤ N ≤ 5121 ≤ C ≤ 4

Type=olddualExample:#PBS –l nodes=10:ppn=4:olddual

Number of Cores: 8Memory: (70) 16 GB, (16) 32 GB, (2) 64 GBTo request, specify:

N = 11 ≤ C ≤ 8

Type=oldquadTo request memory,

#PBS -l mem=16GBExample:#PBS –l nodes=1:ppn=8:oldquad

Number of Cores: 8Memory: 24 GBTo request, specify:

1 ≤ N ≤ 2565 ≤ C ≤ 8

Type=newdualExample:#PBS –l nodes=5:ppn=8:newdual

Number of Cores: 16Memory: 64 GBTo request, specify:

N = 19 ≤ C ≤ 16

Type=newquadTo request memory,

# PBS -1 mem = 32 GBExample:#PBS –l nodes=1:ppn=16:newquad

Page 33: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

33

Parallel Processing Batch File• The search program uses 4 nodes to search a quarter of an integer array for

the value 11. When one processor has found it, that processor signals the others to stop searching.

• The –n option for qstat has been used to show what physical nodes the code is actually being run on.

#PBS -l walltime=00:04:00#PBS -N search#PBS -j oe#PBS –S /bin/ksh#PBS -l nodes=4:ppn=1:olddualset -xcd $PBS_O_WORKDIRmpicc search.cqstat –u $USER -rnmpiexec a.out < data3.txtrm a.outrm search.o

Page 34: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

34

Log File (nodes=4:ppn=1)-bash-3.2$ less search.o2289997

+ cd /nfs/06/yzhang/workshops/softw09/Batch

+ mpicc search.c

+ qstat -u yzhang -rn

opt-batch.osc.edu:

Req'd Req'd Ela

p

Job ID Username Queue Jobname SessID NDS TSK Memory Time S Tim

e

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

--

2289997.opt-batch.os yzhang parallel search -- 4 -- -- 00:04 R -

-

opt0345/0+opt0344/0+opt0343/0+opt0342/0

+ mpiexec a.out

+ 0< data3.txt

P:0 11 found at index=1499

P:1 I searched up to index 1789

P:0 I searched up to index 1499

P:2 I searched up to index 1406

P:3 I searched up to index 1789

+ rm -f a.out search.o

Page 35: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

35

Log File (nodes=2:ppn=2)-bash-3.2$ less search.o2289998

+ cd /nfs/06/yzhang/workshops/softw09/Batch

+ mpicc search.c

+ qstat -u yzhang -rn

opt-batch.osc.edu:

Req'd Req'd Ela

p

Job ID Username Queue Jobname SessID NDS TSK Memory Time S Tim

e

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

--

2289998.opt-batch.os yzhang parallel search -- 2 -- -- 00:04 R -

-

opt0341/1+opt0341/0+opt0340/1+opt0340/0

+ mpiexec a.out

+ 0< data3.txt

P:0 11 found at index=1499

P:1 I searched up to index 1423

P:0 I searched up to index 1499

P:2 I searched up to index 2583

P:3 I searched up to index 3542

+ rm -f a.out search.o

Page 36: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

36

Parallel Processing for SMPs• Specifying a processor count for SMP parallel job:

#PBS -l nodes=1:ppn=8:oldquad#PBS -l walltime=10:00:00#PBS -j oe#PBS -N openmp#PBS -S /bin/kshcd $TMPDIRcp $HOME/openmp/a.out .export OMP_NUM_THREADS=8./a.out

Page 37: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

37

Setting Execution Day & Time• Instruct PBS to not begin executing my job until a certain date and time• Use the header line:

#PBS –a [YYYY][MM][DD]hhmm

• This is the standard “(a)t” option. Only the hours and minutes must be set. If the time set has already passed, PBS will assume the date is tomorrow

• Let's say I wanted to pick a time in which a machine was not very busy. Say, this Saturday at 5 am. The header line would look like this:

#PBS –a 200911070500

• You can submit the job today, and it will be put in the (W)ait state until the date & time indicated. The output of qstat –a for a timed job looks as follows:

17450.nfs4.osc. osu2917 serial hpmulti_de 16440 1 -- -- 240:0 R 00:13

17453.nfs4.osc. yzhang batch dt -- ---- -- 00:04 W --

17454.nfs4.osc. utl0192 parallel fractaltda 31330 8 -- -- 01:05 R --

Page 38: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

38

Queue Specification• On many HPC systems special queues are set up and can be used

only by permitted users. These queues might allow a huge amount of memory or time, a large number of processors, or access to a third-party software package.

• For example, on the glenn cluster there is a special queue called “longserial”, dedicated to serial jobs that need to run more than 168 hours and less than 336 hours.

• If you have permission, you can specify the queue for your job with the header line

#PBS –q queue_name

Otherwise, just let PBS put your job in the appropriate queue.

• For most applications, users will be put into either the serial or parallel queues.

Page 39: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

39

Useful Batch Environmental Variables

• Using the /tmp directory

• Changing to your work directory

• Informative environment variables

Page 40: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

40

TMPDIR• For many user the sizes of data files or executable files are so large

they cannot be placed in their home directories.

• The /tmp directory offers a huge amount of temporary disk space (315TB in total) to all users of an OSC system. In addition, it is muchfaster to access than $HOME disk since it is on local disk (not NFS-mounted).

• For each batch job, there is a subdirectory of /tmp uniquely associated with that job. It comes into existence when the job begins and is deleted when the job is finished. The name of the /tmp subdirectory is stored in the environment variable TMPDIR

• In the batch file the user should copy all files needed to $TMPDIR, cd to $TMPDIR, run your code, and finally bring needed output back files to your $HOME area.

• Note that “clean-up” at the end of the batch file is not needed since the $TMPDIR directory and all its files are deleted when the job ends.

Page 41: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

41

Batch File using TMPDIR#PBS -l walltime=00:04:00#PBS -N nest#PBS -j oeset -xcd $HOME/workshops/softw09/Batchcp nest.c $TMPDIRcd $TMPDIRgcc nest.c -lm./a.out 3 4 > outputcp output $HOME/workshops/softw09/Batchcd $HOME/workshops/softw09/Batchcat output

Page 42: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

42

Returned Log File

+ cd /nfs/06/yzhang/workshops/softw09/Batch+ cp nest.c /tmp/pbstmp.2290002+ cd /tmp/pbstmp.2290002+ gcc nest.c -lm+ ./a.out 3 4+ cp output /nfs/06/yzhang/workshops/softw09/Batch+ cd /nfs/06/yzhang/workshops/softw09/Batch+ cat outputFor loop counts N=3 M=4Sum=17.406998

Page 43: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

pbsdcp – Distributed Copy for Parallel Jobs• $TMPDIR directory is not shared across nodes!

• When a parallel job starts running on multiple nodes, each node has its own $TMPDIR.

• Use pbsdcp when copying files to directories not shared between nodes (e.g. /tmp or $TMPDIR)

– Distributed copy command– Two modes:

• -s scatter mode (default)• -g gather mode

EMPOWER. PARTNER. LEAD.

Page 44: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

Batch File Using pbsdcp#PBS -N search#PBS -l walltime=00:04:00#PBS -j oe#PBS -l nodes=2:ppn=2:olddual#PBS -S /bin/ksh

set –xqstat $PBS_JOBID -ncd $HOME/workshops/opteron09/batchmpicc -O3 search.c -o search

pbsdcp search data3.txt $TMPDIRcd $TMPDIR

/usr/bin/time mpiexec search < data3.txt

EMPOWER. PARTNER. LEAD.

Page 45: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

Log File Returned+ cd /nfs/06/yzhang/workshops/opteron09/batch+ qstat 2247114.opt-batch.osc.edu -rn

opt-batch.osc.edu: Req'd Req'd

ElapJob ID Username Queue Jobname SessID NDS TSK Memory Time S Time-------------------- -------- -------- ------- ------ --- --- ------ ----- - -----2247114.opt-batch.os yzhang parallel search -- 2 -- -- 00:04 R --

opt0871/1+opt0871/0+opt0866/1+opt0866/0

+ mpicc -O3 search.c -o search+ pbsdcp search data3.txt /tmp/pbstmp.2247114+ cd /tmp/pbstmp.2247114+ /usr/bin/time mpiexec search+ 0< data.txtP:0 11 found at index=1499P:0 I searched up to index 1499P:1 I searched up to index 2236P:2 I searched up to index 564P:3 I searched up to index 4390.00user 0.00system 0:01.06elapsed 1%CPU (0avgtext+0avgdata 0maxresident)k0inputs+0outputs (0major+1855minor)pagefaults 0swaps

EMPOWER. PARTNER. LEAD.

Page 46: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

46

PBS_O_WORKDIR

• Is there a way that PBS can automatically cd to my working directory since I always start out in my home directory?

• Answer: mostly. Once a user has used qsub to submit a batch job, the environment variable PBS_O_WORKDIR is filled with the absolute path of the directory from which qsub was executed.

• Usually, where the user has the files the batch job needs to work on is also where they submit from. Thus, the first line of their batch file can be made general purpose

cd $PBS_O_WORKDIR

• The user doesn’t even have to remember the path to the directory they are working in.

Page 47: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

47

Batch File Using $PBS_O_WORKDIR

#PBS -l walltime=00:04:00#PBS -N nest#PBS -j oeset -xcd $PBS_O_WORKDIRgcc nest.c -lm./a.out 3 4rm a.out

Page 48: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

48

Log File Returned

+ cd /nfs/06/yzhang/workshops/softw09/Batch+ gcc nest.c -lm+ ./a.out+ 3 4Enter Loop CountsFor loop counts N=3 M=4Sum=17.406998 + rm a.out

Page 49: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

49

Information Variables

• PBS has a number of built-in environment variables that preserve job information:– PBS_O_HOST = hostname of machine running PBS– PBS_O_QUEUE = starting queue your job was put in– PBS_QUEUE = queue your job was executed in– PBS_JOBID = JID of your job– PBS_JOBNAME = “internal” name you gave job– PBS_NODEFILE = name of the file containing list of nodes your

job used

• On the next two slides are a batch file and its return log file that shows that these variables are filled with the correct values

Page 50: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

50

Batch File Reporting Environment Information

#PBS -l walltime=5:00#PBS -N print-env-var#PBS -j oe

set -xcd $PBS_O_WORKDIRqstat -u $USER -rnecho $PBS_O_HOSTecho $PBS_O_QUEUEecho $PBS_QUEUEecho $PBS_JOBIDecho $PBS_JOBNAMEcat $PBS_NODEFILE

Page 51: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

51

Returned Log File+ cd /nfs/06/yzhang/workshops/softw09/Batch+ qstat -u yzhang -rn

opt-batch.osc.edu: Req'd Req'd

ElapJob ID Username Queue Jobname SessID NDS TSK Memory Time S

Time-------------------- -------- -------- ---------- ------ ----- --- ------ ----- -

-----2290013.opt-batch.os yzhang serial print-env- 24320 1 -- -- 00:05 R

--opt0372/2

+ echo opt-login02.osc.edu (PBS_O_HOST)opt-login02.osc.edu+ echo batch (PBS_O_QUEUE)batch+ echo serial (PBS_QUEUE)serial+ echo 2290013.opt-batch.osc.edu (PBS_JOBID)2290013.opt-batch.osc.edu+ echo print-env-var (PBS_JOBNAME)print-env-var+ cat /var/spool/batch/torque/aux//2290013.opt-batch.osc.edu (PBS_NODEFILE)opt0372

Page 52: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

52

More PBS Commands

•qpeek

•qstat (more options)

• Moab Scheduler Commands

Page 53: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

53

qpeek

•qpeek is a well-named command. It allows for the user to “peek” into the partially-completed log file of a running job. Thus, the user can see the progress of the job.

• On the next slide, the qpeek command is used to see at what batch file command the following job is at:#PBS -l walltime=00:20:00

#PBS -N liver

#PBS -j oe

set -x

cd liver_ia64

./liver

rm liver

Page 54: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

54

qpeek Demonstrationipf-login1:$ qstat -a

nfs1.osc.edu:

Req'd Req'd ElapJob ID Username Queue Jobname SessID NDS TSK Memory Time S Time--------------- -------- -------- ---------- ------ --- --- ------ ----- - -----17547.nfs1.osc. abe serial liver 18385 1 -- -- 00:20 Q --

ipf-login1:$ qpeek 17547Job 17551 is not running!ipf-login1:$ qpeek 17547+ cd liver_ia64ipf-login1:$ qpeek 17547+ cd liver_ia64+ ./liveripf-login1:$ qpeek 17547+ cd liver_ia64+ ./liveripf-login1:$ qpeek 17547qstat: Unknown Job Id 17547.nfs1.osc.eduJob 17547 is not running!

Page 55: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

55

qstat

• By using the qstat command the user can get a vast amount of information about jobs (as we have already seen) and the batch system queues themselves.

• We have already used these qstat options:-a show status info on all jobs-r show status info on running jobs only-n show the nodes jobs are running on

• The new options are used to check how busy the queues are and what the queue limits/properties are-Q summary of load on each of the queues-q summary of limits on each queues-Qf | more detailed description of all queue properties

Page 56: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

56

Glenn Cluster Queues-bash-3.2$ qstat -QQueue Max Tot Ena Str Que Run Hld Wat Trn Ext

Type---------------- --- --- --- --- --- --- --- --- --- --- ---

--longserial 0 7 yes yes 0 7 0 0 0 0 E parallel 0 65 yes yes 0 65 0 0 0 0 E serial 0 407 yes yes 18 388 1 0 0 0 E dedicated 0 0 yes yes 0 0 0 0 0 0 E batch 0 0 yes yes 0 0 0 0 0 0 R

-bash-3.2$ qstat -qserver: opt-batch.osc.edu

Queue Memory CPU Time Walltime Node Run Que Lm State---------------- ------ -------- -------- ---- --- --- -- -----longserial -- -- 336:00:0 1 7 0 -- E Rparallel -- -- 96:00:00 256 65 0 -- E Rserial -- -- 168:00:0 1 386 19 -- E Rdedicated -- -- 48:00:00 965 0 0 -- E Rbatch -- -- -- -- 0 0 -- E R

----- -----458 19

Page 57: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

57

Full Queue Description-bash-3.2$ qstat -Qf parallelQueue: parallel

queue_type = Executionmax_user_queuable = 100total_jobs = 65state_count = Transit:0 Queued:0 Held:0 Waiting:0 Running:65 Exiting:0 resources_max.nodect = 256resources_max.nodes = 256:ppn=4resources_max.walltime = 96:00:00resources_min.nodect = 2resources_default.nodes = 2:ppn=1resources_default.walltime = 01:00:00mtime = 1237216627resources_assigned.mem = 0bresources_assigned.nodect = 823resources_assigned.vmem = 0benabled = Truestarted = True

Page 58: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

Batch Request Limits For Users• For each user

– 128 concurrently running jobs– 2048 processor cores in concurrent use

• Serial jobs– Request only one node and up to 8 processor cores– 168 hour limit

• Parallel jobs– Request multiple nodes and up to 2048 processor cores– 96 hour limit

• Exceptions possible– Longer time limits– Larger processor counts– Contact [email protected]

EMPOWER. PARTNER. LEAD.

Page 59: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

59

Maui Scheduler Commands

• OSC PBS software has been enhanced with the use of the Moab Scheduler to improve job flow.

– Advance reservations– Backfill scheduling– Fairshare and quality-of-service (QOS) levels

• Maui also comes with its own set of useful commands:– showq (list currently running and queued jobs)

– showstart (estimates start time for a queued job)

– showbf (tells what processors are available to “back-fill”the system)

Page 60: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

60

Moab Scheduling Algorithm• Compute priorities for all jobs not currently running.

• Sort idle jobs in priority order from highest to lowest, removing any jobs which have had holds place on them or exceed policy limits.

• Starting with the highest priority job, attempt to run each job until there are not enough resources available to run the highest priority job remaining.

• Given current system conditions, compute when is the soonest time the highest priority job could run, and create a reservation for it at that time.

• Backfill any other idle jobs which will not cause the start time for the highest priority job to slip further into the future.

Page 61: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

61

Factors Involved in Job Priority

• Recent usage– How much other computing has been done by user over last several days– How much other computing has been done by user’s group over last several days

• Processor count requested• How long the job has been queued• Expansion factor (ratio of job length to queue time)

These factors tend to favor large processor-count, long-runningjobs, as those are the most difficult to schedule. Smaller processor-count and/or shorter-running jobs are filled in using backfill scheduling.

NOTE: Highest priority does not mean a job will run immediately, the system must free up enough resources (processors and memory) to run it

Page 62: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

62

showq OutputACTIVE JOBS--------------------

JOBNAME USERNAME STATE PROC REMAINING STARTTIME

2291837 osu3127 Running 1 00:28:41 Mon Nov 2 15:47:24

2293402 osu4970 Running 4 00:38:21 Tue Nov 3 10:57:04

2293187 osu1697 Running 1 1:27:13 Tue Nov 3 08:45:56

2293197 osu1697 Running 1 1:30:19 Tue Nov 3 08:49:02

2293386 osu5425 Running 4 1:32:15 Tue Nov 3 10:50:58

2293387 osu5425 Running 4 1:32:21 Tue Nov 3 10:51:04

2293388 osu5425 Running 4 1:32:27 Tue Nov 3 10:51:10

2289284 utl0253 Running 4 1:36:35 Sun Nov 1 20:55:18

2293408 kazantzi Running 8 1:45:01 Tue Nov 3 11:03:44

2293151 osu5455 Running 8 1:58:51 Tue Nov 3 08:17:34

2293390 osu5425 Running 4 2:33:28 Tue Nov 3 10:52:11

2293391 osu5425 Running 4 2:33:34 Tue Nov 3 10:52:17

2293392 osu5425 Running 4 2:33:40 Tue Nov 3 10:52:23

2292067 osu5208 Running 16 2:37:07 Mon Nov 2 17:25:50

...

519 active jobs 5856 of 9256 processors in use by local jobs (63.27%)

1058 of 1584 nodes active (66.79%)

Page 63: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

63

showq Output (cont’d)

IDLE JOBS----------------------

JOBNAME USERNAME STATE PROC WCLIMIT QUEUETIME

2258855 ysu0077 Idle 4 5:05:00:00 Sun Nov 1 21:59:55

2264762 ysu0077 Idle 4 6:06:00:00 Sun Nov 1 21:59:55

2271320 osu5455 Idle 1 1:16:00:00 Sun Nov 1 21:59:55

2271321 osu5455 Idle 1 1:16:00:00 Sun Nov 1 21:59:55

2271322 osu5455 Idle 1 1:16:00:00 Sun Nov 1 21:59:55

5 Idle Jobs

BLOCKED JOBS----------------

JOBNAME USERNAME STATE PROC WCLIMIT QUEUETIME

2275323 wsu0167 UserHold 4 2:22:00:00 Wed Dec 31 19:00:00

2288910 osu4410 Idle 2 15:00:00 Wed Dec 31 19:00:00

2288911 osu4410 Idle 2 15:00:00 Wed Dec 31 19:00:00

...

14 blocked jobs

Total jobs: 538

Page 64: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

64

showstart Usage

-bash-3.2$ showstart 2290021job 2290021 requires 4 procs for 00:04:00

Estimated Rsv based start in 00:00:04 on Sun Nov 1 22:52:39

Estimated Rsv based completion in 00:04:04 on Sun Nov 1 22:56:39

Best Partition: olddual

Page 65: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

65

showbf Usage

-bash-3.2$ showbf

Partition Tasks Nodes Duration StartOffset StartDate

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

ALL 20914 237 2:02:01 00:00:00 21:57:59_11/01

ALL 20795 204 10:02:01 00:00:00 21:57:59_11/01

ALL 20777 199 1:10:02:01 00:00:00 21:57:59_11/01

ALL 20745 195 10:10:02:01 00:00:00 21:57:59_11/01

ALL 20741 194 11:10:02:01 00:00:00 21:57:59_11/01

ALL 20731 192 INFINITY 00:00:00 21:57:59_11/01

olddual 20282 148 2:02:01 00:00:00 21:57:59_11/01

olddual 20166 116 10:02:01 00:00:00 21:57:59_11/01

olddual 20148 111 INFINITY 00:00:00 21:57:59_11/01

newdual 19762 2 2:02:01 00:00:00 21:57:59_11/01

newdual 19759 1 INFINITY 00:00:00 21:57:59_11/01

oldquad 20380 85 INFINITY 00:00:00 21:57:59_11/01

newquad 19759 1 INFINITY 00:00:00 21:57:59_11/01

torque 19767 5 INFINITY 00:00:00 21:57:59_11/01

Page 66: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

66

Why Won't My Job Run?There are a number of reasons why your job may not run immediately,even if there appears to be sufficient resources for it to run: • Other users' jobs may have be assigned higher priority than your job,

depending on what you're asking for. Especially in cases with small processor-count, long-running jobs, the scheduler may not be able to backfill the smaller job without interfering with a higher priority job's start time.

• There may be downtime or other system reservations in place. These will often be noted in the system's message of the day (/etc/motd) and/or the OSC “Notices” web page (http://www.osc.edu/supercomputing/notices).

• You or your group may be at the maximum CPU count or running job count for a user or group. These are generally set up such that a single user can run 128 jobs and/or use 2048 processors at a time.

Page 67: Using the IBM Opteron 1350 at OSC —Batch Processingwebby.cc.denison.edu/~bressoud/cs402-s11/Supplements/... · 2011. 3. 2. · just a comment from the shell's point of view. •

67

Reporting Batch Problems to OSC Help

If you are having a problem with the batch system on any of OSC'smachines, you should send email your problems [email protected]. Including the following information will aid OSC's Science and Technology Support (STS) staff in diagnosingyour problem quickly:

• Name and telephone number• User ID (username)• Home institution• Name of the system you are using (BALE cluster, Opteron cluster)• Job ID• Job script• Job output and/or error messages (preferably in context).