Professional Documents
Culture Documents
Intro
Intro
Intro
Outline
1 Resources
TeraGrid
An Introduction to Hardware
The Center for Advanced Computing Default Software
2 Mechanics: Usage
Compiling programs
Brock Palen
The Batch System
brockp@umich.edu
3 The Scheduler
Understanding the Scheduler
TBD Scheduler Commands
4 Summary
Resources and Access
http://cac.engin.umich.edu/training Job Management
Contact
2009-06-03
Resources About
TeraGrid TeraGrid
”TeraGrid is an open scientific discovery infrastructure combining
leadership class resources at eleven partner sites to create an
integrated, persistent computational resource.”
Compute Hardware
1 Altix node, 32 cores
745 Opteron nodes, over 2900 cores
Gigabit networking and Infiniband networking Nyx
Upto 96GB of memory (64GB public) for SMP work nyx is the Opteron cluster;
Login: nyx-login.engin.umich.edu
Visualization Hardware Running RedHat Enterprise Linux 4
http://um3d.dc.umich.edu/ Uses PBS for Resource Access
Windows 64bit Nvidia 8GB Quad Core
Linux Nvidia 16GB Quad Core 30” wide screen
2009-06-03
Resources
Hardware: bighouse Hardware
Bighouse
bighouse is our Itanium SMP machine
Login: bighouse.engin.umich.edu
Running SuSE Linux Enterprise Server
Hardware: bighouse 10
ProPack 5 from SGI
Uses PBS for Resource Access
Only available for benchmarking
(Private)
2009-06-03
Resources
Hardware: 3dlab Hardware
Hardware: 3dlab
VMD Visual Molecular Dynamics
Visit
IDL Interactive Data Language
Has /nobackup mounted
1. VMD http://www.ks.uiuc.edu/Research/vmd/
2. Visit https://wci.llnl.gov/codes/visit/
3. IDL http://www.ittvis.com/idl/
2009-06-03
Resources /home
7TB total size
Storage Hardware
40GB quota per user
Reliable but slow
Only for current jobs
Storage /nobackup
Fast and supports MPI-IO
49TB total size
No quotas
Only for current jobs
mkdir /nobackup/$USER
/home
7TB total size Both filesystems are shared on all CAC systems.
http://cac.engin.umich.edu/resources/storage/lustre.html
40GB quota per user For /nobackup user directories have to be created by the user mkdir
Reliable but slow /nobackup/$USER. All users are logged into /home by default.
/home provides read-only snapshots. These allow users to recover
Only for current jobs
deleted/modified files from the past. Snapshops are located at
/home/.snapshot
/nobackup
Fast and supports MPI-IO
49TB total size
No quotas
Only for current jobs
mkdir /nobackup/$USER
Resources Mechanics: Usage The Scheduler Summary Resources Mechanics: Usage The Scheduler Summary
Nyx Defaults
OpenMPI Common Software
PBS Commands
PGI Compilers
High Performance Math Libraries
Bighouse Defaults Unix/GNU Tools
Message Passing Toolkit (MPT) gcc/g++
Intel Compilers
2009-06-03
Resources All CAC systems use modules to control software. Users can and
should write their own modules if needed.
All CAC systems use modules to control software. Users can and
should write their own modules if needed. 1. Show Example
module commands
module list
Show loaded modules
module load modulename
Load modulename for use
module avail modulename
Show available versions of module modulename
module rm modulename
Remove currently loaded module
Resources Mechanics: Usage The Scheduler Summary
CAC Intro Module Fun
2009-06-03
Resources
Module Fun Default Software
Module Customization
~/privatemodules/default
Allows users to change their default modules.
Resources Mechanics: Usage The Scheduler Summary Resources Mechanics: Usage The Scheduler Summary
Module Example
List Loaded Modules
module list Tools
Show All Modules All of the standard GNU/Linux tools are also available: make,
module avail autoconf, awk, sed, Perl, Python,
Show All Versions of openmpi We support emacs, vi{m}, and nano (a pico-like editor) on
module avail openmpi the clusters. etc.
Load FFTW Only use notepad on Windows!
module load fftw If made on windows fix with dos2unix filename
Show Variables defined by FFTW
module show fftw
echo $FFTW LINK
Resources Mechanics: Usage The Scheduler Summary
CAC Intro Compile Code
2009-06-03
Mechanics: Usage
Compile Code Compiling programs
Nyx
Use: mpicc, mpiCC, mpif90 for MPI code
Use: pgcc, pgCC, pgf90 with -mp for OpenMP Code
Bighouse
Compile Code Use: icc, icpc, ifort with -lmpi for MPI code
Use: icc, icpc, ifort with -openmp for OpenMP code
Bighouse
Use: icc, icpc, ifort with -lmpi for MPI code
Use: icc, icpc, ifort with -openmp for OpenMP code
Resources Mechanics: Usage The Scheduler Summary Resources Mechanics: Usage The Scheduler Summary
PBS
1. ’man make’ Make lets you manage large bits of code. Works for all All access to the compute nodes (everything other than the
source types login node) is via the batch system
We use a system called Torque, it is derived from PBS
The batch system controls access to queues
The scheduling (Maui/Moab) system decides if and where
jobs can run
There is a single public queue: cac
There are many private queues for people who own or rent
nodes
If you don’t know use the route queue
Resources Mechanics: Usage The Scheduler Summary Resources Mechanics: Usage The Scheduler Summary
2009-06-03
Mechanics: Usage #!/bin/sh
#!/bin/sh See man qsub for all optionsExample pbs file included with example
#PBS -N mcnp-8x2 codes run
#PBS -l nodes=8:ppn=2,walltime=8:00:00
1. -N sets the job name, can not start with a number
#PBS -q route
2. -l sets the resources, walltime=HH:MM:SS or walltime=SSSSS
#PBS -M brockp@umich.edu Total number of cpus is nodes*ppn which must email -np.
#PBS -m ae 3. -q optional: which queue to submit to, use default: route
#PBS -j oe 4. -M Who to email, can be more than one address
#PBS -V 5. -m when to email a=abort, b=begin, e=end
cd ${HOME}/input2/ 6. -j optional: join STDOUT and STDERR default is to not
echo "I ran on: " 7. -V Copy submit environment to compute environtment, ALWAYS
use this
cat $PBS NODEFILE
mpirun -np 16 mcnp5.mpi i=input2 o=output2 r=restart2
Resources Mechanics: Usage The Scheduler Summary Resources Mechanics: Usage The Scheduler Summary
After you create your PBS script, you need to submit it: PBS will send an email at the start and end of your job if you use
$ qsub mcnp.q the -m and -M options in your PBS script. The email after a job
542.nyx-login.engin.umich.edu completes successfully looks like:
After you submit your script, you can check on the status of Date: Sun, 30 Apr 2006 12:50:17 -0400
From: adm <adm@nyx-login.engin.umich.edu>
your job: To: "Palen, Brock E" <brockp@umich.edu>
Subject: PBS JOB 542.nyx-login.engin.umich.edu
$ qstat -au brockp ----------------------------------------
nyx-login.engin.umich.edu:
Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time PBS Job Id: 542.nyx-login.engin.umich.edu
-------------------- -------- -------- ---------- ------ ----- --- ------ ----- - ----- Job Name: mcnp-8x2
542.nyx-login.engin. brockp short mcnp-8x2 18922 8 -- -- 08:00 R 00:00 Execution terminated
Exit_status=0
$ checkjob 542 resources_used.cput=13:17:26
[... lots of output ...] resources_used.mem=1220672kb
resources_used.vmem=11146704kb
resources_used.walltime=00:49:57
If you want to delete your job:
$ qdel 542
Resources Mechanics: Usage The Scheduler Summary
CAC Intro PBS Example
2009-06-03
Mechanics: Usage
PBS Example The Batch System
PBS Example Job
cd ~/cac-intro-code
nano run
Edit #PBS -M
Ctl+o
PBS Example Ctl+x
qsub run
Please be sure to edit the email address I don’t want to be getting all
your mailNano is a clone of pico
PBS Example Job
cd ~/cac-intro-code
nano run
Edit #PBS -M
Ctl+o
Ctl+x
qsub run
2009-06-03
Mechanics: Usage
Interactive Jobs The Batch System
Interactive Jobs
The CAC has cpus for jobs 15 minutes or less
These cpus can be used for testing PBS scripts and debugging code
Interactive jobs allow users to interact with the shell on a remote
node
Example
qsub -I -V -l nodes=2:ppn=2,walltime=15:00 -q cac
Resources Mechanics: Usage The Scheduler Summary Resources Mechanics: Usage The Scheduler Summary
The scheduler determines what jobs can run, when they can run,
and where. There are many factors that go into the scheduler’s
Preempt decision.
Gives fast access to lots of fast cpus Limits and Priority
Great for hundreds of short jobs Limited number jobs eligible for scheduling
Uses Private nodes Maximum number of cpus in use by one person: depends on
Read: http://cac.engin.umich.edu/resources/ queue
software/pbspreemption.html Maximum number of jobs in the queue at one time: no limit
How to use Preemption How long you’ve waited: the longer you wait, the higher your
priority
#PBS -l nodes=1:ppn=4,qos=preempt
Your recent usage (fairshare): People with less usage over the
past month will have a higher priority than those with a lot of
usage
The scheduler determines what jobs can run, when they can run,
2009-06-03
The Scheduler and where. There are many factors that go into the scheduler’s
decision.
How long you’ve waited: the longer you wait, the higher your
priority
Your recent usage (fairshare): People with less usage over the
past month will have a higher priority than those with a lot of
usage
Reservations
Advance reservations: holds nodes for users or groups
1. We can do priorities and limits in private queues as needed for those Job reservations: scheduler will reserve nodes for the next
queues. Limits on User, group, hardware in use, time of use several jobs in each queue
walltime are all options Backfill
If the reservations leave holes in the schedule, they may be
filled by short jobs that otherwise would have waited.
12
1 5
11
2 4 9
6
10
3 7
8
Resources Mechanics: Usage The Scheduler Summary Resources Mechanics: Usage The Scheduler Summary
There are several commands that can give you insight into the
scheduler’s decisions. Summary
showq — shows the state of the queue at that moment in Resources
time, showing the running jobs in order of soonest to finish to Lots of cpus
A reasonable amount of software
longest to finish; the idle jobs in order of priority; and the
Watch or subscribe to http://cac.engin.umich.edu for
blocked jobs in the order they were submitted updates
diagnose -p — shows the factors that go into computing Access
the priority for all of the idle jobs All access is via the SSH family of commands: ssh, sftp, scp
checkjob jobnumber — for idle jobs this will show why the There are lots of clients for these commands for the different
job can’t start platforms
There is no graphical access, everything is via the command
showstart jobnumber — this makes a (poor) estimate of line
when the job will start
Resources Mechanics: Usage The Scheduler Summary Resources Mechanics: Usage The Scheduler Summary
Summary Summary
Summary Con’d
News: http://cac.engin.umich.edu
Summary Cont’d RSS feed
Job Submission New of changes, outages, other pertinent piece of information
Every job needs a PBS script file Contact: cac-support@umich.edu
Two most important commands: qsub and qstat -au Questions or concerns should be sent here (not to an
uniqname individual) since this is read by six people. The odds of a quick
Job Scheduling reply are best this way.
Scheduling depends on a lot of factors, it is best to submit We aren’t parallel programmers, but we’ll do what we can to
jobs and let the scheduler optimize for their start. help.
Survey
https://www.engin.umich.edu/form/exit08_01