【问题标题】:Where is rendering performed when using X11 forwarding with SSH?将 X11 转发与 SSH 一起使用时在哪里进行渲染?
【发布时间】:2014-08-25 22:47:12
【问题描述】:

当使用 X11 转发(例如,使用 ssh -X-Y)通过 ssh 进入远程系统(例如具有强大计算能力和/或图形硬件的集群)时,图形渲染在哪里完成?您将如何运行图形密集型工作负载以利用集群的图形硬件?在集群上的虚拟机中运行程序是否复杂?

【问题讨论】:

  • 在我可以发布这个东西之前,我遇到了关于质量标准的错误并结束了一个空代码字符串,对此感到抱歉。
  • 好吧,你仍然没有阅读评论就否决了我的问题......非常感谢@Joe
  • 我不知道 IBM 计算器是什么,也不知道您问题的任何部分是如何与本网站或 SE 网络中的任何其他网站相关的编程问题。
  • @Joe Ho 感谢您实际提供有关我的帖子和您的选项的相关信息,那么我应该去哪里发布呢? (IBM 计算器指的是 IBM 计算机)

标签: opengl ssh x11 x11-forwarding


【解决方案1】:

在 X11 中,渲染总是发生在 X11 服务器端,即在运行显示服务器的系统上。

您将如何运行图形密集型工作负载以利用集群的图形硬件?

通过在集群系统上运行 X11 服务器并且仅将输出重定向到显示系统。有几个项目实现了这一点:VirtualGL 和 Chromium 仅举两个例子。

不过,我个人最喜欢的是将 Xpra 与使用 GPU 的 X 服务器一起使用。然而不幸的缺点是,使用 Xorg 的当前驱动程序模型,您不能在 X 服务器之间共享 GPU。是的,您可以同时运行多台 X 服务器,但任何时候只有一台可以使用 GPU。

另外请记住,集群 GPU 渲染并不容易完成。迄今为止,NVidia 是唯一一家提供交钥匙远程集群渲染解决方案的 GPU 供应商。

【讨论】:

  • 如果我理解得很好,当使用ssh时,转发X11意味着将渲染指令发送到客户端X11服务器?在 Linux 上使用 VM 我可以使用 Xpra 吗?
  • @user3714670:是的,这就是 X 转发的重点:渲染命令最终会发送到运行 X 服务器的系统。但是请注意,许多“现代”工具包出于一些可疑的原因,选择自己执行渲染并且只传输完成的图片。这本身是低效的,但是加上传输大位图,未压缩无助于低带宽消耗的事实,这是一个大问题。如果客户端不是由 lobotomized 猴子编写的,则基于网络的 X11 可以非常高效(在那里,我对“现代”takeit 作家的看法已经过时了)。
  • @user3714670:在虚拟机上使用 Xpra 完全没有问题。但更大的问题是,让虚拟机访问主机系统的 GPU 是非常困难的,如果不是不可能的话。因此,如果您在虚拟机中运行系统,并在具有功能强大的 GPU 的系统上托管,那么常规 X 转发实际上将是更可取的选择。但是我强烈建议不要使用 SSH X 转发,而是打开一个未加密的 X over TCP 通道。如果您的 VM 有一个用于与主机系统联网的 virtio 通道,则这会增加可接受的少量开销。 GLX 间接渲染最高支持 OpenGL-2.1
  • @user3714670:OpenGL-3 和更高版本实际上更适合间接渲染(现代 OpenGL 中的所有内容都通过缓冲区对象进行,本质上是间接渲染),但 GLX 协议没有尚未支持 OpenGL-3,这是一种耻辱。
  • 我想问一些关于虚拟机的问题(考虑到间接渲染,这是在 linux 上玩的最佳方式),我应该在那里做还是应该打开一个新线程?感谢所有的好信息,我希望每个人都像你一样。
猜你喜欢
  • 2015-03-19
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
  • 2012-09-03
  • 2021-03-12
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
相关资源
最近更新 更多