montefiore-institute/alan-cluster

[Feature Request] Remote Live Tracking of Tensorboard

Closed this issue · 2 comments

Is your feature request related to a problem? Please describe.
As a user of cluster it would be nice to have a remote live tracking of tensorboard in real time from my local browsers.

Describe the solution you'd like
I implemented a way to do this. It's basically port forwarding. I do start a tensorboard in alan(via ssh). I took that port and
do something like

ssh -N -f -L localhost:local_port:localhost:port_on_ala username@master.alan.priv

And this works basically. On scratch or homespace it works in both instances.
I also created a script to automatized this and by creating terminals in your platform of choice and executing commands.
It's is not done since i only did linux part since it seems like opening terminals and executing commands in macOS(darwin) and Windows seems bit different.

Is this the ideal way to do such thing or is there a better alternative , if not i can make a pretty readme - how to and make a PR for it.

Hi! I believe it would be very helpful to many if you could write some short tutorial in /tutorials/. Port forwarding is indeed the way most users have been using Tensorboard on the cluster.

Since this is a common use-case we could, as per Gilles' suggestion, create some kind of tool which would allocate TB for you (e.g., allocating a Docker container), and deploy a reverse proxy to show your TensorBoard instance on https://alan.montefiore.uliege.be/tensorboard/[your unique identifier]. We just need to figure out how to do that exactly, because the following needs to happen:

  1. User allocates a TensorBoard instance on master.alan using a predefined script which is in the cluster $PATH.
  2. ssh proxy needs to be setup to forward the port to the VPS hosting alan.montefiore.uliege.be. This requires some kind of service (REST API / gRPC) to do this in a relatively secure way.
  3. NGINX needs to handle a mapping -> unique identifier -> proxy_pass to specific port -> SSH pipe.

In this way, you do not have to be connected to the ULg VPN.

Maybe @GaetanDumortier can already think about that?