Open OnDemand

From RCSWiki
Revision as of 23:17, 18 February 2021 by Lleung (talk | contribs)
Jump to navigation Jump to search

Open OnDemand is a web portal for accessing certain clusters operated by Research Computing Services. The web portal provides a convenient way to access the login node, your files, and certain graphical applications such as Jupyter Notebooks and remote desktops.

Access

You may access Open OnDemand for the following clusters using your UCIT credentials. Sign-on is handled through the University's Single Sign-On mechanism and requires Multi-Factor Authentication enabled.

Cluster OOD Access
ARC Cluster ood-arc.rcs.ucalgary.ca

Open OnDemand Dashboard

After logging in, you will see the Open OnDemand dashboard. The Message Of The Day (MOTD) will show any news and announcements relating to the cluster. Any quota warnings will also be displayed on your dashboard.

Open OnDemand Dashboard

Other components and applications can be accessed through the top navigation.

File Browser

The file browser interface allows you to manage, upload, or download files from your directories, drag & drop file management, and basic file viewing and editing.

There is a 128 MB limit on file uploads. Please do not use this interface for large file transfers and instead look at other methods for file transfers.

Job Explorer

You may view and manage your current jobs on the cluster through the Active Jobs page. This may be helpful for users new to visualize scheduled jobs in Slurm.

Shell Access

You can launch a SSH session via Shell Access to the login node of the cluster.

Interactive Applications

We have created a small selection of graphical applications launchable through Open OnDemand. We currently offer:

  • Jupyter Notebook / Jupyter Lab
  • RStudio Desktop
  • RStudio Web
  • VNC Remote Desktop
  • VNC Remote Desktop with VirtualGL

Jupyter Notebooks

Open OnDemand Jupyter Notebook
Open OnDemand Jupyter Notebook

We offer a selection of different Jupyter Notebooks derived from the official Jupyter Docker images. Each flavour of Jupyter is outlined in detail at https://jupyter-docker-stacks.readthedocs.io/en/latest/using/selecting.html. Currently, you may run R, Python, or Julia through the different images that are offered.

On the Jupyter Notebook launch page, select the desired image in the drop-down menu. You may optionally use a custom image as well by selecting 'Custom Singularity Image...' (see the next section below). You may then specify any additional arguments to Jupyter, whether to use JupyterLab, and the resource requirements for your job.

Custom Jupyter Notebook

To help facilitate the many different workflows you may have, we allow the use of customized Jupyter notebook images. Simply place your custom Jupyter Singularity image at $HOME/ondemand/jupyter and select 'Custom Singularity Image...' on the launch page.

All custom Jupyter images should be based off of the base Jupyter notebook image for compatibility. Additional packages can then be installed via pip or conda. An example Dockerfile is given below.

FROM jupyter/base-notebook

# Install any additional packages here
RUN set -ex; \
        conda install --yes \
                -c conda-forge \
                ipywidgets ;\
        conda clean --all -f -y; \
    fix-permissions "${CONDA_DIR}"; \
    fix-permissions "/home/${NB_USER}"

USER $NB_UID

WORKDIR $HOME

Remote Desktop

Remote desktops may be helpful when exploring data or to run certain GUI based applications. Previously, we required users to manually set up and use X11 forwarding or VNC via SSH tunnels. The Open OnDemand Desktop app simplifies the process of launching VNC desktop sessions or other graphical based applications directly on a compute node. You may now launch and access your VNC desktop all through your web browser.

To get started, choose 'Desktop' from the Interactive Apps menu on the Open OnDemand dashboard. You may choose to use the VirtualGL version for hardware accelerated rendering.

Open OnDemand Desktop
Open OnDemand Desktop

Use the launch page to specify the resources your session should need. You may optionally request for a dedicated GPU for VirtualGL based sessions.