Supported Operating Systems¶
At this time OnDemand only supports the following operating systems:
RedHat/Rocky Linux/AlmaLinux 8
On the Web node serving OnDemand itself:
And on the Compute node(s):
The following are required for using OnDemand with interactive applications such as desktop environments, Jupyter Notebooks and RStudio. If you do not intend to install interactive applications then these are not necessary.
At OSC we have not quantified the minimum hardware requirements for OnDemand. The VMs that run OnDemand have 16 cores and 64GB RAM. According to our Ganglia metrics that is over powered for our normal utilization. We average 150MB memory per PUN and the average CPU percentage per Per User NGINX (PUN) is 4%. Our OnDemand instance serves over 600 unique users each month and at any given time usually has 60-100 PUN processes running.
The Passenger apps that make up the core of OnDemand (that NGINX is configured with), are each killed after a short period (5 minutes) of inactivity from the user, and when users are using NoVNC or connecting to Jupyter Notebook or RStudio on a compute node, Apache is proxying these users, bypassing the PUN completely. So it can happen that 60 PUNs are running but twice the number of users are actually being served.
Another sizing factor that has impacted us in the past is the size of the
/tmp partition. We have had incidents where
/tmp is exhausted and so have increased the size from 20GB to 50GB.
No IE 11 support. If you are a site that requires IE 11 support and are willing to contribute developer time to the project to support this, please reach out to us.
Google Chrome has the widest range of support since the Shell App uses
hterm.js which is supported officially by Google.
Chrome currently is the only web browser that natively supports the copy and paste functionality in
Other browsers can do copy and pasting manually through the
noVNC tool drawer.
Sites have reported problems with Safari when using the Shell App or
noVNC. Safari is also known to cause problems with WebSockets and Basic Auth.