Interactive Jobs

Interactive job is one in which you need to run a program that you will be interacting with in real time. For example you can run GUI applications in interactive mode. When you do this, you will see a window or windows displayed on your server waiting for your input and you then use the program accordingly (you interact with the program). Another reason for an interactive node is if you are compiling or testing your code. You need a shell command line on an interactive/compute node so that you can do things. The most common mistake on HPC is to run programs on the master nodes. Please don’t do that.

The master nodes are meant for very light and simple tasks. We have over 100 accounts on Vikram-100. If all 100 users (or even a fraction) were to run applications on the master node, the master node will quickly come to a halt and crash since it cannot handle that kind of work. If the master nodes crashes, nobody will be able to get on Vikram-100.

The HPC cluster has thousands of cores and it can handle a lot of work, but that work CANNOT be done on the master nodes. Heavy work is done by compute nodes and the scheduler does the work of distributing the work among the available compute nodes. Just as with batch jobs, interactive jobs can run in one of two modes.
  • Serial
  • Parallel

Interactive Serial Job

  • For jobs which do not require a graphical display (i.e command line things):
    interactive 
  • For jobs which need a graphical user interface - You need to have X forwarding configured on your client for this to work:
    Xinteractive 

Interactive Parallel Job

  • For jobs which do not require a graphical display and require e.g. 12 cores:
    interactive 12
  • For jobs which need a graphical user interface and require e.g. 12 cores:
    Xinteractive 12 
  • Here you can request anywhere from 2 to 24 cores. Although Vikram-100 has an mpi parallel environment, it is recommended / requested not go into that with interactive jobs and to keep number of CPU cores less than 24 for an interactive job.


The command interactive is actually a bash script that is created for simplicity, which actually invokes bsub in interactive mode. The actual respective commands are:
bsub -L /bin/bash -q defaultq -cwd "$HOME" -Is /bin/bash
bsub -XF -L /bin/bash -q defaultq -cwd "$HOME" -Is /bin/bash
bsub -L /bin/bash -q defaultq -n $1 -cwd "$HOME" -Is /bin/bash
bsub -XF -L /bin/bash -q defaultq -n $1-cwd "$HOME" -Is /bin/bash
Users are requested to customise the arguments as per their specific needs, if required.
Previous | Next