OSC/ondemand

New Feature: Selkies Remote Desktop in addition to noVNC for 3D/video-like interactive workloads

Opened this issue · 0 comments

ehfd commented

I am the main developer of the Selkies Remote Desktop (https://github.com/selkies-project/selkies-gstreamer).

I have had a conversation with @Oglopf regarding the potential integration of Selkies with Open OnDemand.

Selkies has been developed from the bottom up to become the GUI gateway to HPC clusters. The project overcomes key limitations of noVNC, based on legacy transport and stream encoding methodologies of the RFB protocol, to achieve a web-based remote desktop that can sustain low latency and high framerate performance, providing an experience utilizing the power of any HPC cluster and supercomputer from the comfort of the user's computers.

The only difference from noVNC (everything otherwise including usability behind a web server or reverse proxy is equal) is that Selkies would require a separate TURN server, a type of server required for WebRTC universally, set up by the client user or the HPC facility. The TURN server can be deployed as a container, VM, outside the HPC infrastructure, or even from any public cloud, either by the client or the infrastructure, independent of Selkies and/or OOD.

Looking for engagement from the academic community. Thank you!

Either our Discord (https://discord.gg/wDNGDeSW5F) or Matrix (https://matrix.to/#/#ue4research:matrix.nrp-nautilus.io) channel is adequate to be in contact with us.


Selkies_Desktop_240808.pdf

From @Oglopf:

Thank you so much for the presentation!

I was pretty intrigued by the end as you listed off the increase in AI containerized workflows (something we've been seeing) along with the side-by-side comparison of renderings in the browser vs noVNC. I can see lots of use from researchers in our community from this, and just from the call Astronomy is an obvious beneficiary.

OOD currently works by using a templating system where we check to see if a user is using an HTTP server (like with Jupyter) or VNC (like with MatLab or ParaView) and then we have some backend abstractions to handle those cases and build the environment.

My thinking is we could add a third template in OOD, for example selkies, whereby an admin of a cluster could choose a selkies template and this would then handle the request back to the cluster to build the environment and connection. This is very high level and just a design thought. But, the point is I see no technical reasons why this design and flexibility for admins could be made. We are short on labor so we do have to be careful what we commit to on our end, but I would like to have a separate call with Mishin (I believe they are taking over the project, is that right?) and at least open a communication channel to get the ball rolling (though it may be a boulder which takes a bit to budge).

Also, I really want to point out that since we are an open source project, there's nothing to stop you or anyone from your team from opening an issue against the main ondemand repo where you suggest this as a feature which researchers in AI and other Image heavy fields may benefit from. Our GitHub Issues is the ultimate source of truth of what we can work on, and a way to keep track of projects and ideas like this.

Thank you again for inviting me and I hope to hear back more!

Travis Ravert
Web & Interface Application Engineer
travert@osc.edu
osc.edu

CC @dimm0 @danisla @Oglopf @mahidhar @DevinBayly