Open OnDemand

Table of contents

  1. Logging in
  2. Managing files
  3. Opening a shell
  4. Submitting and monitoring jobs
  5. Interactive applications
    1. Launching a session
    2. Ending a session
    3. If a session fails to start
  6. VS Code tunnel

Open OnDemand and its interactive applications are beta features. Expect changes, and please report any problems you encounter.

Open OnDemand (OOD) is a web portal for Ada. From your browser you can manage files, submit and monitor jobs, open a shell, and launch interactive applications such as VS Code, Jupyter and RStudio that run on Ada’s compute nodes.

Logging in

Navigate to https://ood.middlebury.edu and log in with your Middlebury credentials. You need an Ada account and must be on campus or connected to the VPN.

After logging in you will see the dashboard. The menu bar at the top provides access to OOD’s tools, described below.

OOD Dashboard
OOD dashboard immediately after logging in. Your recent 'applications' will likely be different

Managing files

Files opens a file browser for your home directory, with a shortcut to your /storage/username directory (see File System for which to use). You can create folders, upload, download, rename, delete and edit files. Clicking Edit on a text file opens it in a browser-based editor.

The file browser is convenient for small files. For large datasets, use scp or Globus.

OOD Dashboard
The OOD file browser showing a home directory (and link to `/storage` directory), with buttons for uploading, downloading or creating new files.

Opening a shell

Clusters > ada Shell Access opens a terminal on Ada’s head node in a new browser tab. It is equivalent to connecting with SSH, and the same best practices apply (please don’t run computationally intensive work on the head node).

Submitting and monitoring jobs

  • Jobs > Active Jobs lists your queued and running SLURM jobs. Click a job for details or to cancel it.
  • Jobs > Job Composer helps you create and submit batch jobs. Click New Job > From Default Template to create a simple job script, Open Editor (bottom right) to modify it, and green arrow button to submit for execution.

Interactive applications

Interactive applications (under Interactive Apps) run a program, like Jupyter, on a compute node as a SLURM job and connect you to it through your browser. The following applications are currently available:

Application What it provides Details
vscode-tunnel Your locally installed VS Code connected to a compute node Below
Jupyter JupyterLab or Jupyter Notebook with Python (and R) Python & Jupyter
Rstudio The RStudio IDE for R R & RStudio

Launching a session

  1. Select the application under Interactive Apps.
  2. Fill in the form (see below) and click Launch.
  3. You are taken to My Interactive Sessions. The session is “Queued” until SLURM finds the requested resources, then eventually “Running”.
  4. Once it is running, click the Connect button.

All of the applications share these form fields:

Field Description
Node Type Standard CPU, High-memory CPU, or GPU. Choose High-memory only if you need more than 256 GB of memory and GPU only if you need GPU(s).
Number of GPUs Only relevant if requesting GPU nodes. Request 1 unless your code can use multiple GPUs.
Number of hours How long the session runs. The partition is chosen for you: up to 2 hours uses a “short” partition, up to 48 hours a “standard” partition, and longer the “long” partition (up to 7 days). Shorter sessions typically start sooner.
Number of cores CPU cores for the session. More cores only help if your code uses them.
Memory (GB) Optional. If left blank, you receive the SLURM default of 4 GB per core.
OOD application launch form
An example launch form for Rstudio showing the options to select node type, cores and other resources. Application-specific fields will allow you to choose software versions, root directories etc.
OOD session card
Running session card in 'My Interactive Sessions' showing the host, time remaining and the button to connect to the application.

Ending a session

A session keeps running, and keeps its resources reserved, until its time runs out or you end it, even if you close the browser tab. When you are finished, click Delete on the session card so others can use those resources. Your files are not affected.

If a session fails to start

On the session card, click the Session ID link to open the session’s directory and view output.log, which records any errors.

VS Code tunnel

The vscode-tunnel application connects Visual Studio Code on your computer to a compute node. Everything you do in VS Code (terminals, running and debugging code, notebooks, extensions) runs on the compute node using the resources you requested.

Please do not use the VSCode Remote SSH extension to run VSCode sessions on Ada (which run on the head node), instead use the tunnel application to run on one of the compute nodes.

Before you start, you will need:

  • VS Code installed on your computer, with the Remote - Tunnels extension.
  • A GitHub account, which VS Code uses to securely connect to the tunnel.

To start a tunnel:

  1. Launch vscode-tunnel from Interactive Apps, choosing the resources you need.
  2. When the session is running, click Connect. A terminal opens in a new browser tab.
  3. If prompted, use the arrow keys to select GitHub Account and press enter. Open https://github.com/login/device, log in to GitHub and enter the code shown in the terminal. You typically only need to do this the first time, or if you have not used the tunnel recently.
  4. Once the terminal reports the tunnel is ready, you can close the browser tab. The tunnel keeps running. Don’t use the vscode.dev link shown in the terminal; connect with your local VS Code instead.
Authenticate for VSCode by first selecting 'GitHub Account' in the terminal you connect to on the compute node
Complete the authentication by navigating to the provided link and entering the code
Authenticate to launch the VSCode tunnel by first selecting 'GitHub Account' in the terminal you connect to on the compute node (left), then navigate to the provided link and enter the code (right).

To connect from VS Code:

  1. Open the Remote Explorer in VS Code’s sidebar and select Tunnels from its drop-down (or run “Remote-Tunnels: Connect to Tunnel…” from the Command Palette).
  2. Sign in with the same GitHub account if asked.
  3. Connect to the tunnel named ada-username (your Middlebury username).

Each user has a single tunnel name, so run only one vscode-tunnel session at a time. However, each tunnel supports multiple VSCode windows, i.e., you can work on multiple projects with one tunnel. When you are done, close the remote window in VS Code and Delete the session in OOD.