Interactive Jobs

One of the main features of the SCC-Pilot is that we offer so-called "Interactive Jobs". Interactive Jobs allow you to interact with any kind of application more or less like you would do on your laptop or PC. Currently, the SCC Pilot offers the following four options to work interactively:

  1. A full desktop environment running in your browser
  2. Visual Studio Code running in your browser
  3. A ssh tunnel to the cluster which can then be used by, for instance, Visual Studio Code
  4. Shell access

Why?

Because you can get computing resources you probably do not have on your laptop or workstation. Like 64GB of RAM or very powerful CPUs. And you have direct access to your home folder.

How?

All interactive apps are available at the web portal: https://ood.scc-pilot.plus.ac.at Navigate there with your browser and log in with your username and password.

Desktop

Click on "Interactive Apps" and choose "xfce-desktop".

Set the number of CPUs, the amount of memory, and the time you want to use the desktop. Leave the other options as they are.

Once it is submitted, wait a bit for it to run. You can now click on the "Launch xfce desktop" button and it opens in your browser. If you want, you can also connect to it with a VNC client. Click on "Native Instructions" for more information.

Chrome or Chromium recommended

You might have the best experience with Chrome or Chromium. For instance, using the clipboard (i.e. copy and paste) works as expected only with these browsers!

Visual Studio Code in the Browser

If you work with Visual Studio Code, this might be the most convenient option. Just click on "Interactive Apps" and choose "Code Server: SCC Pilot".

Set the number of CPUs, the amount of memory, and the time you want to use the desktop. If you want, you can choose the folder that VS Code starts in by providing the folder name in the "Working Directory" field or clicking the "Select Path" button. Leave the other options as they are.

Once it is submitted, wait a bit for it to run. You can now click on the "Connect to VS Code" button and it opens in a new tab.

How to get all the extensions

By default, the Code Server is not connected to the official Visual Studio Code Marketplace. This means that you do not have access to all the extensions you might be used to. In order to change this, you need to add the following line to your .bashrc file:

export EXTENSIONS_GALLERY='{"serviceUrl": "https://marketplace.visualstudio.com/_apis/public/gallery", "itemUrl": "https://marketplace.visualstudio.com/items"}'

You can either do this from a terminal session or by following these steps from within Open OnDemand:

  • Click on the "Files" tab in Open OnDemand.
  • Choose "Home Directory".
  • Put the checkmark at "Show Dotfiles".
  • Scroll down until you see the file called .bashrc.
  • Click in the three vertical dots on the right and choose "Edit".
  • Add the line at the end of the file.
  • Save the file.

Visual Studio Code Tunnel

For a connection to Visual Studio Code, you first need to do some setup on your computer. Please follow the instruction here. Then, choose "tunnel" from the list of interactive apps.

Extra Options

Note that field at the bottom that says "Apptainer Image"? You can leave this blank and run your interactive job directly on the software stack provided by the SCC-Pilot. Alternatively, you can point it at an Apptainer Image (either the full path on the SCC-Pilot or a URL that Apptainer supports). If the image fulfills all the requirements (see below), your interactive job is going to start there.

If you want to try this out, you can use this link: oras://ghcr.io/thht/obob-singularity-container/xfce_desktop:latest

Shell Access

If you only need shell access, you can login to one of the login nodes and use srun to start an interactive job. Here is an example:

srun --qos=interactive --cpus-per-task=2 --mem=2G --time=120 --pty bash

You can also use apptainer to start the job in a container and use a different shell:

srun --qos=interactive --cpus-per-task=2 --mem=2G --time=120 --pty apptainer shell -s /bin/zsh oras://ghcr.io/thht/obob-singularity-container/xfce_desktop_minimal:latest

What is this QoS?

QoS means "Quality of Service" and in this case, you see the "interactive" QoS.

A job submitted to that QoS runs almost instantly because it gets a much higher priority than other jobs and it is also allowed to preempt (i.e. cancel) other jobs. This way, you don't need to wait for other jobs to finish before using your interactive job.

However, note that you can only have one job at a time in the interactive QoS!

Apptainer Images Requirements

If you want to use an Apptainer Image, it needs to fulfill the following requirements:

xfce-desktop

  • Have a full installation of xfce installed
  • TurboVNC must be installed and in the PATH.
  • websockify must be installed and accessible via the /opt/websockify/run.

You can take a look at a working apptainer def here.

Tunnel

  • OpenSSH Server must be installed

Shell Access

  • Nothing