V-Ray Swarm 功能介绍

简介:

您的办公室里面可能有大量闲置的计算机运算资源。我们新推出的 V-Ray Swarm 集群渲染,是针对 V-Ray for RevitV-Ray for Rhino 以及 V-Ray for SketchUp 的新功能,是之前分布式渲染技术的升级版本。有了它,你就可以仅仅通过一个滑杆来掌控所有的计算资源。同时还可以通过一个网页界面,来监控管理所有的集群计算机。

通过一个简单的用户界面,Swarm 集群渲染让用户能够获取本地局域网络中所有的计算资源,使用它们的 CPU 或者 GPU 来渲染。它既可以支持最终产品图的渲染,也可以支持渐进式渲染(progressive rendering),它将大幅加快工作流程,加速设计成果的迭代和反馈。

特别感谢 Cooper Carry 的朋友测试了 V-Ray Swarm 的功能,并向我们提交了这篇帖子里所呈现的测试资料。

什么是分布式渲染(distributed rendering)?

分布式渲染(简称 DR)绝不是一个新概念。它自从 V-Ray 1.0 版就已经有了。基本思路就是渲染任务总是可以被分解成无数个小任务。渲染器,比如 V-Ray 就利用了这个思路,它把这些任务分配给你计算机上的多个运算核心(CPU 或者 GPU)。最简单的办法就是在一台计算机上把一张大图分解为多个小部分来计算,这就是大家熟知的渲染块。每一个小块儿渲染完之后,它就会继续去渲染下一个还没有被其他核心计算到的部分。分布式渲染把这个概念更近了一步,它通过和局域网内其他的计算机连接,来增加渲染核心。通过局域网,每台计算机收集渲染一个小块儿所需要的所有信息,在本地计算,然后把这个信息发送回主机,然后继续去完成下一个任务。

旧版的分布式渲染(DR)是如何运作的?

为了使用分布式渲染,你的每台机器都必须要安装 V-Ray。而且你还必须要打开一个 Spawner 程序,来时刻监听局域网内是否给计算机分派了渲染任务。

然后为了启动分布式渲染,你必须要知道每台计算机的网络地址(通常是 IP 地址)。而且你还必须要知道用于分布式渲染的网络端口。想要渲染的时候,你还要自己选择你要用来分布式渲染的计算机。

这个旧版渲染系统的缺点就在于,你必须知道每一台机器的地址和端口。而且你还必须要了解每一台参与分布式渲染的计算机的硬件条件是否足以完成当前的渲染任务。而且你还要确保每一台机器所安装的 V-Ray 版本是一样的。


Maya 中旧版分布式渲染的界面

那么 V-Ray Swarm 又有何不同呢?

Swarm 集群渲染与局域网交流的方式比之前聪明多了,以下就是与旧版的几个关键的差别:

  • 能够让 DR 计算机持续工作Swarm 会持续监控每台计算机的状态,以确保 V-Ray 处于启动状态并准备就绪。如果没有,便会自动重启这个进程。这个功能在旧版本的分布式渲染中也有,但是在 Swarm 中可靠性更高了。
  • 自动发现网络中的其他计算机Swarm 计算机能够通过网络彼此互相沟通,因此您不再需要知道每台计算机的 IP 地址。
  • 自动选择主渲染节点使用点对点网络,它会全自动的选择某一台计算机作为控制和管理整个集群的主节点。
  • 自动评估计算机的运算能力Swarm 分析记录每一台计算机的硬件条件,来确保它能完成分配给它的渲染任务。这意味着,如果某一台计算机硬件条件不足,或者正忙于其他运算,它就不会加入集群运算。
  • 总能运行正确版本的 V-Ray发起渲染任务的主机会确保其他计算机使用相同版本的 V-Ray 进行渲染。每台计算机都会检查其版本是否与主机一致。如果不是,主机会以远程的方式在分机上运行正确版本的 V-Ray。
    请注意:由于此功能本质上允许您从远程计算机运行应用程序,因此它会使用加密技术,来确保启动的应用程序是 V-Ray。
  • 极简的用户界面由于大部分旧版 DR 所需要操作的任务在新版中已经能够全自动执行,因此用户界面变得非常简单。呈现给用户的仅仅是一个滑杆,代表了他能够掌控的全部渲染计算资源。将滑竿拉到右端,Swarm 会动态的加入更多的计算能力。滑向左端则会减少运算占用。
  • 标记 Swarm 计算机使用一个简洁的网页界面,你可以为计算机进行不同的标记分组。这样,当发起一个集群渲染的时候,你可以利用这些标记来选择只使用某些计算机。举个例子,您可能只想标记速度快的计算机。或者您想把一组计算机,标记保留成特定用途。


    V-Ray Swarm 计算机可以在网页界面中轻松地管理和标记

这对用户有什么好处?

有了 Swarm 集群渲染技术,你就可以使用本地局域网中每一台计算机的计算资源。不管什么样硬件条件的计算机,都有潜力为渲染贡献力量,包括那些原本只能用在公司行政或会计的计算机。基于 Swarm 的资源管理方式,分机上的用户一般都不会意识到他们的计算机正在后台联机渲染。

需要强调的几点:

Swarm 依赖于快速的局域网(LAN)在不同的计算机之间进行通信。必须是保持开放的连接才能够转移和分配数据。在目前的技术条件下,它不适合通过广域网(WAN)进行通信,比如在不同的分公司之间,或者云端渲染资源。Swarm 还要求每台计算机必须在同一子网工作。

另外,每一台 Swarm 计算机都必须有 V-Ray 授权。这意味着如果你有100台安装了 Swarm 的计算机,但是只有五个渲染节点的授权,那你就只能使用五台计算机进行计算。

未来会有什么样的功能?

当前版本的 Swarm 主要是在本地网络上运作。我们正在研究许多其他的工具,能大幅提高用户能使用的计算能力。这样一来,渲染甚至能变成实时的。