VNC, FastX, Open OnDemand experience, opinions?

Hi All,

Our supercomputer at Brown has relied on TurboVNC for several years. Our on-prem VMs use FastX. We are evaluating whether we should move our HPC environment to FastX, Open OnDemand (or other?)… We are hoping to get some feedback from others (both system administrators or users) on what their institution uses and the pros and cons encountered along the way. What have been your experiences? Thanks!

We use open On Demand, now not for one but two of our clusters! Our admins are fairly conservative about adding new tools so this speaks very highly for OnDemand, and (although I’m not an admin) although there are various bugs along the way, overall it seems to be an overwhelmingly positive addition for users to have interactive notebooks and file interaction. My issue with OnDemand was that previously it was hard to develop, because the primary avenue was to have it set up on a cluster and create a development sandbox (that seems like high barrier to entry to me). To help I created an ood compose https://github.com/vsoch/ood-compose set of containers that includes OOD with slurm, and my development itch is scratched. There are overall very good tutorials https://osc.github.io/ood-documentation/release-1.6/app-development.html and a responsive team, so that speaks more highly for the software.

I can’t comment on TurboVNC or FastX because I don’t have much experience with them.

Thanks! That’s very helpful. Is Open OnDemand the only system in place for a graphical interface to those two clusters? or is it used in addition to something else?

Thanks again!

Before that we didn’t have many options - it came down to the user starting a job that would then be port forwarded to his or her local machine. We later had a tool to help and it would provide general job templates to submit the job, wait for the node to be available, and then do the forward. There used to be some command line tools to help, but it looks like our documentation has replaced that with what is provided by OnDemand. https://www.sherlock.stanford.edu/docs/user-guide/ondemand/#interactive-applications I can ping my group if you want details about the other means - the other common use case is just requesting a node with x11 support, and working with a graphical interface directly from it, e.g., something like:

ssh -XY <username>@<cluster>
srun --time 12:0:0 --x11 --pty bash

There’s also random software like MobaXTerm for windows users, etc. I’ll check with my group to see what I’m missing!

I know of several sites that were previously using FastX when they installed OnDemand - individuals from those sites are traveling right now so hopefully they will post soon. My understanding is feedback from one site was that the interactive desktop’s responsiveness was comparable, and the other site is hosting OnDemand alongside FastX. You can add arbitrary (external) hyperlinks to the OnDemand navbar so OnDemand can act as that “single pane of glass” for your cluster but still provide quick access to users wanting to use FastX.

OnDemand uses NoVNC HTML5 web client for interactive desktops and proxies the TurboVNC server through websockify a Python proxy that turns that traffic into WebSocket traffic. For non-VNC like Jupyter and RStudio OnDemand just proxies requests directly to those servers running on the compute nodes.

I would think that since FastX has a custom web assembly client that there would be situations where it is more performant than the TurboVNC+websockify+NoVNC solution, but I do not know enough about the differences between the protocol FastX uses and the VNC protocol and haven’t used FastX myself.

At IU, for about 5 years now, we’ve been offering a VNC-based frontend for one of our clusters using Thinlinc (https://www.cendio.com/thinlinc/what-is-thinlinc). Purdue has been using Thinlinc as well and we’ve collaborated on a PEARC19 paper (https://dl.acm.org/citation.cfm?id=3332206), which details each of our implementations and motivations, support challenges, and also includes results from a user survey that we conducted together.

1 Like

It’s nice to see a conversation about Open OnDemand here.

For anyone looking for more information about Open OnDemand, our website is http://openondemand.org/

We also have a very active discussion board at https://discourse.osc.edu/c/open-ondemand

Hi Isabel,

We’ve used FastX for many years on local and cloud based instances, initially setting it up on our new central cluster here at Caltech. It’s currently being run in parallel with OnDemand but there are plans to deactivate it now as pretty much all of our users have switched over to OnDemand. (For cloud based stuff we use AWS Nice DCV/Apache Guacamole)

The way I see it, where as FastX offered a simple to use and performant graphical interface to our cluster it didn’t really address the breadth of features and expandability that makes the OnDemand portal compelling for our users of all technical levels. (i.e. html file browser, slurm job manager, job composer, single console for everything, shib auth etc).

Having said that, I believe FastX recently released a major new update so it’s possible some of these features may of been included. I will also note that FastX does support clustered installations so users could easily continue a login based graphical session regardless where the initial session started. (Not sure if OnDemand supports this with our without additional glue)

We are currently waiting for OnDemand to support launching graphical sessions on the actual On Demand login hosts in addition to compute nodes as we often have long queue times and users just need to run some simple graphical apps. We’d rather not sacrifice a compute host for this task. (FastX supports running graphical sessions on the login host themselves).

There’s something to be said for the openness, amount of momentum , excellent documentation and community involvement around the OnDemand ecosystem that is hard to come by with many closed source products. If you have any specific questions feel free to PM me.

John