V-Ray Swarm功能介绍

编者按:本文介绍了V-Ray新推出的分布式渲染系统:Swarm集群渲染,2017年1月首发于Chaos Group的技术博客labs.chaosgroup.com。我受委托临时将中文译本发表于我的博客,后期这些文章将会被转移到更合适的地方。文章版权属于Chaos Group。

简介:

您的办公室里面可能有大量闲置的计算机运算资源。我们新推出的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主要是在本地网络上运作。我们正在研究许多其他的工具,能大幅提高用户能使用的计算能力。这样一来,渲染甚至能变成实时的。

韩世麟

韩世麟

站长,天津大学研究生毕业,天津人
存为书签: 本文的固定链接.

12 条评论

  1. 稳,我正纠结Swarm到底什么意思呢。

  2. 借这个帖子请教一下韩神,在win10系统下装了2017版本的sketchup,在建模的时候比较卡(配置是i7 7700K GTX1070),试过网上说的把默认显卡调整为独立显卡,但是建模还是卡,请问有没有什么办法使建模顺畅些?

  3. 韩神 vfs3.4你出汉化吗???如果出大概什么时候哪!

  4. 您好韩神 有具体的使用教程吗?

发表评论