Author Archives: admin - Page 7

(ReqNodeNotAvail)

the power cut has been cancelled.

On the 21st of November all nodes of HPC are booked for the whole day due to potential power shutdown. So if your reservation of the nodes is falling on that day, your job may be deferred until after 21st of November.

The shorter jobs are obviously must not be deferred.
Alex Pedcenko

03 Disk Space and User Quotas

As you may be aware, we are experiencing constant disk space shortage on zeus HPC. To address this issue, the disk quotas have been introduced for user home folders. Each user is can be entitled (if space permitting) to 200 Gb of disk space. You can exceed this amount up to 1Tb for up to 7 days (grace period). After that you may no longer add files to your home folder until you clean it below original 200Gb threshold.
Remember that you should not use the HPC disk space for storing your files, please store only the files which are necessary for currently running jobs and/or post processing results etc..

For storing temporary files, job results and even submitting new jobs you can use fast scratch space here /beegfs/users/yourHPCusername

This space has no quota, but it is not backed up, so it should be only used for current jobs and projects, not for storing data!

 

You can look check how much your home folder is consuming here: http://zeus.coventry.ac.uk/space.php quotas’ status and disk usage are updated hourly.

What if I’m above the quota, but I still need my files and have no means to offload them from HPC?

At the moment we are regularly backing up the content of all /home/ folders onto external network drive (NAS drive). If you need to keep your files, which are currently in your home folder and are above the user quota and you have no means to store them anywhere else, please let me know (email me: aa3025@coventry.ac.uk) and I can disable backing up your home folder on zeus HPC. This way you will have bulk of your files already stored on the backup drive and can delete them from your zeus home folder, leaving only the files which are necessary for currently running jobs. When you delete the files from your home folder on Zeus, they will be automatically (with some delay of 1 day or so) deleted from the backup drive. So if you need to keep them, please let me know for disabling overwriting of the backup copy.

Then you can be given an access to backup drive to retrieve your files when needed.

Best Regards,
Alex Pedcenko

Partial power off on Thursday-Friday 30-31 July-2015

Hi,
due to some electric power works to be scheduled in Mezz floor server room of ECB, part of Zeus HPC (nodes zeus00-zeus71, long queue) will be shut down on Thursday, 30-July-2015 at 22:00. At the moment you can still reserve and use these nodes in the “long” queue if your job finishes before 22:00 on Thursday. If you need longer time for your job to finish, the job you submit to long queue will be placed in waiting queue until maintenance task completes (hopefully end of Friday, 31st of July).

Regards,
Alex Pedcenko

reconstructPar in multiprocessor mode

If you are using OpenFOAM parallel solvers, you may have noticed that reconstruction of the decomposed fields after the solution completes takes quite a long time, especially if you have huge number of time-steps to reconstruct. Apparently the OpenFOAM utility reconstructPar is using just one CPU-core and reconstruct time steps one-by-one in a serial fashion.

However, reconstructPar takes few command-line arguments, in particular you can specify a time step or several separate time-steps to reconstruct. This feature enables to launch several reconstructPar processes, each dedicated to the reconstruction of its own portion of time steps. Brilliant idea! We are going to send bunch of reconstructPar to the compute nodes of HPC once solution completes (I bet I’m not the first person to invent this, but I’m going to use the power of slurm:)!

So, once your solution is done, put this script preconstructPar.slurm it the case folder and submit the job on whatever number of nodes and cores you want, e.g. here I use 4 nodes and 8 cores on each (32 CPUs in total) and default queue “all”: sbatch -N4 -n32 -p all preconstructPar.slurm

The listing of the slurm script which does the job:


#!/bin/bash
#SBATCH --time=8:00:00
#SBATCH --job-name="reconstruct"
#---------------------------------------------------------------------
#PROC files will store groups of time-steps for each CPU:
rm PROC*
#---------------------------------------------------------------------
# How many CPUs we have:
NNODES=$SLURM_NTASKS #(( SLURM_JOB_NUM_NODES * $SLURM_NTASKS_PER_NODE ))
#----------------------------------------------------------------------
# Find how many time-steps there are:
Nsteps=`ls --ignore="constant" ./processor0 | wc -l`
let Nsteps=$Nsteps-1
# if number of time-steps is less then CPU's:
if [ $Nsteps -lt $NNODES ]; then
NNODES=$Nsteps
fi
echo "Nsteps:" $Nsteps
#---------------------------------------------------------------------
#Checking whether Nr of timesteps divides into Nr of CPUs
let TPN=$Nsteps/$NNODES
let rem=$Nsteps%$NNODES
if [ $rem -gt 0 ] # if there is a remainder add one timestep per CPU
then
let TPN=$TPN+1
fi
let NNODES=$Nsteps/$TPN #thats how many CPUs we eventually need for fair division
#--------------------------------------------------------------------
echo " Will use $NNODES CPUs to reconstruct $TPN timesteps on each node:"
let TPN=$TPN-1 # TPN is Nr of time-staps per CPU, but we count from 0
#---------------------------------------------------------------------
node=0
i=0
#-------------- main loop along the time-steps ------------------------
for f in `ls --ignore="constant" ./processor0`
do
if [ "$f" != "0" ];then
if [ $i -eq 0 ];
then
COMA=""
else
COMA=","
fi
steps[$node]=${steps[$node]}$COMA$f
let i=$i+1
if [ $i -gt $TPN ]
then
let node=$node+1
i=0
fi
fi
done
#---------------- loop complete, print PROC files -----------------------
for ((j=0;j<=$NNODES-1; j++)) do echo ${steps[$j]} > PROCID$j # output which timesteps each CPU must use
echo ${steps[$j]}
done
#------------------------------------------------------------------------
# creating temporary bash-script for each process will pick its own portion of timesteps:
echo "#!/bin/bash" > thread.sh
chmod +x thread.sh
echo "times=`cat PROCID$SLURM_PROCID`" >> thread.sh
echo "echo "Launching on CPU $SLURM_PROCID the times $times">>debug.log " >> thread.sh
echo "reconstructPar -noZero -time $times" >> thread.sh
# Launching in parallel on $NNODES CPUs:
srun -n$NNODES thread.sh
#------------------ clean up the rubbish after all done --------------------
rm -f PROC*
rm -f thread.sh

You can now check on which CPUs the processes are actually running by doing:
squeue
to see on which nodes your reconstruction job is running. Say “zeus[200-217]”. Then we can check for reconstructPar processes on these nodes:
pdsh -w zeus[200-217] ps aux | grep reconstruct | dshbak
Where the list of nodes “zeus[200-217]” is taken from the output of squeue command (see above).

You must see something like:

[aa3025@zeus2 Rayleigh2]$ pdsh -w zeus[200-217] ps aux | grep reconstruct | dshbak
----------------
zeus200
----------------
aa3025 52682 99.9 17.2 8925884 8523252 ? R 09:37 4:19 reconstructPar -noZero -time 0.5
aa3025 52683 100 16.8 8925884 8327192 ? R 09:37 4:20 reconstructPar -noZero -time 10
aa3025 52684 100 17.0 8925884 8441992 ? R 09:37 4:20 reconstructPar -noZero -time 1
----------------
zeus201
----------------
aa3025 21405 99.7 17.4 8925884 8599528 ? R 09:37 4:20 reconstructPar -noZero -time 11
aa3025 21406 99.7 17.2 8925884 8540500 ? R 09:37 4:20 reconstructPar -noZero -time 10.5
aa3025 21407 99.6 17.3 8925884 8578924 ? R 09:37 4:20 reconstructPar -noZero -time 11.5
----------------
zeus202
----------------
aa3025 14981 99.5 17.3 8925884 8549820 ? R 09:37 4:19 reconstructPar -noZero -time 12.5
aa3025 14982 99.6 17.3 8925884 8557780 ? R 09:37 4:20 reconstructPar -noZero -time 12
aa3025 14983 99.6 17.1 8925884 8476252 ? R 09:37 4:19 reconstructPar -noZero -time 13
----------------
zeus203
........ etc

Enjoy the speed of reconstruction!

Alex Pedcenko

Zeus running out of space, please clean up!

link to the space consumption by users: http://zeus/space.php

Thank you,
Alex

‘Spit of Satan’ solar flare captured in NASA’s stunning ….

http://www.mirror.co.uk/news/technology-science/science/spit-satan-solar-flare-captured-5980001

1434591002-He.jpg

 

 

 

 

 

 

 

 

You can see the “Spit” on my capture sequences here:

07 Midnight Commander for the Rescue of a Novice Linux User

If you just starting with Linux command line, the “Midnight Commander” file manager will be quite helpful for you to ease few simple tasks. You can launch it with a command mc You will see something like this:

mc-panels

 

The interface of “mc” are two panels with content of any 2 folders you navigate to. To switch between the panels (left/right) use TAB key on your keyboard. You can also use mouse if your ssh-session is capable of this. MC allows to do following things (key to execute in brackets, “F” refers to “function” keys – top row on your keyboard):

  1. Navigate through files and folders (just select folder you want to go with arrows and press [ENTER]). To go “up” one folder select “..” on top of the folder listing and press [ENTER].
  2. To select multiple files/folders on current panel use “Ins/0” key on your NUMPAD (small numericl panel on the right of the keyboard) panel. NumLock must be OFF!
  3. Select All files in folder (“+ and then Enter”). Can also select files of certain extension in the same way.
  4. View content of a file: select file and press (F3)
  5. Edit file: select file and press (F4)
  6. Copy file or folder from one folder to another (i.e. from one panel to the opposite): select file or folder and press (F5)
  7. Move files/folders (select and press F6)
  8. Make new folder in the current folder/panel: F7
  9. Delete file/folder: select file or folder you want to delete and press (F8) [ cannot be undone ]
  10. (F9) go into top menus if you do not have mouse functionality, navigate through using arrows.
  11. (F10) exits MC.

You can still use “mc” session as a command line session: just press Ctrl+O to toggle between command line and mc panels. If you start typing while in panel mode, the command appears underneath the panels. Press Enter to execute it in the currently active panel of mc. Typing “exit” will close mc. Type “cd” {ENTER} to change to the top of your home folder. Type “cd foldername” to change to the “foldername” (sometimes it is faster than using “arrows/PgUp/PgDown”  keys.

While in one of the panels try pressing (F2) you will see what you can do with currently selected file or folder (the most useful is compress). MC can also decompress various archives (zip/rar/tar/gzip/z… etc). Just select the achieve and press [ENTER] – it will show its content. Select the files you want to de-compress and copy them to the opposite panel.

If you going to use MC you will find much more features soon and wont be able to work in command line without it.

regards,

Alex Pedcenko

 

 

 

 

01 Connecting to HPC

OK, you’ve got an HPC account, what next?

If you have got the HPC account (on either zeus or pluto HPC), the first thing you need to do is to change your temporary password. For this, you need to log in to HPC terminal/console with your temporary password and issue the command passwd.

This can be done by establishing SSH connection with one of the HPC headnodes (either zeus.coventry.ac.uk or pluto.coventry.ac.uk depending on which HPC you have the account on). SSH is a secure shell protocol used to login to remote computers via command line. There are few ssh-client apps allowing you to do this.

Connecting in console with secure shell (ssh)

To do that you will need ssh-client software. The possibilities are:

  • Windows “native” ssh client (command line). If you have relatively recent copy of Windows 10, just open command window (Winkey+R: cmd.exe, Enter)
  • If you are using Linux or Mac computer you already have native ssh client.

In either of these cases just open a terminal and type

ssh yourhpcusername@zeus.coventry.ac.uk

or if you are using pluto HPC:

ssh yourhpcusername@pluto.coventry.ac.uk

Using PuTTY as ssh-client

PuTTY free ssh client (also available from AppsAnywhere https://appsanywhere.coventry.ac.uk), or can be downloaded and installed on your desktop PC e.g. from https://www.chiark.greenend.org.uk/~sgtatham/putty/. The documentation for using PuTTY can be found at http://www.chiark.greenend.org.uk/~sgtatham/putty/docs.html

Using Google Chrome as ssh-client

You can install ssh extension for both Google Chrome or MS Edge browsers:

Secure Shell – Chrome Web Store (google.com)

Using Windows 10 Linux subsystem (WSL) apps

Since recently you can install mini Linux distribution on your Windows 10 PC. What you need is to first install optional Windows component (Control Panel -> Programs -> Turn Windows Features on/off -> Windows Subsystem for Linux (WSL)). Once that done, reboot your PC, then go to Windows App store and get some Linux distro you are familiar with: Ubuntu, Debian etc and install it. Launch it, and you will be brought to full-functional Linux terminal, where you can install standard Linux console applications (for sure you may need “openssh-client” (Ubuntu) or “ssh” (Debian), e.g. for Ubuntu do “apt update; apt install openssh-client”). It is usefull to set up your WSL username the same as on HPC (saves time entering it all the time upon each ssh connection).

Connecting to the Desktop of HPC with VNC session (Remote Desktop like)

If you want to have a “Desktop” experience on HPC, once you have changed your temporary HPC password, you can use this way for VNC jobs/connection, see here : VNC jobs GUI HPC VNC jobs for Windows Clients | EEC High Performance Computing (coventry.domains)


Alex Pedcenko

Power failure 25 Feb 2015

It seems there was a power failure at approx. 4:00 on 25/02/2015 in EC3-21 comms room. All nodes zeus[1-4,20-91,15,200-217] as well as file servers serving /home and /share directories went offline.

Some jobs in “long” queue continued to run. Check their status as a /home file system wasn’t accessible from 4:00…~11:00.

Regards,
Alex

Zeus HPC

 

Zeus HPC consist of 4 login nodes (zeus[1-4]), 2 file servers (zeus[5-6], 15 Tb each), 2 backup machines and following compute nodes separated in different categories:

New (2016) Broadwell CPU based nodes:

  • 56 nodes with 2 x Intel(R) Xeon(R) Broadwell CPUs E5-2683 v4 @ 2.10GHz (32 CPU-cores/node) 128Gb RAM/node:   SLURM “–constraint=broadwell”

Amongst these 56 Broadwell nodes, there are

  • 10 nodes with 2 x Intel(R) Xeon(R) Broadwell CPUs E5-2683 v4 @ 2.10GHz (32 CPU-cores/node) 128Gb RAM/node + 2x NVidia Kepler K80 GPUs/node:  SLURM “–constraint=k80″
  • 2 nodes  with 2xIntel(R) Xeon(R) CPU E5-2683 v4 @ 2.10GHz (32 CPU-cores/node) 128Gb RAM + Xeon Phi coprocessor SE10/7120: SLURM “–constraint=phi”

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

In order to use Zeus HPC you need:

  • have a user account (apply my e-mailing Alex Pedcenko — aa3025(at)coventry.ac.uk).
  • connect to Zeus with ssh-session (see below the section “Connecting to HPC“)>
  • write or upload your code/executable/files/model etc via ssh/sftp (i.e. WinSCP under Windows, “scp” under Linux/Mac)
  • submit your job to one of the queues of Zeus (see below section SLURM)

In order to use compute nodes of Zeus to run your executable, code, or whatever software, you have to submit a job to the queue. This is done via SLURM queue manager, namely:

  • writing slurm job submission script
  • submitting the script to the queue (i.e. with “sbatch” command)
css.php