OpenOnDemand, HPC Portal

Introduction#


OpenOnDemand or OOD for short, is an open source Web portal for High-Performance computing, developed at Ohio Supercomputing Center. OOD makes it easier for beginner HPC users to access the resources via a Web interface. OOD also allows for interactive, visualization and other Linux Desktop applications to be accessed on HPC systems via a convenient Web user interface.

Since the end of October 2021, OpenOnDemand version 2 is officially in production on Grex.

For more general OOD information, see the OpenOnDemand paper

OpenOndemand on Grex#


NOTE: aurochs.hpc.umanitoba.ca has been decommissioned since 29/11/2023. Please use zebu.hpc.umanitoba.ca to access the OpenOnDemand portal.

Grex’s OOD instance runs on zebu.hpc.umanitoba.ca and requires MFA. It is available only from UManitoba IP addresses – that is, your computer should be on the UM Campus network to connect.

To connect from outside the UM network, please install and start UManitoba Virtual Private Network VPN . OOD relies on in-browser VNC sessions; so, a modern browser with HTML5 support is required; we recommend Google Chrome or Firefox and its derivatives (Firefox, for example).

Connect to OOD using UManitoba VPN :

  • Make sure Pulse Secure VPN is connected
  • Point your Web browser to https://zebu.hpc.umanitoba.ca
  • Use your Alliance (Compute Canada) username and password to log in to Grex OOD.

OpenOndemand login page

Once connected, you will see the following screen with the current Grex Message-of-the-day (MOTD):

File view on OpenOndemand web portal on Grex
OpenOnDemand Front Page

OOD expects user accounts and directories on Grex to be already created. Thus, new users who want to work with OOD should first connect to Grex normally, via SSH shell at least once, to make the creation of account, directories, and quota complete. Also, OOD creates a state directory under users’ /home (/home/$USER/ondemand) where it keeps information about running and completed OOD jobs, shells, desktop sessions and such. Deleting the ondemand directory while a job or session is running would likely cause the job or session to fail.

It is better to leave the /home/$USER/ondemand directory alone!

Working with files and directories#


One of the convenient and useful features of OOD is its Files app that allows you to browse the files and directories across all Grex filesystems: /home, /global/scratch and /project.

File view on OpenOndemand web portal on Grex

You can also upload your data to Grex using this Web interface. Note that there are limits on uploads on the Web server (a few GBs) and there can be practical limits on download sizes as well due to internet connection speed and stability.

Customized OOD apps on Grex#


The OOD Dashboard menu, Interactive Apps, shows interactive applications. This is the main feature of OOD, it allows interactive work and visualizations, all in the browser. These applications will run as SLURM Jobs on Grex compute nodes. Users can specify required SLURM resources such as time, number of cores and partitions.

OpenOndemand applications on Grex

As for now, the following applications are supported:

  • Linux Desktops in VNC
  • Matlab GUI in VNC
  • GaussView GUI in VNC
  • Jupyter Notebooks servers

As with regular SLURM jobs, it is important to specify SLURM partitions for them to start faster. Perhaps the test partition for Desktop is the best place to start interactive Desktop jobs, so it is hardcoded in the Simplified Desktop item.

The following links are added to OOD:

  • From the menu Jobs, there is a link Grex SLURM Queues State that shows a summary of running and pending jobs. It runs a modified version of the script grex-summarize-queue that is accessible from any login node.
  • From the menu Clusters, there is a link Grex SLURM Node State to get a summary of allocated and idle nodes by partition. The same information can be accessed from any login node by running a custom script:slurm-nodes-state