OnDemand at QMUL¶
Overview¶
OnDemand is an HPC portal designed to provide an easy way to access interactive graphical applications on the Apocrita HPC cluster.
While most jobs are submitted in batch mode using the command line, there is sometimes a requirement to prepare workloads interactively in a graphical environment. OnDemand offers a seamless way to request HPC resources to do this.
Accessing OnDemand¶
OnDemand is available to users with both:
- an active QMUL email account
- an active Apocrita account with the same username
You can access it by visiting https://ondemand.hpc.qmul.ac.uk. You will be redirected redirected through the QMUL Single Sign-On gateway / Multi-Factor Authentication and you may have to authenticate if you have not already accessed other QMUL services recently with your browser (i.e. Web Mail or QMPlus).
Getting started¶
After logging in, the published applications can be quickly accessed from the "Interactive Apps" drop-down menu, or via the "My Interactive Sessions" menu, which also shows any recent sessions.
Applications are categorised by whether they run in a graphical desktop environment (Interactive Apps) or if they are a web service (Servers).
OnDemand allows access to graphical applications through a browser interface which provides many benefits over displaying an X-window back to your machine:
- Very responsive
- No local X server application is required
- Easy to resume - you don't lose your work if the connection drops
- Don't need to use the command line or SSH tunnels to establish your session
Using OnDemand to run applications for data visualisation allows you to keep the data on Apocrita and reduces the need to copy data back to your local workstation. Any locally-stored files would first need to be uploaded to Apocrita before they can be accessed with OnDemand, which can only use the Apocrita Research Data Storage.
Use batch jobs where possible
OnDemand should not replace batch job submission using qsub
,
since batch jobs use resources most efficiently. We envisage OnDemand being
used during interactive development of workflows (such as R Studio), or for
data visualisation.
Launching applications¶
After choosing from the available applications, you can requested the necessary resource for the session, and then click Launch.
Typically, when requesting resources, you will be given the option to choose number of cores, maximum running time and memory per core. If multiple versions of the application are available, this may be offered too.
For many use-cases, including non-computational visualisation, and many Jupyter/R Studio sessions, a maximum of 1 core will be used by the application.
There is also the option to request an email to notify you when the job starts, in the case of sessions which require longer queueing time.
For graphical applications, once the session is established, you have the option to alter the image quality and compression level. For most cases, using the defaults should be fine, but for precise graphical work, or taking screenshots, you may want to increase the image quality.
Note also the View only link. OnDemand sessions are secure and confined only to you. However, you have the option to share a read-only view of your session for purposes of monitoring progress of a job with a collaborator or to demonstrate work to a colleague.
Session persistence¶
A session remains active for the time period you have requested it for. If you have finished your work, then we recommend that you close the application cleanly, followed by clicking Delete next to your session on My Interactive Sessions page. This will release resources back to the cluster.
If you are running a graphical application which uses a desktop environment, any computation will continue even after the browser tab is closed. Clicking Launch again from the My Interactive Sessions screen will reconnect to the session.
Closing a browser tab while running a web service session such as Jupyter or R Studio will interrupt computation, in the same way as it would if you did the same while running Jupyter locally on your own PC. Jupyter and R Studio both offer ways to save and checkpoint your work if you want to resume later.
Citing use of OnDemand¶
As well as acknowledging use of Apocrita, if you use OnDemand for your research, you may cite: Hudak et al., (2018). Open OnDemand: A web-based client portal for HPC centers. Journal of Open Source Software, 3(25), 622, https://doi.org/10.21105/joss.00622