Skip to content

Open OnDemand Overview

Overview

We provide various applications for interactive computing on Savio via the browser-based Open OnDemand service available at https://ood.brc.berkeley.edu. Apps/services include:

  • OOD Desktop
  • Jupyter notebooks
  • RStudio
  • MATLAB via a Desktop environment
  • VS Code
  • File browsing
  • Slurm job listing
  • Terminal/shell access (under the "Clusters" tab)

The Open OnDemand service is a relatively new: please let us know if you run into problems or have suggestions or feature requests!

Logging In

Visit https://ood.brc.berkeley.edu in your web browser. With Open OnDemand, we have adopted CILogon for user authentication to limit repetitive login problems. Please select the appropriate institute, primarily the University of California, Berkeley, at the login page. The command-line tool email_lookup.sh (located at /global/home/groups/allhands/bin/) can help clarify with which institute you should log in.

Service Unit Charges

Open OnDemand apps may launch Slurm jobs on your behalf when requested. Open OnDemand refers to these jobs as "interactive sessions." Since these are just Slurm jobs, service units are charged for interactive sessions the same way normal jobs are charged.

Interactive sessions run on nodes in the ood-inter partition (n0000.savio4, n0001.savio4, n0002.savio4, and n0003.savio4) and do not cost service units. These are are shared nodes that are provided for low-intensity jobs. Your jobs will be automatically limited to 8 GB memory and should only use at most a few CPU cores.

Job time is counted for OOD sessions as the total time the job runs. The job starts running as soon as a node is allocated for the job.The interactive session may still be running even if you do not have it open in your web browser. You can view all currently running interactive sessions under My Interactive Sessions. When you are done, you may stop an interactive session by clicking "Delete" on the session.

Screenshot: OOD Jupyter Server

Screenshot: OOD Jupyter Server

There are several ways to monitor usage:

Using Open OnDemand

File Browser

Access the Files App from the top menu bar under Files > Home Directory. Using the Files App, you can use your web browser to:

  • View files in the Savio filesystem.
  • Create and delete files and directories.
  • Upload and download files from the Savio filesystem to your computer.

The Open OnDemand file browser is best for lightweight file tasks. For transfers involving many files or especially large files, we recommend using Globus, which offers better performance.

Screenshot: OOD Files App

Manage Active Jobs

View and cancel active Slurm jobs from Jobs > Active Jobs. This includes jobs started via sbatch and srun as well as jobs started (implicitly) via Open OnDemand.

Screenshot: OOD Active Jobs

Screenshot: OOD Active Jobs

Shell Access

Open OnDemand allows Savio shell access from the top menu bar under Clusters > BRC Shell Access. This provides equivalent access to an SSH login from a terminal, but utilizes CILogon for authentication, so there is no need to provide your PIN or OTP.

Screenshot: OOD Shell Access

Screenshot: OOD Shell Access

Interactive Apps

Open OnDemand provides additional interactive apps. You can launch interactive apps from the Interactive Apps menu on the top menu bar, which includes:

  • Desktop App (for working with GUI-based programs)
  • Jupyter Server (for working with Jupyter notebooks)
  • RStudio Server (for working in RStudio sessions)
  • Code Server (VS Code) (for code editing using Visual Studio Code)

Screenshot: OOD Interactive Apps

Interactive apps can be run either for free on shared nodes or with dedicated compute resources (as via a typical Slurm batch job). When using the interactive apps on Slurm compute partitions, service units are charged based on job run time. The job may still be running if you close the window or log out. When you are done, shut down your Jupyter session by clicking "Delete" on the session under My Interactive Sessions. You can confirm that the interactive session has stopped by checking My Interactive Sessions. Use of the shared Open OnDemand nodes doesn't use any FCA service units or tie up a condo node, but you are limited to 8 GB memory and should only use a few cores, and so should limit use to non-intensive computations.

For all interactive apps, use is as follows:

  1. Select the relevant application under Interactive Apps
  2. If any other software modules are needed for your workflow, you will need to request them at this stage. For Slurm-based work, you'll need to provide the information that you would usually supply when submitting a Slurm job, such as how many cores you need. If using the shared nodes, you only need to provide a time limit.
  3. Once the server is ready, you'll be able to click on to connect to the server via the "Connect to <application>" button.

Jupyter Server

The Jupyter Server application allows you to write and run Jupyter notebooks on Savio via a Jupyter Lab interface. For more extensive documentation for using Jupyter on Savio via Open OnDemand, please visit the Jupyter documentation page.

Submitting Slurm jobs through the terminal within the Jupyter server can cause job failure

The Jupyter server is running within a Slurm job (including the Jupyter server on shared nodes). When using Jupyter Lab's integrated terminal, any sbatch and srun commands will inherit the Slurm environment variables of the parent job (i.e., the job which is running your server). This can lead to unintended and/or conflicting resource requests, which may cause problems with job execution with a job script which otherwise runs perfectly fine. To avoid these issues, you can submit jobs from a terminal with your browser, or by using ssh from within the Jupyter Lab terminal to login to a login node from the compute node, e.g., by running ssh ln001.

RStudio Server

The RStudio server allows you to use RStudio on Savio.

Installing R packages

For certain R packages that involve more than simple R code, installing packages from within RStudio will fail because certain environment variables do not get passed into the RStudio instance running within OOD. Instead, please start a command-line based R session in a terminal and install R packages there. Once installed, these R packages will be usable from RStudio.

Accessing environment variables

Various environment variables, in particular Slurm-related variables such as SLURM_CPUS_ON_NODE, are not available from within RStudio, either via Sys.getenv() or via system().

Code Server (VS Code)

New in 2026: Using the VS Code Remote-SSH extension with Savio

As of January 2026, users are now able to use an SSH certificate to log into Savio. Among other uses, the certificates also allow users to use VS Code on their own machine, connecting to Savio using the Remote-SSH extension, with VS Code running on their laptop but with direct access to files and running commands on Savio. This approach is likely to make for a better user experience than using the VS Code OOD app.

Code Server allows you to use Visual Studio Code (VS Code) from your web browser to work with code, including integrated debugging. The Code Server allows you to run as part of a Slurm batch job ("compute via Slurm using Slurm partitions") or (for non-intensive computations) on our standalone Open OnDemand server ("exploration/debugging on shared nodes"). Use of the standalone Open OnDemand server doesn't use any FCA service units or tie up a condo node, but you are limited to 8 GB memory and should only use a few cores.

Alternatively, the Code Server app allows you to use Visual Studio Code (VS Code) from your web browser to work with code, including integrated debugging.

Looking for a tutorial?

Basic usage of VS Code via the Open OnDemand service was covered in a RIT Tutorial session held in May 2025. For more information, please visit the Tutorials page.

Extensions on Code Server

Code Server is an open source implementation of VS Code which uses the Open-VSX extension gallery, not the Microsoft's extension marketplace. As a result, some extensions available from Microsoft's marketplace may not be available. We have installed some of the most commonly requested extensions, such as GitHub Copilot and extensions for Python, Jupyter notebooks, R, and Julia. You can request additional extensions be installed via our Software Request Form.

GitHub Copilot

An extension that allows you to do AI-assisted coding with VS Code via GitHub Copilot is available for all users. Follow these instructions to get started with GitHub Copilot using the Code Server app (the same steps should work if you are using VS Code directly on your own machine):

  1. When your VS Code session starts, you may see a pop-up (in the lower right) asking you if you want to "Sign in with GitHub to use GitHub Copilot". If you don't see the pop-up, you can also access the sign-in process by clicking on the Accounts icon in the lower left.
  2. Follow the steps to authorize use via your GitHub account - this will involve opening https://github.com/login/device in any browser (VS Code will do this for you if you select Open at the appropriate step of the process) and entering the code you are given. Your authorization should persist between sessions but may need to be redone sometimes.

Users interested in leveraging the GitHub Copilot extension should note that a subscription is required. While a limited free tier is available, unlimited usage requires GitHub Copilot Pro; however, students and educators qualify for GitHub Copilot Pro for free through GitHub Education. If your GitHub account is not set up to use GitHub Copilot, or if you'd like to change your subscription (e.g. to upgrade), go to the GitHub settings page.

See the documentation for the Copilot extension and documentation for the Copilot Chat extension for information on how to use Copilot. Some ways to start interacting with Copilot in your OOD VS Code session include (1) right-clicking and selecting "Copilot", (2) clicking on the Copilot icon in the toolbar on the bottom right, and (3) using keyboard shortcuts described in the links above.