Cluster Overview: Difference between revisions

From T2B Wiki
Jump to navigation Jump to search
Line 174: Line 174:
=== Job management ===
=== Job management ===


To see all jobs (running / queued), you can use the '''qstat''' command, or go to the [http://mon.iihe.ac.be/jobview/overview.html JobView] page to have a summary of what's running.
To see all jobs (running / queued), you can use the '''qstat''' command, or go to the [https://jobview.iihe.ac.be/ JobView] page to have a summary of what's running.
<pre>qstat
<pre>qstat
</pre>  
</pre>  
Line 186: Line 186:


<br>
<br>


=== Job Statistics ===
=== Job Statistics ===

Revision as of 12:45, 5 February 2020

Overview

The cluster is composed 3 groups of machines :

  • The User Interfaces (UI)
This is the cluster front-end, to use the cluster, you need to log into those machines
Servers : mshort [ m0 , m1 , m2 , m3 ] , mlong [ m5 , m6 , m7 , m8 , m9 ]
The File Server provides the user home on the UIs. It is a highly efficient & redundant storage node of ~120 TB capacity with regular backups.


  • The Computing Machines :
    • The Computing Element (CE): This server is the brain of the batch system : it manages all the submitted jobs, and send them to the worker nodes.
Servers : cream02
  • The Worker Nodes (WN): This is the power of the cluster : they run multiple jobs in parallel and send the results & status back to the CE.
Servers : nodeXX-YY


  • The Mass Storage
    • The Storage Element: it is the brain of the cluster storage. Grid accessible, it knows where all the files are, and manages all the storage nodes.
Server : maite
  • The Storage Nodes: This is the memory of the cluster : they contain big data files. In total, they provide ~5100 TB of grid-accessible storage.
Servers : beharXXX


How to Connect

To connect to the cluster, you need to have sent us your public ssh key. In a terminal, type the following:

ssh -X -o ServerAliveInterval=100 username@mshort.iihe.ac.be
Tip: the -o ServerAliveInterval=100 option is used to keep your session alive for a long period of time ! You should not be disconnected during a whole day of work.

After a successful login, you'll see this message :


         @@@@@@@@     @@@@             @@@@@     @@@@@@@
            @@       @    @            @@   @    @@
            @@            @    @@@@    @@@@@     @@@@
            @@         @@              @@    @   @@@@
            @@       @                 @@    @   @@
            @@       @@@@@@            @@@@@@    @@@@@@@
                              @ IIHE   

  Welcome to the t2b cluster ! You are on the following UI: m2 
You can find more info on our wiki page: http://t2bwiki.iihe.ac.be To contact us: grid_admin@listserv.vub.ac.be
Please remember this machine will allow you only 600s (10 minutes) of cpu time per processes. ________________________________________________________________________ Your Quota on /user: 43% used (282G left) There are 2 users here | Load: 7.51 /8 CPUs (2%) | Mem: 80% used


Please observe all the information in this message:

  • The wiki link, where you should go first to find the information
  • The email used for the cluster support (please use this one rather than personal mail, this way everyone on the support team can answer and track the progress.)
  • The cpu time limit imposed per process, as we divided our UIs into 2 groups.
The light task UIs (max CPU time = 10 minutes) : they are used for crab/local job submission, writing code, building debugging ...
mshort.iihe.ac.be :  m0.iihe.ac.be, m1.iihe.ac.be, m2.iihe.ac.be, m3.iihe.ac.be 
The CPU-intensive UIs (max CPU time = 5 hours) : they are available for CPU-intensive and long tasks, although you should prefer using local job submission ...
mlong.iihe.ac.be : m5.iihe.ac.be, m6.iihe.ac.be, m7.iihe.ac.be, m8.iihe.ac.be and m9.iihe.ac.be
  • The quota you have left on /user
  • Information about how heavily this UI is used. If any of them is red (ie above optimal usage), please consider using another UI. Please be mindful of other users and don't start too many processes, epsecially if the UI is already under charge.


Data Storage & Directory Structure

There are 2 main directories to store your work and data:

  • /user [/$USER] : this is your home directory. You have an enforced quota there, as it is an expensive storage with redundancy and daily backups.
  • /pnfs [/iihe/cms/store/user/$USER] : this is where you can store a large amount of data, and is also grid-accessible. If you need more than 2 TB, please contact us. THere is no backups there, so be careful of what you do !


There are other directories than you might want to take notice of:

  • /group : same as /user , but if you need to share/produce in a group.
  • /scratch : a temporary scratch space for your job. Use $TMPDIR on the WNs, it is cleanned after each job :)
  • /cvmfs : Centralised CVMFS software repository from CERN. It should contain most of the software you will need.
  • /swmgrs : local area for shared software not in /cvmfs . You can use a nice tool to find the software and versions available.


Batch System

Queues

The cluster is decomposed in queues


localgrid highmem highbw express gpu2 gpu6
Description default queue, all available nodes except express
Subgroup of localgrid with WNs having 4GB Mem / Slot
Subgroup of localgrid, subgroup of highmem, with WNs having 10Gb/s bandwidth access to storage.
Limited walltime
Has 2 NVidia Tesla M2050 GPUs / node
Has 6 NVidia Tesla M2075 GPUs / node
# CPU's (Jobs) 8984
7008
4896
16
(GPUs) 2
(GPUS) 12
Walltime limit 168 hours 30 minutes
168 hours
Memory limit 2 Gb
4 Gb
4 Gb
2 Gb
6 Gb
10 Gb
$TMPDIR/scratch max usable space 10 Gb
16 Gb
10 Gb
80 Gb
130 Gb
Max # jobs running / User 600 jobs
8 jobs
2 jobs
12 jobs
Max # jobs sent to the batch system / User 2500 jobs     (see here if you want to send more)
100 jobs
2500 jobs
2500 jobs


Job submission

To submit a job, you just have to use the qsub command :

qsub myjob.sh

OPTIONS

  • -q queueName : choose the queue you want [mandatory]
  • -N jobName : name of the job
  • -I : (capital i) pass in interactive mode
  • -m mailaddress : set mail address (use in conjonction with -m) : MUST be @ulb.ac.be or @vub.ac.be
  • -m [a|b|e] : send mail on job status change (a = aborted , b = begin, e = end)
  • -l : resources options
For instance, if you want to use 2 cores: -lnodes=1:ppn=2


If you want to send more than 2500 jobs to the cluster, write all qsub commands in a text file, and use the script big-submission (more info here).


If you use MadGraph, read this section first or you risk crashing the cluster.


If you want to use the GPUs, please read here.

Job management

To see all jobs (running / queued), you can use the qstat command, or go to the JobView page to have a summary of what's running.

qstat

OPTIONS

  • -u username : list only jobs submitted by username
  • -n : show nodes where jobs are running
  • -q : show the job repartition on queues


Job Statistics

All the log files from the batch system are synced every 30 minutes in:

/group/log/torque/

A simple script to analyze the logs and provide some statistics for the user is provided:

torque-user-info.py

Just execute it as is (it is in your $PATH, so executable from everywhere). It will print information like the following:

ID: 6077555  ExCode:   0 Mem:    0M cpuT:      0s wallT:      3s eff:  0.0%   STDIN
ID: 6077602  ExCode:   0 Mem:   50M cpuT:      0s wallT:      2s eff:  0.0%   STDIN
----------------------------------------------------------------------------------------------------------------------------------------------------------------
   user[G]	# Jobs	 <MEM> +- RMS        #HiMem  MAX Mem      <CPU time>    <walltime>    <Eff>   % WT/WT_TOT    # Jobs with Error code (% of user job)
----------------------------------------------------------------------------------------------------------------------------------------------------------------
    rougny[l]	    12	    13 +- 22    MB      0      52 MB  |  00:00:00:00  00:00:00:24  ( 0.0%) (-1.00% of tot) | # EC: 


If you want to test the batch system, you can follow the workbook here

Job Deletion

Use the following command:

qdel <JOBID>

To delete all your jobs, be patient while using the following line:

for j in $(qselect -u $USER);do timeout 3 qdel -a $j;done

Backup

There are several areas that we regularly back up: /user , /group , /data , /ice3.
You can find more information on the backup frequency and how to access them here.

Usefull links

Ganglia Monitoring : status of all our servers.
JobView Monitoring  : summary of the cluster usage.