当通过ssh远程登录到一个具有大量计算能力和/或图形硬件的系统(例如集群)并启用X11转发时(例如使用ssh -X或
-Y),图形渲染在哪里完成?你如何运行图形密集型工作负载,以便利用集群的图形硬件?在集群上的虚拟机中运行程序会使情况变得复杂吗?
当通过ssh远程登录到一个具有大量计算能力和/或图形硬件的系统(例如集群)并启用X11转发时(例如使用ssh -X或
-Y),图形渲染在哪里完成?你如何运行图形密集型工作负载,以便利用集群的图形硬件?在集群上的虚拟机中运行程序会使情况变得复杂吗?
在X11渲染中,渲染始终在X11服务器端进行,即在显示服务器运行的系统上。
如何以利用集群的图形硬件的方式运行图形密集型工作负载?
通过在集群系统上运行X11服务器,并仅将输出重定向到显示系统。有几个实现这一功能的项目:VirtualGL和Chromium是其中两个。
然而,我个人最喜欢使用带有GPU的X服务器的Xpra。然而,不幸的是,由于Xorg当前的驱动程序模型,您无法在X服务器之间共享GPU。是的,您可以同时运行多个X服务器,但任何时候只能有一个X服务器可以使用GPU。
此外,请记住,集群GPU渲染并不容易完成。到目前为止,Nvidia是唯一提供一体化远程集群渲染解决方案的GPU供应商。