Interactive vs Batch Jobs

One important distinction to understand when using a compute cluster such as the research grid is interactive versus batch sessions (jobs).

  • Interactive sessions are appropriate for doing work in graphical applications, interactive "console tools" like R and iPython, significant script/code development, or efforts like iterative data exploration, either in a GUI or at the command line.

  • Batch jobs are sessions or program runs that are executed in the background and where there isn't any user interaction. This is useful for finished scripts or code you wish to run repeatedly, such as parameter sweeps or large analyses broken into smaller parts (pleasantly parallelizing). This can be done through the command line or via the Program Application Center. Scripts written for graphical applications like MATLAB, Stata, and SAS, can be run in this manner and scaled for large numbers of runs, unleashing the power of the Grid compute cluster.

To illustrate a typical use case, signing in via the NoMachine NX client, and starting an application from the Applications drop-down menus is common (but not the only) way start an interactive session. Conversely, using the Program Application Center to start an application with a run script is an example of running a batch job.

Note: If you are using NoMachine NX, all programs that are launched through the Applications menu are run through the scheduler as interactive sessions and appear to run on the NoMachine server itself. Instead, the computing is happening on a back-end compute node, though the work done to display the interface is performed on the NX server itself.