Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Where is rendering performed when using X11 forwarding with SSH?

When ssh'ing in to a remote system (such as a cluster with substantial compute power and/or graphics harware) with X11 forwarding (eg, using ssh -X or -Y), where is the graphics rendering done? How would you run a graphics-intensive workload in such a way that it took advantage of the cluster's graphics hardware? And does running the program in a VM on the cluster complicate matters?

like image 415
aze Avatar asked Jul 04 '14 14:07

aze


People also ask

How does SSH X11 Forwarding work?

X11 Forwarding follows the same model as X11, but the X Client to X Server connection gets tunneled through an SSH Channel. In order to achieve this flow, the SSH Server proxies the remote X Client connection to the SSH Client, and the SSH Client proxies it to the user's X Server.

How do you check X11 Forwarding is working?

Log in to your Windows bastion host. Then, open a fresh PuTTY session, and use a private key or password-based authentication per your organization setup. Then, test the xclock or xterm command to see x11 forwarding in action. Click the xming utility you installed on Windows bastion host and have it running.

What port does X11 Forwarding use?

What port does X11 forwarding use? X11 uses port 6000, though some systems use port 6001.


1 Answers

In X11 rendering always happens on the X11 server side, i.e. on the system that the display server is running on.

How would you run a graphics-intensive workload in such a way that it took advantage of the cluster's graphics hardware?

By running the X11 server on the clusters' systems and only redirect the output to the display system. There are several projects implementing this: VirtualGL and Chromium to name two.

However my personal favorite is using Xpra with a X server that utilzes the GPU. However the unfortunate drawback is, that with Xorg's current driver model you can not share the GPU between X servers. Yes you can run multiple X servers at the same time, but only one can make use of the GPU at any time.

Also keep in mind, that clustered GPU rendering is not easily done. So far NVidia is the only GPU vendor to provide a turnkey remote cluster rendering solution.

like image 189
datenwolf Avatar answered Sep 28 '22 03:09

datenwolf