PBS Job scheduling for Linux clusters
|
|
|
- Beverly Hector McDonald
- 10 years ago
- Views:
Transcription
1 PBS Job scheduling for Linux clusters 1 Presentation overview Introduction to using PBS Obtaining and installing PBS PBS configuration Parallel jobs and PBS The MAUI scheduler The mpiexec parallel job launcher 2
2 Users working model What we want users to do: Prepare programs Understand resource requirements of their programs Submit a request to run a program (job), specifying resource requirements, to a referee, a system program which will execute them in the future, according to the site policy, to best satisfy the site production needs We can control the referee program (batch system) => we have (potentially) full control on the workload of our machine 3 Portable Batch System Overview/1 PBS from MRJ Technology Solutions (Veridian Corporation). This Pachage was developed by MRJ for the NAS Facility at NASA Ames Research Center; it s successor of the venerable NQS packages, which was also developed at NASA Aimes PBS is software system for managing system resources on workstations,smp systems, MPPs, and vector supercomputers. Developed with the intent to conform with the POSIX Batch Environment Standard 4
3 Portable Batch System Overview/2 Available for everything that is UNIX-like Today PBS is the most widely used in Linux Cluster environments Two branches: OpenPBS (Open and Free - latest version is ) and PBSpro, supported by Veridian, with some more features. We will use the term PBS to indicate the Open version, but almost everything can be applied to the commercial one 5 How PBS Handles a Job User determines resource requirements for a job and writes a batch script User submits job to PBS with the qsub command PBS places the job into a queue based on its resource requests and runs the job when those resources become available The job runs until it either completes or exceeds one of its resource request limits PBS copies the job s output into the directory from which the job was submitted and optionally notifies the user via that the job has ended 6
4 Determining Job Requirements For single CPU jobs, PBS needs to know at least two resource requirements: CPU time Memory For multiprocessor parallel jobs, PBS also needs to know how many nodes/cpu are required Other things to consider: Job name? Where to put standard output adn error output? Should the system when the job completes? 7 PBS job scripts /1 A PBS job script is just a regular shell script with some comments (the ones starting with #PBS) which are meaningful to PBS. These comments are used to specify properties of the job. PBS job script always start in your home directory, $HOME. If you need to work in another directory, your job script will need to cd to there PBS jobs have all characteristics of a tipical UNIX session associated with them A login procedure stdin, stdout, stderr 8
5 Useful PBS options: PBS Job scripts /2 -l mem=n[kmg] (request N [kilo mega giga] bytes of memory) -l cput=hh:mm:ss (max CPU time per job request) -l walltime=hh:mm:ss (max wall clock time per job request) -l nodes=n:ppn=m (request N nodes with M processors per node) -I (run as an interactive job) -N jobname (name the job jobname) -S shell (use shell instead of your login shell to interprete the batch script) -q queue (explicitely request a batch destination queue) -o outfile (redirect standard output to outfile) -e errfile (redirectstandard error to errfile) -j oe (combine stdout and stderr together) -m e (mail the userwhen the job completes) 9 PBS script file example Here is a simple batch job: [cluster]$ cat xyz.job #PBS -1 cput=40:00:00 #PBS -1 mem=36mb #PBS -1 nodes=1:ppn=1 #PBS -N xyz #PBS -j oe #PBS -S /bin/ksh cd $HOME/Beowu1f/xyz/ /usr/bin/time./mybin > xyz.out This job asks for one CPU on one node, 36MB of memory, and 40 hours Of CPU time. Its name is xyz". 10
6 Submitting a job Use the qsub command: [cluster]$ qsub xyz.job Options can also be specified on the command line: qsub [-a date_time] [-A account_string] [-c interval] [-C directive_prefix] [-e path] [-h] [-I] [-j join] [-k keep] [-l resource_list] [-m mail_options] [-M user_list] [-N name] [-o path] [-p priority] [-q destination] [-r c] [-S path_list] [-u user_list] [-v variable_list] [-V] [- W additional_attributes] [-z] [script] 11 Monitoring a job Use the qstat command. qstat let you monitor the job status (and not only!) in various ways. qstat [-f] [-W site_specific] [ job_identifier... destination... ] qstat [-a -i -r] [-u user] [-n] [-s] [-G -M] [-R] [job_id... destination...] Some interesting options are: -f Specifies that a full status display be written to standard out. -a "All" jobs are displayed in the alternative format. -n In addition to the basic information, nodes allocated to a job are listed. 12
7 [cluster]$ qstat -a qstat -a example cluster.beowulf.cineca.it: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time cluster.be incpv402 dque disper.tun :00 R 02: cluster.be incpv402 dque disper.tun :00 R 02: cluster.be incpv402 dque disper.tun :00 Q cluster.be incpv402 dque disper.tun :00 Q cluster.be cmpfik50 dque s :00 R cluster.be cmpfik50 dque s :00 R 01: cluster.be cmpfik50 dque s :00 Q cluster.be incpv402 dque disper.tun :00 Q cluster.be incpv402 dque disper.tun :00 Q cluster.be cmptskz0 dque md :00 R 00: cluster.be cmpnapa2 dque glass_ :00 R 01: cluster.be cmprmk80 dque sottometti :00 R 01: cluster.be cmprmk80 dque sotto :00 R 01:09 13 qstat n example [root@cluster server_priv]# qstat -n cluster.beowulf.cineca.it: Req'd Req'd Elap Job ID Username Queue Jobname SessID NDS TSK Memory Time S Time cluster.be cmpnapa1 dque ideargy_l :00 R 05:11 node43/1+node42/1+node41/1+node40/1+node39/1+node38/1+node37/1+node30/1 +node29/0+node28/0+node26/0+node25/0+node24/0+node23/0+node22/0+node20/ cluster.be cmprmk80 dque sottometti :00 R 04:45 node62/0+node64/0+node63/0+node61/0+node60/0+node59/0+node58/0+node57/1 +node56/1+node55/1+node54/1+node53/0+node52/ cluster.be cmprmk80 dque sotto :00 R 03:20 node64/1+node63/1+node61/1+node60/1+node59/1+node58/1+node57/0+node56/0 +node55/0+node54/0+node53/1+node52/1+node51/0 14
8 How to see queue limits qstat -Q [-f][-w site_specific] [destination...] qstat -q [-G -M] [destination...] amr0]$ qstat -Q -f Queue: dque queue_type = Execution total_jobs = 4 state_count = Transit:0 Queued:0 Held:0 Waiting:0 Running:4 Exiting:0 resources_max.walltime = 06:00:00 resources_default.walltime = 02:00:00 resources_assigned.nodect = 58 enabled = True started = True [amr0@cluster amr0]$ qstat -Q Queue Max Tot Ena Str Que Run Hld Wat Trn Ext Type dque 0 4 yes yes Execution [amr0@cluster amr0]$ qstat -q server: cluster Queue Memory CPU Time Walltime Node Run Que Lm State dque :00: E R qdel job_id Killing a job Let you remove a queued job or a running job. The job_id can be obtained from the qstat command. All users, apart from the PBS administrators, can delete only their jobs. Example: [cluster]$ qdel
9 Interactive Batch Job support PBS supports the option of an Interactive Batch Job for debugging purposes through PBS directives General limitations: qsub command reads standard input and passes the data to the job, which is connected via a pseudo tty PBS only handles standard input, output and error Compute nodes are on a private network 17 Interactive Batch Setup To run an interactive job a user would have a qsub script that only contains a preamble, for example: #PBS -N nblock #PES -j oe #PBS -l nodes=1:ppn=1 #PBS -l cput=1:00:00 #PBS -l mem=256mb Notice there are no shell script commands in the qsub script. The user would submit the script with the command: [cluster]$ qsub -I script-name The extra I flags denote interactive request. 18
10 Pitfalls to the interactive jobs Job requests are normally scheduled Users could get impatient and leave their terminal Users could forget to log out of the interactive batch shell Makes accounting challenging 19 SMP jobs At least from PBS s point of view, the only difference between a uniprocessor and an SMP job is the resource request limit -l nodes=1:ppn=n with N>1, contained in the SMP job script. This tells PBS that the job will run N processes (or threads) concurrently on one node, so PBS allocates the required CPUs for you. If you simply request a number of nodes (eg. l nodes=1), PBS will assume that you want one processor per node. 20
11 Parallel Jobs Both serial and SMP jobs run on only 1 node. However, most MPI programs should be run on more than 1 node. Here is an example of how to do that: #PBS -N nblock #PBS -j oe #PBS -l nodes=4:ppn=4 #PBS -l cput=1:00:00 #PBS -l mem=256mb cd ~/Beowulf/mpi-c mpirun.ch_gm./nblock 21 Parallel job spawning PBS provides a means by which a parallel job can spawn, monitor and control tasks on remote nodes. Unfortunately, in general, no vendor has made use of this capability spawing the tasks of a parallel job is a parallel environment duty: PVM provides one means by which a parallel job spawns processes via the pvmd daemon MPI typically has a vendor dependent method, often using rsh or rexec All of these means are outside of PBS s control!!!! PBS cannot control or monitor resource usage of the remote tasks, only the ones started by the job on Mother Superior. PBS can only make the list of allocated nodes available to the parallel job and hope that the user make use of the list and stay within the allocated nodes. The names of the allocated nodes are placed in a file in ${PBS_HOME}/aux, whose name is passed to the job in the environment variable PBS_NODEFILE. 22
12 PBS structure /1 General components A resource manager (PBS server) A scheduler (PBS scheduler) Many executors (PBS moms) Daemons communicate through TCP sockets PBS provide an API to communicate with the server and another interface to interface the moms 23 PBS structure /2 The Boss (resource manager) Suggestions Requests The Manager (scheduler) Orders!!! Some info collections The Workers (Executors) 24
13 PBS structure /3 PBS Server There is one server process It creates and receives batch jobs Modifies batch jobs Invokes the scheduler Instruct moms to execute jobs PBS Scheduler There is one scheduler process Contains the policy controlling which job is run, where and when it is run Communicates with the moms to learn about state of system Communicate with server to learn the availability of jobs PBS MOM (Machine Oriented Miniserver) One process required for each compute node Places jobs into execution Takes instruction from the server Requires that each instance have its own local file system 25 A tipical job session user 1)User submit job with qsub command 7)Server user notifying job end 2) Server place job into exec queue and ask scheduler to examine job queues scheduler server 4) Examine job queues, and eventually allocate resources for job, returning job id and resource list to server for execution 6) Mom sup. execute batch commands, monitor resource usage of child processes and report back to server 5) Server instruct Mom sup. to execute the commands section of the batch script 3) Query moms for determining available resources (memory, cpu loadl, etc.) mompool mom mom Mom superior mom mom mom mom 26
14 Obtaining PBS OpenPBS is freely available from You just have to fill in a registration form and download the tarball file. Rpm packages are available, but sources are better for configuration customization. 27 Building PBS Extract the files from tarball downloaded # mkdir /usr/local/src/pbs # cd /usr/local/src/pbs # tar xvf $PATH_OF_DOWNLOAD/OpenPBS_2_3_12.tar.gz Move into the PBS directory and run the configure script with the appropriate option, and finally run make: # cd OpenPBS_2_3_12 #./configure --prefix=/usr/local/pbs --enable-docs --with-scp --set-server-home=/var/spool/pbs # make If using RedHat 7.1, you have a compilation error due to headers location mismatch. Please substitute in <sorce-tree>/src/resmom/linux/mon_mach.c the lines: #include <linux/quota.h> #include <sys/time.h> with #include <sys/quota.h> #include <time.h> 28
15 Installing PBS /1 As root, on the master node, do: # make install Executables will be installed under the directory tree: /usr/local/pbs and the configuration files into the server home directory $PBS_HOME: /var/spool/pbs The installation directory should be shared with all of the compute nodes, either by copying or (preferably) using a shared NFS filesystem. The /usr/local/pbs/bin directory should be added to users PATH. 29 Installing PBS /2 The pbs_mom running on each compute node needs its own copy of the server_home directory tree => copy it out to all of your compute nodes. The needed directories under the $PBS_HOME tree are essentially : drwxr-xr-x 2 root root 4096 Jan 27 05:51 aux drwxr-xr-x 2 root root 4096 Dec 28 23:26 checkpoing drwxr-xr-x 2 root root 4096 Jan 27 00:16 mom_logs drwxr-x--x 3 root root 4096 Dec 28 23:27 mom_priv -rw-r--r-- 1 root root 30 Dec 28 23:26 pbs_environment -rw-r--r-- 1 root root 8 Dec 28 23:26 server_name drwxrwxrwt 2 root root 4096 Jan 27 05:51 spool drwxrwxrwt 2 root root 4096 Dec 28 23:26 undelivered Permission settings are important!! PBS as shipped assumes a consistent user name space within the set of systems which make up a PBS cluster. 30
16 Installing PBS /3 For completeness, add the following to your /etc/services file: pbs pbs_mom pbs_resmom pbs_resmom pbs_sched 15001/tcp # pbs server (pbs_server) 15002/tcp # mom to/from server 15003/tcp # mom resource management requests 15003/udp # mom resource management requests 15004/tcp # scheduler 31 PBS Server Configuring the server can be separated into two parts: Configuring the server attributes Configuring queues and their attfibutes Server is configured with the qmgr command while it is running Usage: qmgr [-c cormand] -n -c Execute a single command and exit qmgr -n No commands are executed, syntax checking only is performed Commonly used commands: set, unset, print, create, delete, quit Commands operate on three main entities server set/change server parameters node set/change properties of individual nodes queue set/change properties of individual queues 32
17 Server attributes /1 Default queue Declares the default queue to which jobs are submitted if a queue is not specified usually clusters are structured so that all jobs go first though a routing queue and then to the specific destination queue This routing queue is usually the default queue set server default_queue = routing_queue Access Control List (ACL) Hosts: a list of hosts from which jobs may be submitted set server acl_hosts = *.cineca.it set server acl_host_enable = True True=turn this feature on False=tum this feature off Users: a list of users who may submit jobs set server acl_user = wrkoo1@*,wrkoo2@*,wrkoo3@* set server acl_user_enable = True 33 Server attributes /2 Managers Defines which users at a specified host are granted batch system administration privilege set server managers = admin0l@*.cineca.it set server managers += pinky@*.cineca.it set server managers += brain@*.cineca.it Node Packing Defines the order in which multiple cpu cluster nodes are allocated to jobs True: jobs are packed into the fewest possible nodes False: jobs are scattered across the most possible nodes set server node_pack = True Query Other Nodes True: qstat allows you to see all jobs system False: qstat only allows you to see your jobs set server query_other_jobs = True 34
18 Node attributes Node creation and attributes can be entered: using the qmgr program while the server is running editing a nodes file in $PBS_HOME/server_priv/ before the server is started. The format of this file is the following: node_name [property ] [np=n] [property ] where property is a string, and N is the number of virtual processors which can be allocated on that node. Here is an example: [root@cluster server_priv]# more nodes node01 np=2 all rack01 compute cisco02 mgasma01 pos0101 myri gpfs node02 np=2 all rack01 compute cisco02 mgasma01 pos0102 myri gpfs node03 np=2 all rack01 compute cisco02 mgasma01 pos0103 myri gpfs node33 np=2 all rack02 compute cisco01 mgasma05 pos0201 myri node34 np=2 all rack02 compute cisco01 mgasma05 pos0202 myri node35 np=2 all rack02 compute cisco01 mgasma05 pos0203 myri 35 Queue structure PBS defines two types of queues Routing (route) Used to move jobs to other queues Jobs cannot execute in a routing queue Execution (execution) A job must reside in an execution queue to be eligible to run Job remains in this queue during execution Usual queue configuration One routing queue that is the entry point for all jobs Routing queue dispatches jobs to execution queues defined by cpu time and number of processors requested 36
19 PBS queue attributes Queue attributes are configured with the qmgr command while it is running Usage: qmgr Qmgr: create queue queue_name set queue queue_name attribute_name = value see man pbs_queue_attributes for a complete list of queue attributes Before queue attributes can be set, the queue must be created: create queue batch create queue short_16pe create queue long_16pe 37 Reccomended PBS queue attributes/1 Max running Controls how many jobs in this queue can run simultaneously Customize this value based on hardware resources available set queueshort_16pe max_running = 4 Max user run Controls how many jobs an individual userid can execute simultaneously across the entire server Helps prevent a single user from monopolizing system resources set queueshort_16pe max_user_run= 2 Priority Sets the priority of a queue relative to othe queues Provides a method of giving smaller jobs quicker turnaround set queueq5p128 Priority = 90 38
20 Reccomended PBS queue attributes/2 Maximum and Minimum resources Limits can be placed on various resource limits. This restricts which jobs may enter the queue based on the resources requested Usage: set queue short_16pe resources_max.resource = value Look at man pbs_resources_linux to see all resource attributes for linux: cput nodes ppn pmem maximum amount of CPU time used by all processes number of nodes to be reserved number of processors to be reserved on each node maximum amount of physical memory used by any single processes walltime maximum amount of real time during which the job can be in the running state 39 Example of PBS execution queue create queue short_16pe set queueshort_16pe queue_type = Execution set queue short_16pe Priority = 90 set queue short_16pe max_running = 8 set queue short_16pe resources_max.cput = 10:00:00 set queue short_16pe resources_max.nodect = 4 set queue short_16pe resources_max.nodes = 4:ppn=4 set queue short_16pe resources_min.nodect = 2 set queue short_16pe resources_default.cput = 05:00:00 set queue short_16pe resources_default.mem = 1900mb set queueshort_16pe resources_default.nodect= 4 set queueshort_16pe resources_default.nodes = 4:ppn=4 set queue short_16pe resources_default.vmem = 1900mb set queueshort_16pe max_user_run= 4 set queue short_16pe enabled = True set queue short_16pe started = True 40
21 PBS scheduler PBS implements the scheduler as a module, so that different sites can plug in the scheduler that meets their specific needs In the following, we will talk about the default PBS FIFO scheduler coming with the PBS distribution (also called C scheduler ) 41 Default PBS scheduler/1 Features: All jobs in a queue will be considered for execution before the next queue is examined All queues are sorted by priority Within each queue, jobs are sorted by requested CPU time (jobs can be sorted on multiple keys) Jobs which have been queued for more than 24 hours will be considered starving 42
22 Default PBS scheduler /2 Configuring the scheduler Configuration file read when scheduler is started $PBS_HOME/sched_priv/sched_config FIFO scheduler will require some customization initially, but should remain fairly static Format of config file One line for each attribute name: value { prime non-prime all } Some attributes will require a prime option If nothing is placed after the value, the default of "all" will be assigned Lines starting with a "#" will be interpreted as comments When PBS is installed, an initial sched_config is created 43 Scheduler attributes strict_fifo Controls whether jobs will be scheduled in strict FIFO order or not Type: boolean True - jobs will be run in a strict first in first out order False - jobs will be scheduled based on resource usage Help_starving_jobs Once a queuedjob has waited a certain period of time, PBS will cease running job's until the "starving job" can be run Waiting period for starving job status is defined in starv_max Type: boolean True - starving job support is enabled False - starving job support is disabled 44
23 PBS Mom Configuring the execution server (Mom) is achieved with a configuration file, which is read in at startup Configuration file location Default: $PBS_HOME/mom_priv/config You can specify a different file with the -c option when the pbs_mom daemon is started Configuration file contains two types of information: Initialization values and directives Static resources 45 Initialization Values and directives $cputmult Sets a factor used to adjust the cpu time used by a job in case it might run on systems with different cpu performance $usecp Declares which directories can be accessed with a simple cp copy instead of a remote (rcp or scp) copy. Useful for NFS home directories. $usecp cluster.beowulf.cineca.it:/u /u $clienthost Declares from which hosts pbs_mom can accept connections $clienthost cluster.beowulf.cineca.it $logevent Declares which log verbosity must be used. 511 is maximum $logevent 0x1ff 46
24 Static Resources Static resources are names and values that you assign to a given node that identify its special characteristics. The resources can be requested in the batch script if a job needs some special resource. physmem myrinet 2 Given the above definitions, jobs that want up to 2 gig of memory and 2 myrinet card "could" be scheduled on this node If a job asked for 3 myrinet interfaces it could not be scheduled on this node #PBS -1 nodes=1:myrinet=2 could be scheduled on this node #PBS -1 nodes=1:myrinet=3 could not be scheduled on this node 47 Prologue/Epilogue scripts PBS provides the ability to run a site supplied script before and/or after each job runs. This provides the capability to perform initialization or cleanup of resources. Prologue script runs prior to each job from the node where runs the Mother Superior, while Epilogue script runs after the end of each job The script names and path are $PBS_HOME/mom_priv/prologue $PBS_HOME/mom_priv/epilogue The scripts must be owned by root The scripts must have permissions root read/write/execute group & world none 48
25 Sample Epilogue script cat /var/spool/pbs/mom_priv/epilogue #!/bin/bash PBS_HOME=/var/spool/pbs echo "Begin PBS Epilogue $(date)" echo "Job ID: $1" echo "Username: $2" echo "Group: $3" echo "Job Name: $4" echo "Session: $5" echo "Limits: $6" echo "Resources: $7" echo "Queue: $8" echo "Account: $9" echo -n "Nodes: " for i in $(sort $PBS_HOME/aux/$1 uniq) do echo -n "$i " done 49 Ready to run Configure and start the Moms on compute nodes # pbs_mom -r Configure nodes file and start the server. For the first time, use the -t create argument to initialize the server DB # pbs_server t create Start the scheduler # pbs_sched Set server attributes and create queues Set a default queue for server qmgr> set server default_queue = your_default_queue Enable scheduling # qmgr c set server scheduling=true 50
26 PBS logs Daemon logs can be found in: $PBS_HOME/server_logs $PBS_HOME/sched_logs $PBS_HOME/mom_logs named with the YYYYMMDD naming convention. Accounting logs are found with the same naming convention in $PBS_HOME/server_priv/accounting 51 PBS accounting log example cat $PBS_HOME/server_priv/accounting/ /28/ :08:31;Q;3763.cluster.beowulf.cineca.it;queue=dque 01/28/ :08:31;S;3763.cluster.beowulf.cineca.it;user=cmptsk31 group=infmk3 jobname=opt.sh queue=dque ctime= qtime= etime= start= exec_host=node54/1+node54/0+node53/1+node53/0+node52/1+node52/0+node51/1+node 51/0+node34/1+node34/0+node33/1+node33/0+node32/1+node32/0+node31/1+node31/0 Resource_List.neednodes=node54:ppn=2+node53:ppn=2+node52:ppn=2+node51:ppn=2+n ode34:ppn=2+node33:ppn=2+node32:ppn=2+node31:ppn=2 Resource_List.nodect=8 Resource_List.nodes=8:ppn=2 Resource_List.walltime=06:00:00 01/28/ :32:18;E;3763.cluster.beowulf.cineca.it;user=cmptsk31 group=infmk3 jobname=opt.sh queue=dque ctime= qtime= etime= start= exec_host=node54/1+node54/0+node53/1+node53/0+node52/1+node52/0+node51/1+node 51/0+node34/1+node34/0+node33/1+node33/0+node32/1+node32/0+node31/1+node31/0 Resource_List.neednodes=node54:ppn=2+node53:ppn=2+node52:ppn=2+node51:ppn=2+n ode34:ppn=2+node33:ppn=2+node32:ppn=2+node31:ppn=2 Resource_List.nodect=8 Resource_List.nodes=8:ppn=2 Resource_List.walltime=06:00:00 session=26337 end= Exit_status=0 resources_used.cput=25:42:42 resources_used.mem= kb resources_used.vmem=284180kb resources_used.walltime=02:23:42 52
27 Possible Improvements The system sometimes hangs when some pbs_mom have problems => Consider applying the Sandia patch Default scheduler is an old-fashion scheduler, and lacks some feature of the newest scheduler (backfill scheduler, reservation, etc) => MAUI scheduler Default mpich library does not interface deeply with PBS, generating: Access problems Accounting inaccuracy More complex scripting for mpich host files preparation => mpiexec 53 The Sandia patch Two basic problems. From the Sandia patch documentation: 1. At every scheduling cycle, the server sends a list of MOMs to the scheduler. The scheduler tries to contact each MOM to get resource information so it can make an intelligent scheduling decision. If the MOM or the MOM's node is no longer talking, the scheduler hangs for three minutes (or whatever number of seconds it's "-a" argument specified) and then takes an alarm and exits. With the patch, it can still happen, but far less likely. 2. The second problem is that the server hangs if it tries to contact a MOM on a dead node. The solution implemented here is to use non-blocking sockets and timeout with an error 54
28 Sandia patch installation Download from: Patch is used for PBS at Cplant, but can be applied also to other sites. Just do: # cd <src_pbs_top_tree> # patch N p1 l < cplantfrpatch After that, rebuild PBS and reinstall it 55 The MAUI scheduler Developed by the MAUI supercomputing center as an alternative to the default Loadleveler scheduler in their IBM SP environment Porting has been done to support also OpenPBS Wiki Porting has been done essentially using the appropriate API provided by the batch system. 56
29 The MAUI scheduler has: The MAUI scheduler Backfill scheduling algorithm: wall clock time (=estimated job duration) is a required attribute for each job Reservations for high priority jobs More control parameters on users Commands for querying the scheduler The MAUI scheduler has NOT a very accurate documentation.. 57 Backfill algorithm /1 Backfill is a scheduling optimization which allows a scheduler to make better use of available resources by running jobs out of order. Consider this example with a 10 CPUs machine: Job1 ( priority=20 walltime=10 nodes=6 ) Job2 ( priority=50 walltime=30 nodes=4 ) Job3 ( priority=40 walltime=20 nodes=4 ) Job4 ( priority=10 walltime=10 nodes=1 ) 1) When Maui schedules, it prioritizes the jobs in the queue according to a number of factors and then orders the jobs into a 'highest priority first' sorted list. Sorted list: Job2 ( priority =50 walltime=30 nodes=4 ) Job3 ( priority =40 walltime=20 nodes=4 ) Job1 ( priority =20 walltime=10 nodes=6 ) Job4 ( priority =10 walltime=10 nodes=1 ) 58
30 Backfill algorithm /2 2) It starts the jobs one by one stepping through Time the priority list until it reaches a job which it cannot start. time X 3) All jobs and reservations possess a start time and a wallclock limit, so Maui can determine: the completion time of all jobs in the queue the earliest the needed resources will become available for the highest priority job to start (time X). which jobs can be started without delaying this job (job4). time X => Enabling backfill allows the scheduler to start other, lower-priority jobs so long as they do not delay the highest priority job, essentially filling in holes in node space. Time job1 job3 job2 CPUs 1 10 job1 job3 job2 CPUs 1 10 job4 59 Backfill algorithm results Backfill offers significant scheduler performance improvement: increased system utilization by around 20% and improved turnaround time by an even greater amount in a typical large system backfill tends to favor smaller and shorter running jobs more than larger and longer running ones: It is common to see over 90% of these small and short jobs backfilled. sites will see marked improvement in the level of service delivered to the small, short jobs and only moderate for the larger, long ones. 60
31 Change in job session scheme user MAUI commands 1)User submit job with qsub command 7)Server user notifying job end 2) Server place job into exec queue and ask scheduler to examine job queues MAUI scheduler server 4) Examine job queues, and eventually allocate resources for job, returning job id and resource list to server for execution 6) Mom sup. execute batch commands, monitor resource usage of child processes and report back to server 5) Server instruct Mom sup. to execute the commands section of the batch script 3) Query moms for determining available resources (memory, cpu loadl, etc.) mompool mom mom Mom superior mom mom mom mom 61 MAUI user commands showq Show job status and some job info showbf, showbf -v Check for immediately available CPUs and nodes checkjob job_id Check job status canceljob job_id Cancel a job, sending essentially a qdel to the pbs_server showstart job_id Show when job is scheduled to start 62
32 MAUI showq mans]$ showq ACTIVE JOBS JOBNAME USERNAME STATE PROC REMAINING STARTTIME 3698 cmprmk80 Running 13 0:46:13 Sat Jan 26 11:23: incpv402 Running 1 1:34:44 Sat Jan 26 14:11: incpv402 Running 1 1:34:44 Sat Jan 26 14:11: cmprmkt0 Running 16 2:34:51 Sat Jan 26 13:11: cmprmk80 Running 13 3:11:27 Sat Jan 26 13:48: sisci001 Running 16 5:04:17 Sat Jan 26 15:41: cmptskz0 Running 16 5:50:33 Sat Jan 26 16:27: cmptskz0 Running 16 5:53:00 Sat Jan 26 16:29:57 8 Active Jobs 92 of 126 Processors Active (73.02%) 61 of 63 Nodes Active (96.83%) IDLE JOBS JOBNAME USERNAME STATE PROC WCLIMIT QUEUETIME 0 Idle Jobs NON-QUEUED JOBS JOBNAME USERNAME STATE PROC WCLIMIT QUEUETIME 3707 incpv402 Idle 1 4:00:00 Sat Jan 26 14:11:41 Total Jobs: 9 Active Jobs: 8 Idle Jobs: 0 Non-Queued Jobs: 1 63 MAUI showbf [amr0@cluster mans]$ showbf -v backfill window (user: 'amr0' group: 'cineca' partition: ALL) Sat Jan 26 16:37:56 34 procs available with no timelimit node node01 is available with no timelimit node node02 is unavailable because it is in state 'Busy' node node03 is unavailable because it is in state 'Busy' node node04 is unavailable because it is in state 'Busy' node node05 is unavailable because it is in state 'Busy' node node06 is unavailable because it is in state 'Busy' node node07 is unavailable because it is in state 'Busy' node node08 is unavailable because it is in state 'Busy' node node09 is unavailable because it is in state 'Busy' node node10 is unavailable because it is in state 'Busy' node node11 is unavailable because it is in state 'Busy' node node12 is unavailable because it is in state 'Busy' node node14 is unavailable because it is in state 'Busy' node node15 is unavailable because it is in state 'Busy' node node16 is unavailable because it is in state 'Busy' node node17 is unavailable because it is in state 'Busy' node node19 is unavailable because it is in state 'Busy' node node20 is available with no timelimit 64
33 [sisci001]$ checkjob 3713 MAUI checkjob State: Running (User: sisci001 Group: sissa Account: [NONE]) WallTime: 2:36:54 (Limit: 6:00:00) QueueTime: Sat Jan 26 15:41:14 StartTime: Sat Jan 26 15:41:14 Total Tasks: 16 Req[0] TaskCount: 16 Partition: DEFAULT Network: [NONE] Memory >= 0 Disk >= 0 Features: [NONE] Opsys: [NONE] Arch: [NONE] Class: [dque 1] Allocated Nodes: [node19:2][node17:2][node16:2][node15:2] [node14:2][node12:2][node11:2][node10:2] IWD: [NONE] Executable: [NONE] QOS: DEFAULT Bypass: 0 StartCount: 1 Partition Mask: [ALL] Flags: RESTARTABLE Reservation '3713' (-0:57:42 -> 5:02:18 Duration: 6:00:00) PE: StartPriority: MAUI showstart [amr0@cluster amr0]$ date;showstart 3827 Tue Jan 29 16:11:55 CET 2002 job 3827 requires 16 procs for 6:00:00 Earliest start is in 0:06:12 on Tue Jan 29 16:18:04 Earliest Completion is in 6:06:12 on Tue Jan 29 22:18:04 Best Partition: DEFAULT 66
34 MAUI administration commands checknode node_name Check node status diagnose, diagnose -p Show diagnostic info regarding various aspects, in particular jobs and job priorities showstats Show MAUI statistics showgrid stat_type Show a text-based table of MAUI statistics relative to stat_type 67 MAUI checknode # checknode node01 State: Busy Opsys: DEFAULT Arch: linux Configured Resources: Procs: 2 Mem: 896 Swap: 2028 Disk: 1 Utilized Resources: Procs: 2 Swap: 498 Dedicated Resources: Procs: 2 Speed: 1.00 Load: Frame:Slot: 1:1 Partition: DEFAULT Network: [DEFAULT] Features: [all][rack01][compute][cisco02][mgasma01][pos0101][myri][gpfs] Classes: [dque 2:2] node has been in current state for 0:00:00 Reservations: Job '3833'(x2) -4:24:00 -> 1:36:00 (6:00:00) Total Time: 16:03:30:36 Up: 16:02:38:20 (99.78%) Busy: 4:04:23:02 (25.90%) job '3833' running on node for 4:24:00 68
35 Maui diagnose acorso01]# diagnose -p diagnosing job priority information (partition: ALL) Job PRIORITY* Cred( User) Serv(QTime:XFctr) Weights ( 1) 1( 2: 100) ( 0.0) 100.0(645.2:189.6) ( 0.0) 100.0(190.2:126.4) ( 0.0) 100.0(165.4:123.0) ( 0.0) 100.0(112.5:115.6) ( 0.0) 100.0( 55.8:107.7) ( 0.0) 100.0( 32.0:104.4) Percent Contribution ( 0.0) 100.0( 61.0: 39.0) * indicates system prio set on job 69 MAUI showstats [root@cluster acorso01]# showstats Maui running for 0:01:44 stats initialized on Fri Jan 11 16:01:36 Eligible/Idle Jobs: 6/25 (24.000%) Active Jobs: 7 Successful/Completed Jobs: 1150/1150 ( %) Avg/Max QTime (Hours): 1.80/34.21 Avg/Max XFactor: 0.00/32.76 Dedicated/Total ProcHours: / (81.586%) Current Active/Total Procs: 112/118 (94.915%) Avg WallClock Accuracy: % Avg Job Proc Efficiency: % Est/Avg Backlog (Hours): 12.87/
36 MAUI showgrid # showgrid JOBCOUNT Job Count (jobs) [ PROCS ][ 0:15:00 ][ 0:30:00 ][ 1:00:00 ][ 2:00:00 ][ 4:00:00 ][ 8:00:00 ][ TOTAL ] [ 1 ][ 90 ][ 14 ][ 1 ][ 74 ][ 100 ][ ][ 279 ] [ 2 ][ 70 ][ 66 ][ 6 ][ 15 ][ 68 ][ ][ 225 ] [ 4 ][ 10 ][ 36 ][ 2 ][ 18 ][ 9 ][ ][ 75 ] [ 8 ][ 12 ][ 26 ][ 9 ][ 9 ][ 65 ][ ][ 121 ] [ 16 ][ 4 ][ 13 ][ 3 ][ 7 ][ 321 ][ ][ 348 ] [ 32 ][ ][ 1 ][ ][ 5 ][ 49 ][ ][ 55 ] [ 64 ][ ][ ][ ][ ][ ][ ][ 19 ] [ 128 ][ ][ ][ ][ ][ ][ ][ 28 ] [ TOTAL ][ 186 ][ 158 ][ 23 ][ 157 ][ 626 ][ ] Total Jobs: MAUI installation /1 Download from From the MAUI-PBS Integration Guide : Maui drives PBS via the PBS scheduling API. To enable Maui scheduling, the following steps must be taken: 1) Install PBS keeping track of the PBS target directory, $PBSTARGDIR 2) Install MAUI Become root (this is not necessary indeed but following configurations will be easier) Extract MAUI sources from the distribution tarball file. cd into the maui-<x> directory run./configure, specifying the PBS target directory when queried (Maui requires a few PBS libraries and include files to enable the PBS scheduling interface) 72
37 MAUI installation /2 If you have a non-standard PBS installation, You may need to modify src/makefile and change PBSIP and PBSLP values and references as necessary for your local site configuration. 3) Configure PBS make $MAUIADMIN a PBS admin. Maui communicates with both pbs_server and pbs_mom daemons. The $MAUIADMIN should be authorized to talk to both PBS daemons.if you installed MAUI as root, no configuration changes are necessary. Activate PBS scheduling with the qmgr command set server scheduling=true Seggestions: set PBS default queue qmgr c set system default_queue = <QUEUENAME> 73 MAUI configuration /1 Main config file is maui.cfg The following parameters terminate the installation: Specify PBS as the resource manager. This should be taken care of by 'configure', but if not, the following parameter must be specified in the maui.cfg file: RMTYPE[0] PBS If you have a non-standard PBS configuration, you may need to specify additional Maui parameters to point Maui to the right location: RMHOST[0] $PBSSERVERHOST RMPORT[0] $PBSSERVERPORT You can check your installation starting maui and giving a showq from the command line. 74
38 MAUI configuration /2 A template maui.cfg comes with the distribution Default server port is 42559, but can be changed with SERVERPORT <port_number> Many many parameters are available, and some are becoming rapidly obsolete with new releases Some parameters must still be set by PBS!! The only documentation repository is in and is rapidly changing A mailing list is available for users 75 Mpiexec the parallel job launcher for PBS Mpiexec is a replacement program for the script mpirun, which is part of the mpich package. It is used to initialize a parallel job from within a PBS batch or interactive environment. A few various implementations of message passing libraries are currently supported: MPICH/P4 - basic implementation of MPI over ethernet devices MPICH/GM - the above using the GM message-passing software on Myrinet 76
39 Mpiexec features Mpiexec uses the task manager library of PBS to spawn copies of the executable on (up to) all the nodes in a PBS allocation: much faster than invoking a separate rsh/ssh once for each process access problem is completely solved resources used by the spawned processes are accounted correctly with mpiexec, and reported in the PBS logs Mpiexec handles creation of the node list file, if required by the message passing library, and the shared-memory file for use on SMP nodes. It also redirects standard input and output to the shell from which it was invoked, bypassing the PBS output and error files if you choose 77 How mpiexec works server 1) The first task is spawned by the server on the mom superior mompool Mother superior 2) The first task execute mpiexec, spawning the other tasks of the parallel job by means of the moms running on the other allocated nodes mom mpiexec mom mom 78
40 Mpiexec usage Instead of mpirun.ch_gm, simply use mpiexec with the following options: mpiexec [OPTION]... executable [args]... The basic options are: -n numproc Use only the specified number of processes. Default is to use all which were provided in the pbs environment. -no-shmem (MPICH/GM and SMP only) Instruct GM not to use shared memory communications between processes on the same SMP node. Using shared memory (the default) has generally higher throughput and always lower latency, but might result in heavy cache misses. 79 Mpiexec usage examples # mpiexec a.out Run the executable a.out as a parallel mpi code on each process allocated by pbs. # mpiexec -n 2 a.out -b 4 Run the code with arguments -b 4 on only two processors. 80
41 Mpiexec installation /1 Download tarball from: Tarball contains A patch for PBS Mpiexec sources Unpack the tarball, generating a <src_mpiexec_top_tree> First of all, it s necessary to patch PBS: # cd <src_pbs_top_tree> For PBS releases >= : # patch -p1 -sne < <src_mpiexec_top_tree>/pbs mpiexec.diff Now you can rebuild PBS 81 Mpiexec installation /2 For what concerns mpiexec: # cd <src_mpiexec_top_tree> Then the usual configure script: #./configure prefix=/usr/local/bin -- with-pbs=/usr/local/pbs --withpbssrc=/usr/local/src/openpbs_2_3_12 - -with-smp-size=2 --with-mpich-gm -- with-myri-cards=1 # make # make install 82
Job Scheduling with Moab Cluster Suite
Job Scheduling with Moab Cluster Suite IBM High Performance Computing February 2010 Y. Joanna Wong, Ph.D. [email protected] 2/22/2010 Workload Manager Torque Source: Adaptive Computing 2 Some terminology..
Resource Management and Job Scheduling
Resource Management and Job Scheduling Jenett Tillotson Senior Cluster System Administrator Indiana University May 18 18-22 May 2015 1 Resource Managers Keep track of resources Nodes: CPUs, disk, memory,
Batch Systems. provide a mechanism for submitting, launching, and tracking jobs on a shared resource
PBS INTERNALS PBS & TORQUE PBS (Portable Batch System)-software system for managing system resources on workstations, SMP systems, MPPs and vector computers. It was based on Network Queuing System (NQS)
Miami University RedHawk Cluster Working with batch jobs on the Cluster
Miami University RedHawk Cluster Working with batch jobs on the Cluster The RedHawk cluster is a general purpose research computing resource available to support the research community at Miami University.
PBS + Maui Scheduler
PBS + Maui Scheduler This web page serves the following purpose Survey, study and understand the documents about PBS + Maui scheduler. Carry out test drive to verify our understanding. Design schdeuling
Quick Tutorial for Portable Batch System (PBS)
Quick Tutorial for Portable Batch System (PBS) The Portable Batch System (PBS) system is designed to manage the distribution of batch jobs and interactive sessions across the available nodes in the cluster.
SLURM: Resource Management and Job Scheduling Software. Advanced Computing Center for Research and Education www.accre.vanderbilt.
SLURM: Resource Management and Job Scheduling Software Advanced Computing Center for Research and Education www.accre.vanderbilt.edu Simple Linux Utility for Resource Management But it s also a job scheduler!
LINUX CLUSTER MANAGEMENT TOOLS
LINUX CLUSTER MANAGEMENT TOOLS Parallel Computing and Applications, Jan 7-14, 2005, IMSc, Chennai N. Sakthivel Institute for Plasma Research Gandhinagar - 382 428 [email protected] STRUCTURE OF DISCUSSION
PBS Tutorial. Fangrui Ma Universit of Nebraska-Lincoln. October 26th, 2007
PBS Tutorial Fangrui Ma Universit of Nebraska-Lincoln October 26th, 2007 Abstract In this tutorial we gave a brief introduction to using PBS Pro. We gave examples on how to write control script, and submit
Introduction to Running Hadoop on the High Performance Clusters at the Center for Computational Research
Introduction to Running Hadoop on the High Performance Clusters at the Center for Computational Research Cynthia Cornelius Center for Computational Research University at Buffalo, SUNY 701 Ellicott St
SLURM: Resource Management and Job Scheduling Software. Advanced Computing Center for Research and Education www.accre.vanderbilt.
SLURM: Resource Management and Job Scheduling Software Advanced Computing Center for Research and Education www.accre.vanderbilt.edu Simple Linux Utility for Resource Management But it s also a job scheduler!
Batch Scripts for RA & Mio
Batch Scripts for RA & Mio Timothy H. Kaiser, Ph.D. [email protected] 1 Jobs are Run via a Batch System Ra and Mio are shared resources Purpose: Give fair access to all users Have control over where jobs
Using Parallel Computing to Run Multiple Jobs
Beowulf Training Using Parallel Computing to Run Multiple Jobs Jeff Linderoth August 5, 2003 August 5, 2003 Beowulf Training Running Multiple Jobs Slide 1 Outline Introduction to Scheduling Software The
HOD Scheduler. Table of contents
Table of contents 1 Introduction... 2 2 HOD Users... 2 2.1 Getting Started... 2 2.2 HOD Features...5 2.3 Troubleshooting... 14 3 HOD Administrators... 21 3.1 Getting Started... 22 3.2 Prerequisites...
PBS Training Class Notes
PBS Training Class Notes PBS Pro Release 5.1 (Three Day Class) TM www.pbspro.com Copyright (c) 2001 Veridian Systems, Inc. All Rights Reserved. Copyright (c) 2001 Veridian Systems, Inc. All Rights Reserved.
Linux für bwgrid. Sabine Richling, Heinz Kredel. Universitätsrechenzentrum Heidelberg Rechenzentrum Universität Mannheim. 27.
Linux für bwgrid Sabine Richling, Heinz Kredel Universitätsrechenzentrum Heidelberg Rechenzentrum Universität Mannheim 27. June 2011 Richling/Kredel (URZ/RUM) Linux für bwgrid FS 2011 1 / 33 Introduction
Running applications on the Cray XC30 4/12/2015
Running applications on the Cray XC30 4/12/2015 1 Running on compute nodes By default, users do not log in and run applications on the compute nodes directly. Instead they launch jobs on compute nodes
Grid Engine Users Guide. 2011.11p1 Edition
Grid Engine Users Guide 2011.11p1 Edition Grid Engine Users Guide : 2011.11p1 Edition Published Nov 01 2012 Copyright 2012 University of California and Scalable Systems This document is subject to the
Job scheduler details
Job scheduler details Advanced Computing Center for Research & Education (ACCRE) Job scheduler details 1 / 25 Outline 1 Batch queue system overview 2 Torque and Moab 3 Submitting jobs (ACCRE) Job scheduler
8/15/2014. Best Practices @OLCF (and more) General Information. Staying Informed. Staying Informed. Staying Informed-System Status
Best Practices @OLCF (and more) Bill Renaud OLCF User Support General Information This presentation covers some helpful information for users of OLCF Staying informed Aspects of system usage that may differ
Ra - Batch Scripts. Timothy H. Kaiser, Ph.D. [email protected]
Ra - Batch Scripts Timothy H. Kaiser, Ph.D. [email protected] Jobs on Ra are Run via a Batch System Ra is a shared resource Purpose: Give fair access to all users Have control over where jobs are run Set
Hodor and Bran - Job Scheduling and PBS Scripts
Hodor and Bran - Job Scheduling and PBS Scripts UND Computational Research Center Now that you have your program compiled and your input file ready for processing, it s time to run your job on the cluster.
How To Use A Job Management System With Sun Hpc Cluster Tools
A Comparison of Job Management Systems in Supporting HPC ClusterTools Presentation for SUPerG Vancouver, Fall 2000 Chansup Byun and Christopher Duncan HES Engineering-HPC, Sun Microsystems, Inc. Stephanie
Streamline Computing Linux Cluster User Training. ( Nottingham University)
1 Streamline Computing Linux Cluster User Training ( Nottingham University) 3 User Training Agenda System Overview System Access Description of Cluster Environment Code Development Job Schedulers Running
PBSPro scheduling. PBS overview Qsub command: resource requests. Queues a7ribu8on. Fairshare. Backfill Jobs submission.
PBSPro scheduling PBS overview Qsub command: resource requests Queues a7ribu8on Fairshare Backfill Jobs submission 9 mai 03 PBS PBS overview 9 mai 03 PBS PBS organiza5on: daemons frontend compute nodes
RA MPI Compilers Debuggers Profiling. March 25, 2009
RA MPI Compilers Debuggers Profiling March 25, 2009 Examples and Slides To download examples on RA 1. mkdir class 2. cd class 3. wget http://geco.mines.edu/workshop/class2/examples/examples.tgz 4. tar
High-Performance Reservoir Risk Assessment (Jacta Cluster)
High-Performance Reservoir Risk Assessment (Jacta Cluster) SKUA-GOCAD 2013.1 Paradigm 2011.3 With Epos 4.1 Data Management Configuration Guide 2008 2013 Paradigm Ltd. or its affiliates and subsidiaries.
Maui Administrator's Guide
Overview Maui Administrator's Guide Maui 3.2 Last Updated May 16 The Maui Scheduler can be thought of as a policy engine which allows sites control over when, where, and how resources such as processors,
SGE Roll: Users Guide. Version @VERSION@ Edition
SGE Roll: Users Guide Version @VERSION@ Edition SGE Roll: Users Guide : Version @VERSION@ Edition Published Aug 2006 Copyright 2006 UC Regents, Scalable Systems Table of Contents Preface...i 1. Requirements...1
Work Environment. David Tur HPC Expert. HPC Users Training September, 18th 2015
Work Environment David Tur HPC Expert HPC Users Training September, 18th 2015 1. Atlas Cluster: Accessing and using resources 2. Software Overview 3. Job Scheduler 1. Accessing Resources DIPC technicians
The Moab Scheduler. Dan Mazur, McGill HPC [email protected] Aug 23, 2013
The Moab Scheduler Dan Mazur, McGill HPC [email protected] Aug 23, 2013 1 Outline Fair Resource Sharing Fairness Priority Maximizing resource usage MAXPS fairness policy Minimizing queue times Should
Cluster@WU User s Manual
Cluster@WU User s Manual Stefan Theußl Martin Pacala September 29, 2014 1 Introduction and scope At the WU Wirtschaftsuniversität Wien the Research Institute for Computational Methods (Forschungsinstitut
Using WestGrid. Patrick Mann, Manager, Technical Operations Jan.15, 2014
Using WestGrid Patrick Mann, Manager, Technical Operations Jan.15, 2014 Winter 2014 Seminar Series Date Speaker Topic 5 February Gino DiLabio Molecular Modelling Using HPC and Gaussian 26 February Jonathan
Tutorial: Using WestGrid. Drew Leske Compute Canada/WestGrid Site Lead University of Victoria
Tutorial: Using WestGrid Drew Leske Compute Canada/WestGrid Site Lead University of Victoria Fall 2013 Seminar Series Date Speaker Topic 23 September Lindsay Sill Introduction to WestGrid 9 October Drew
Using the Yale HPC Clusters
Using the Yale HPC Clusters Stephen Weston Robert Bjornson Yale Center for Research Computing Yale University Oct 2015 To get help Send an email to: [email protected] Read documentation at: http://research.computing.yale.edu/hpc-support
INF-110. GPFS Installation
INF-110 GPFS Installation Overview Plan the installation Before installing any software, it is important to plan the GPFS installation by choosing the hardware, deciding which kind of disk connectivity
Grid Engine Basics. Table of Contents. Grid Engine Basics Version 1. (Formerly: Sun Grid Engine)
Grid Engine Basics (Formerly: Sun Grid Engine) Table of Contents Table of Contents Document Text Style Associations Prerequisites Terminology What is the Grid Engine (SGE)? Loading the SGE Module on Turing
Getting Started with HPC
Getting Started with HPC An Introduction to the Minerva High Performance Computing Resource 17 Sep 2013 Outline of Topics Introduction HPC Accounts Logging onto the HPC Clusters Common Linux Commands Storage
Submitting and Running Jobs on the Cray XT5
Submitting and Running Jobs on the Cray XT5 Richard Gerber NERSC User Services [email protected] Joint Cray XT5 Workshop UC-Berkeley Outline Hopper in blue; Jaguar in Orange; Kraken in Green XT5 Overview
Grid Engine 6. Troubleshooting. BioTeam Inc. [email protected]
Grid Engine 6 Troubleshooting BioTeam Inc. [email protected] Grid Engine Troubleshooting There are two core problem types Job Level Cluster seems OK, example scripts work fine Some user jobs/apps fail Cluster
HPC at IU Overview. Abhinav Thota Research Technologies Indiana University
HPC at IU Overview Abhinav Thota Research Technologies Indiana University What is HPC/cyberinfrastructure? Why should you care? Data sizes are growing Need to get to the solution faster Compute power is
Grid 101. Grid 101. Josh Hegie. [email protected] http://hpc.unr.edu
Grid 101 Josh Hegie [email protected] http://hpc.unr.edu Accessing the Grid Outline 1 Accessing the Grid 2 Working on the Grid 3 Submitting Jobs with SGE 4 Compiling 5 MPI 6 Questions? Accessing the Grid Logging
NEC HPC-Linux-Cluster
NEC HPC-Linux-Cluster Hardware configuration: 4 Front-end servers: each with SandyBridge-EP processors: 16 cores per node 128 GB memory 134 compute nodes: 112 nodes with SandyBridge-EP processors (16 cores
Rocoto. HWRF Python Scripts Training Miami, FL November 19, 2015
Rocoto HWRF Python Scripts Training Miami, FL November 19, 2015 Outline Introduction to Rocoto How it works Overview and description of XML Effectively using Rocoto (run, boot, stat, check, rewind, logs)
LSKA 2010 Survey Report Job Scheduler
LSKA 2010 Survey Report Job Scheduler Graduate Institute of Communication Engineering {r98942067, r98942112}@ntu.edu.tw March 31, 2010 1. Motivation Recently, the computing becomes much more complex. However,
The CNMS Computer Cluster
The CNMS Computer Cluster This page describes the CNMS Computational Cluster, how to access it, and how to use it. Introduction (2014) The latest block of the CNMS Cluster (2010) Previous blocks of the
OLCF Best Practices (and More) Bill Renaud OLCF User Assistance Group
OLCF Best Practices (and More) Bill Renaud OLCF User Assistance Group Overview This presentation covers some helpful information for users of OLCF Staying informed Some aspects of system usage that may
159.735. Final Report. Cluster Scheduling. Submitted by: Priti Lohani 04244354
159.735 Final Report Cluster Scheduling Submitted by: Priti Lohani 04244354 1 Table of contents: 159.735... 1 Final Report... 1 Cluster Scheduling... 1 Table of contents:... 2 1. Introduction:... 3 1.1
Installing and running COMSOL on a Linux cluster
Installing and running COMSOL on a Linux cluster Introduction This quick guide explains how to install and operate COMSOL Multiphysics 5.0 on a Linux cluster. It is a complement to the COMSOL Installation
TORQUE Resource Manager
TORQUE Resource Manager Administrator Guide 4.2.5 September 2013 2013 Adaptive Computing Enterprises Inc. All rights reserved. Distribution of this document for commercial purposes in either hard or soft
GRID Computing: CAS Style
CS4CC3 Advanced Operating Systems Architectures Laboratory 7 GRID Computing: CAS Style campus trunk C.I.S. router "birkhoff" server The CAS Grid Computer 100BT ethernet node 1 "gigabyte" Ethernet switch
Introduction to the SGE/OGS batch-queuing system
Grid Computing Competence Center Introduction to the SGE/OGS batch-queuing system Riccardo Murri Grid Computing Competence Center, Organisch-Chemisches Institut, University of Zurich Oct. 6, 2011 The basic
NYUAD HPC Center Running Jobs
NYUAD HPC Center Running Jobs 1 Overview... Error! Bookmark not defined. 1.1 General List... Error! Bookmark not defined. 1.2 Compilers... Error! Bookmark not defined. 2 Loading Software... Error! Bookmark
Introduction to Sun Grid Engine (SGE)
Introduction to Sun Grid Engine (SGE) What is SGE? Sun Grid Engine (SGE) is an open source community effort to facilitate the adoption of distributed computing solutions. Sponsored by Sun Microsystems
Introduction to Running Computations on the High Performance Clusters at the Center for Computational Research
! Introduction to Running Computations on the High Performance Clusters at the Center for Computational Research! Cynthia Cornelius! Center for Computational Research University at Buffalo, SUNY! cdc at
How To Run A Cluster On A Linux Server On A Pcode 2.5.2.2 (Amd64) On A Microsoft Powerbook 2.6.2 2.4.2 On A Macbook 2 (Amd32)
UNIVERSIDAD REY JUAN CARLOS Máster Universitario en Software Libre Curso Académico 2012/2013 Campus Fuenlabrada, Madrid, España MSWL-THESIS - Proyecto Fin de Master Distributed Batch Processing Autor:
Hack the Gibson. John Fitzpatrick Luke Jennings. Exploiting Supercomputers. 44Con Edition September 2013. Public EXTERNAL
Hack the Gibson Exploiting Supercomputers 44Con Edition September 2013 John Fitzpatrick Luke Jennings Labs.mwrinfosecurity.com MWR Labs Labs.mwrinfosecurity.com MWR Labs 1 Outline Introduction Important
Running on Blue Gene/Q at Argonne Leadership Computing Facility (ALCF)
Running on Blue Gene/Q at Argonne Leadership Computing Facility (ALCF) ALCF Resources: Machines & Storage Mira (Production) IBM Blue Gene/Q 49,152 nodes / 786,432 cores 768 TB of memory Peak flop rate:
IBM LoadLeveler for Linux delivers job scheduling for IBM pseries and IBM xseries platforms running Linux
Software Announcement May 11, 2004 IBM LoadLeveler for Linux delivers job scheduling for IBM pseries and IBM xseries platforms running Linux Overview LoadLeveler for Linux is a versatile workload management
Deploying LoGS to analyze console logs on an IBM JS20
Deploying LoGS to analyze console logs on an IBM JS20 James E. Prewett The Center for High Performance Computing at UNM (HPC@UNM) 1 Introduction In early 2005, The Center for High Performance Computing
Parallel Debugging with DDT
Parallel Debugging with DDT Nate Woody 3/10/2009 www.cac.cornell.edu 1 Debugging Debugging is a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece
LoadLeveler Overview. January 30-31, 2012. IBM Storage & Technology Group. IBM HPC Developer Education @ TIFR, Mumbai
IBM HPC Developer Education @ TIFR, Mumbai IBM Storage & Technology Group LoadLeveler Overview January 30-31, 2012 Pidad D'Souza ([email protected]) IBM, System & Technology Group 2009 IBM Corporation
1.0. User Manual For HPC Cluster at GIKI. Volume. Ghulam Ishaq Khan Institute of Engineering Sciences & Technology
Volume 1.0 FACULTY OF CUMPUTER SCIENCE & ENGINEERING Ghulam Ishaq Khan Institute of Engineering Sciences & Technology User Manual For HPC Cluster at GIKI Designed and prepared by Faculty of Computer Science
How to Run Parallel Jobs Efficiently
How to Run Parallel Jobs Efficiently Shao-Ching Huang High Performance Computing Group UCLA Institute for Digital Research and Education May 9, 2013 1 The big picture: running parallel jobs on Hoffman2
Job Scheduling Explained More than you ever want to know about how jobs get scheduled on WestGrid systems...
Job Scheduling Explained More than you ever want to know about how jobs get scheduled on WestGrid systems... Martin Siegert, SFU Cluster Myths There are so many jobs in the queue - it will take ages until
TORQUE Administrator s Guide. version 2.3
TORQUE Administrator s Guide version 2.3 Copyright 2009 Cluster Resources, Inc. All rights reserved. Trademarks Cluster Resources, Moab, Moab Workload Manager, Moab Cluster Manager, Moab Cluster Suite,
Biowulf2 Training Session
Biowulf2 Training Session 9 July 2015 Slides at: h,p://hpc.nih.gov/docs/b2training.pdf HPC@NIH website: h,p://hpc.nih.gov System hardware overview What s new/different The batch system & subminng jobs
Spectrum Technology Platform. Version 9.0. Spectrum Spatial Administration Guide
Spectrum Technology Platform Version 9.0 Spectrum Spatial Administration Guide Contents Chapter 1: Introduction...7 Welcome and Overview...8 Chapter 2: Configuring Your System...9 Changing the Default
Cobalt: An Open Source Platform for HPC System Software Research
Cobalt: An Open Source Platform for HPC System Software Research Edinburgh BG/L System Software Workshop Narayan Desai Mathematics and Computer Science Division Argonne National Laboratory October 6, 2005
SLURM Workload Manager
SLURM Workload Manager What is SLURM? SLURM (Simple Linux Utility for Resource Management) is the native scheduler software that runs on ASTI's HPC cluster. Free and open-source job scheduler for the Linux
Setting up PostgreSQL
Setting up PostgreSQL 1 Introduction to PostgreSQL PostgreSQL is an object-relational database management system based on POSTGRES, which was developed at the University of California at Berkeley. PostgreSQL
Efficient cluster computing
Efficient cluster computing Introduction to the Sun Grid Engine (SGE) queuing system Markus Rampp (RZG, MIGenAS) MPI for Evolutionary Anthropology Leipzig, Feb. 16, 2007 Outline Introduction Basic concepts:
MOSIX: High performance Linux farm
MOSIX: High performance Linux farm Paolo Mastroserio [[email protected]] Francesco Maria Taurino [[email protected]] Gennaro Tortone [[email protected]] Napoli Index overview on Linux farm farm
Submitting batch jobs Slurm on ecgate. Xavi Abellan [email protected] User Support Section
Submitting batch jobs Slurm on ecgate Xavi Abellan [email protected] User Support Section Slide 1 Outline Interactive mode versus Batch mode Overview of the Slurm batch system on ecgate Batch basic
Installing, Uninstalling, and Upgrading Service Monitor
CHAPTER 2 Installing, Uninstalling, and Upgrading Service Monitor This section contains the following topics: Preparing to Install Service Monitor, page 2-1 Installing Cisco Unified Service Monitor, page
Embedded Event Manager Commands
This module describes the commands that are used to set the Embedded Event Manager (EEM) operational attributes and monitor EEM operations. The Cisco IOS XR software EEM functions as the central clearing
Grid Engine. Application Integration
Grid Engine Application Integration Getting Stuff Done. Batch Interactive - Terminal Interactive - X11/GUI Licensed Applications Parallel Jobs DRMAA Batch Jobs Most common What is run: Shell Scripts Binaries
RecoveryVault Express Client User Manual
For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by
HP POLYSERVE SOFTWARE
You can read the recommendations in the user guide, the technical guide or the installation guide for HP POLYSERVE SOFTWARE. You'll find the answers to all your questions on the HP POLYSERVE SOFTWARE in
An Introduction to High Performance Computing in the Department
An Introduction to High Performance Computing in the Department Ashley Ford & Chris Jewell Department of Statistics University of Warwick October 30, 2012 1 Some Background 2 How is Buster used? 3 Software
New High-performance computing cluster: PAULI. Sascha Frick Institute for Physical Chemistry
New High-performance computing cluster: PAULI Sascha Frick Institute for Physical Chemistry 02/05/2012 Sascha Frick (PHC) HPC cluster pauli 02/05/2012 1 / 24 Outline 1 About this seminar 2 New Hardware
Online Backup Linux Client User Manual
Online Backup Linux Client User Manual Software version 4.0.x For Linux distributions August 2011 Version 1.0 Disclaimer This document is compiled with the greatest possible care. However, errors might
Installation Manual v2.0.0
Installation Manual v2.0.0 Contents ResponseLogic Install Guide v2.0.0 (Command Prompt Install)... 3 Requirements... 4 Installation Checklist:... 4 1. Download and Unzip files.... 4 2. Confirm you have
Support Notes for SUSE LINUX Enterprise Server 9 Service Pack 3 for the Intel Itanium 2 Processor Family
Support Notes for SUSE LINUX Enterprise Server 9 Service Pack 3 for the Intel Itanium 2 Processor Family *5991-5301* Part number: 5991-5301 Edition: 3, E0406 Copyright 2006 Hewlett-Packard Development
Online Backup Client User Manual
For Linux distributions Software version 4.1.7 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have been introduced caused by human mistakes or by
Job Scheduler Daemon Configuration Guide
Job Scheduler Daemon Configuration Guide A component of Mark Dickinsons Unix Job Scheduler This manual covers the server daemon component of Mark Dickinsons unix Job Scheduler. This manual is for version
Online Backup Client User Manual
Online Backup Client User Manual Software version 3.21 For Linux distributions January 2011 Version 2.0 Disclaimer This document is compiled with the greatest possible care. However, errors might have
Notes on the SNOW/Rmpi R packages with OpenMPI and Sun Grid Engine
Notes on the SNOW/Rmpi R packages with OpenMPI and Sun Grid Engine Last updated: 6/2/2008 4:43PM EDT We informally discuss the basic set up of the R Rmpi and SNOW packages with OpenMPI and the Sun Grid
Running a Workflow on a PowerCenter Grid
Running a Workflow on a PowerCenter Grid 2010-2014 Informatica Corporation. No part of this document may be reproduced or transmitted in any form, by any means (electronic, photocopying, recording or otherwise)
EPiServer Operator's Guide
EPiServer Operator's Guide Abstract This document is mainly intended for administrators and developers that operate EPiServer or want to learn more about EPiServer's operating environment. The document
Batch Scheduling: A Fresh Approach
Batch Scheduling: A Fresh Approach Nicholas P. Cardo, Sterling Software, Inc., Numerical Aerodynamic Simulation Facility, NASA Ames Research Center, Moffett Field, CA ABSTRACT: The Network Queueing System
Tivoli Access Manager Agent for Windows Installation Guide
IBM Tivoli Identity Manager Tivoli Access Manager Agent for Windows Installation Guide Version 4.5.0 SC32-1165-03 IBM Tivoli Identity Manager Tivoli Access Manager Agent for Windows Installation Guide
Installation and Deployment
Installation and Deployment Help Documentation This document was auto-created from web content and is subject to change at any time. Copyright (c) 2016 SmarterTools Inc. Installation and Deployment SmarterStats
