www.cnblogs.com/ruiyqinrui

开源、架构、Linux C/C++/python AI BI 运维开发自动化运维。 春风桃李花 秋雨梧桐叶。“力尽不知热 但惜夏日长”。夏不惜,秋不获。@ruiY--秦瑞

python爬虫,C编程,嵌入式开发.hadoop大数据,桉树,onenebula云计算架构.linux运维及驱动开发.

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

渲染农场,从诞生起就是跟“大”联系在一起的。大项目,大团队,大集群,随着渲染农场诞生,其关键词就是——— 大!超级大!但是由于客户对CG的品质要求提升得越来越快,所以一定品质的CG画面都需要大量的时间进行渲染。著名的摩尔定律至今仍然在发挥着作用,他预 言每18个月硬件性能能提高一倍。以前只有好莱坞大型制作公司才能支付得起的渲染农场,现在对于10—40人左右的团队也可以通过细心规划和设计来搭建可 以满足自己需求的渲染农场了。
(一)渲染农场概况
在影视动画行业,我们称Cluster(集群)为“Render farm”。很多网络管理技术人员喜欢称“集群计算系统”,而业内人士更愿意叫他“渲染农场”——— 很形象,也很人性化的感觉。要了解三维动画集群渲染系统,我们就要提高到运用超级计算机:集群计算机可以指称所有高性能计算机,它分为两种:
1)  SMP(symmetric multiprocessing 对称多处理),计算机的1/0总裁、多处理器、内存等所有的控制都运行在一个操作系统中(通常为Unix或Linux),可以对单位任务进行最高性能计算 机只能由1BM、SGI提供,而现在AMD的8路CPU的方案,使得很多硬件厂商都能提供这样的超级计算机了。
2)  MPP (massively parallel processing ,大规模并行处理):每个处理器都有属于自己的操作系统,通过某种通信协议连接这些操作系统,从而可以同时处理同一程序的不同部分。MPP方式一般都使用 通用的计算机,具有较高性价比,但是系统也变得更为复杂。通过自己的协议或者通信接口来使CPU彼此连接,这需要照顾到系统资源以及任务分配等很多问题, 特别是网络性能。
国内的典型用户有中央电视台、华龙等公司。他们将80—150颗CPU的服务器连接起来渲染动画或者特效镜头。在集群系统中,所有提交和管理的工作可以在 图形工作站或者PC上完成,并且可以监视整个渲染进程。这些正在渲染和等待渲染的工作,在集群渲染管理软件中叫Queud(渲染队列)。渲染任务的提交过 程是动态的。集群渲染系统的管理软件会检查每个节点的当前工作状态:如果某个计算服务器硬件配置比较高,很快完成了第一次分配的渲染农场工作,那么集群管 理软件继续会将剩余工作分割为若干单元,然后再发送给这个已经完成渲染的空闲计算节点,直到渲染工作完成。
集群系统按照功能来进行分类,可以分为以下4类:
渲染节点:
渲染节点是整个集群系统的计算核心,他的功能就是执行渲染,具体选择什么样的硬件配置,需要根据自己的需求和预算来决定。初期,可以购买小型系统 来实现,比如5个节点;添加工作站,让其在闲暇的时候加入渲染,可以根据公司的日后的发展需要扩展规模,可以扩大到几十甚至上百个节点系统。
主流的制作公司都会选择1U服务器,布置2颗处理器如果现在配制,会是双核处理器,配上1——2GB内存。但也有很多公司会选择刀片服务器,刀片 服务器,刀片服务器在企业级别的应用中有很不错的优势,如节省布置空间、方便连接、方便管理等。主要考虑的问题包括以下几个方面;
CPU架构灵活
一般的情况下,集群系统都是很灵活的,允许不同的服务器、工作站乃至办公用机,灵活加入渲染队列,但这样的环境也意味着某些潜藏的未知风险。北京 天文馆是一个特例:他们制作的项目包括了大量流体,计算非常复杂,普通的双处理器服务器甚至不能渲染出结果。他们根据自己的特殊情况,选择了8路处理器的 高性能计算机来做渲染服务器。
其中,特别是AMD和INTEL平台的混用容易出现问题。在渲染同一任务的时候,AMD平台和Intel平台渲染出来的同意画片,其色彩亮度和饱 和度会出现不一致的情况。而且,由于混合渲染的方式,渲染结果都混合在了一起组成电影序列,所以很难在后期进行整理,出现这样的情况就只能重新渲染了。
解决的方法需要注意两点;1)规划的时候,统一平台,避免关键硬件设备混合不同型号、不同厂家2)如果一定要使用混合平台,就有必要进行分组,一个组渲染一个任务。
操作系统自主选择
Linux是做集群服务器的最佳操作系统,其稳定性和速度都比Windows更优秀,但是问题也是存在的。如果你是Maya为主要 Pipeline(是指流水线作业, 一般是将一个复杂费时的任务划分成大致相等的几个小的步骤, 以提高处理连续任务的速度和最优使用资源的目的.)的公司,选择Linux会有很多好处,包括比Windows快1倍以上的网络访问速度,几乎没有病毒烦 恼等;如果你是3dmax或者是3DMAX和MAYA的混合使用环境,那么就只能选择Windows了。
为了节约成本,可以在分发管理服务器安装Windows服务器版本,为渲染服务器安装OEM的Windows xp。
渲染管理和任务分发服务器
单个渲染节点再强劲,没有好的管理,同样会造成非常大的浪费。不要以为现在的渲染管理就是简单的调用命令进行渲染器而已,真正经受过制作考验的渲 染管理方案都有着严禁的架构设计,关键的技术指标不同,方案之间就差别非常大。可以说,硬件的选型与搭建仅仅完成了我们工作的20%,你还需要花50%的 精力对渲染投资进行规划。
渲染管理和任务分发服务器主要承担两种任务,提供基本的网络服务,调度渲染服务器上的任务,分发软件如果安装渲染引擎,也可以假如渲染队列,但是实际上我们需要安装集群渲染管理软件。
网络和存储
集群系统需要连接海量存储以保存渲染出来的电影序列,渲染一小时的高清序列大概需要1TB左右的存储上。当所有的渲染服务器同时向中央存储写入数据的时候,网络规划成为衡量集群系统最终性能的标尺,中央存储访问技术可以选择:
a)  NAS,使用NFS、Samba等协议;
b)  Direct Attached SAN, 需要使用SAN管理软件;
c)  IP SCSI。
Digital Weta的集群系统是一个典型的不太成功的案例。他们的CPU数量远远多于梦工厂和迪斯尼,整体硬件配置也比他们更新一代,但是在超级计算机500强的排 名中远远落后这两家。原因就是他们在整体规划的时候没有作好,网络出现了瓶颈。所以,并不是`CPU越多,集群系统就会越强大。
通信性能
我们可以简单的把集群渲染管理软件分为高端和低端两种。高端的管理和任务分发服务器由于其优秀的算法,可以让系统能够接近线性的性能提高,而低端管理软件在达到一定规模以后,会影响任务调度的性能。以中小型团队常用的Muster 为例,
他在达到25——40个节点以后,性能会明显下降,甚至渲染的时候会丢失数据。
集群计算有一个效率发挥的问题,理论上CPU的数量和渲染时间与实际情况会有差别而且不同系统所用的实际时间也不尽相同。CPU数量越大,渲染时间越短,他们成反比关系。
但事实上,动画渲染花费的时间和CPU的数量并非成线形反比。问题的瓶颈主要在于通信(不止网络通信,还包括PC内部CPU、内存和硬盘之间的通 信)和软件的算法;系统中使用多少个节点计算机(基于CPU的数量)也是需要考虑的问题。这就需要一个拥有优秀算法的集群渲染管理软件进行调度,并发挥每 个CPU的效能,使用性能优异的硬件配置。
渲染农场的渲染节点是整个集群系统的计算核心,选择什么样的渲染引擎则要根据各个制作公司的 流程来决定的。比如独立的mental ray standalone 渲染器、应用程序提供的免费渲染接口。如3dmax 扫描线渲染器和Maya内置渲染器。还有一些插件等。不同的工作流程决定了渲染引擎的多种搭配方案。
以3DMAX为主要的工具的制作公司
用户   山东某展览馆
规模  小型公司
业务范围  建筑动画
应用软件  3dmax
渲染引擎  Deadline

为3dmax Max搭建集群系统情况很少,3dmax Max用户主要集中在建筑动画和视景仿真领域。而这些行业主要对静帧图像质量又较高要求,对与序列图像的精度要求却很低。及时一些公司的业务很忙。需熬渲 染农场提高效率,3dmax Max自带的backburner Manager 足可解决问题。backburner Manager无法让3dmax Max 6及其插件在同一台渲染服务器并存,他只能让3dmax Max 9去渲染所有的场景,但是很多插件并不支持高版本。Enfuzion和Deadline等管理软件可以解决这个问题。
Frantic Film 开发的Deadline 将3dmax作为主要的工具完全整合了著名的Render pass Manager管理软件。对3dmax以及各种插件有着较好的支持。又Reference导致的问题能够在Deadline得到讲稿,并且通过忽略错误的 命令,让场景继续渲染下去。
以Maya为主要工具的制作公司
用户   北京天文馆
规模  大中型公司
业务范围  流体动画
应用软件  mental ray for Maya
渲染引擎  Enfuzion
在国内,以Maya 为主要工具的制作公司主要使用Maya 内置渲染器和mental ray渲染器。很少使用Render man 作为渲染引擎的。在实际的使用中,mental ray for Maya 的问题成为衡量集群渲染管理软件优劣的焦点了。
国内使用Muster 的大小公司实际有不少
用户   中视远图
规模  小型公司
业务范围  影视特效
应用软件  Maya
渲染引擎  Muster

国内使用Muster 的大小公司实际有不少,中视远图是极少数使用Muster正版软件的公司之一。他们在工作站上使用Maya制作特效,然后使用Combustion合成。 购置一台千兆交换机,并且配有一台服务器作为分发管理,连接闲暇的图形工作站,让渲染组能够在较好的网络环境下运行。这是一种典型的小型制作公司的渲染农 场,成本低而且非常有效。
在使用Muster和Dealine的某些版本对mental ray场景进行任务分发的时候,会出现下述情况:
(1)  渲染第一个任务以后服务器停止渲染:
(2)  重启服务器开始渲染,完成第一个任务后,又停止渲染:
(3)  这里的停止渲染指不停地队列渲染,但是没有渲染结果:
(4)  网络中只有一台渲染服务器正常工作
(5)  日志报告不能找到错误原因
(6)  Deadline报告找不到License.
出现这一问题在于任务提交的模板错误,最后将软件替换成Enfuzion以后。没有再出现类似问题。
混合环境的制作公司
用户   中央电视台动画制作中心
规模  大型公司
业务范围  动画制作
应用软件  Maya
渲染引擎  Enfuzion
对于混合平台来说,更多要考虑到的问题主要集中在项目管理的方面,当然。为了方便管理,使用渲染分发管理软件也更有必要,并且可以防止操作失误而导致单机多任务渲染的情况出现。
中央电视台早在2002年就开始使用渲染农场,管理软件使用Enfuzion。由于那时的Enfuzion与现在的LSF是一样的命令形式,中央电视台自己研发了图形界面,一直使用到现在。
希望使用Mental ray standalone并不能解决所有的问题———虽然目前主流三维动画染件都内置了Mental ray渲染器。都能输出mi文件,但是这个文件由于各个三维动化软件的接口不同,所以并不是通用的。
比如Maya的Mental ray standalone版本和3d max输出的mi文件,不能给3d max或者XSL的Mental ray standalone使用。
TIP
对于渲染农场的搭建,技术难度并不在硬件设备的挑选上,而是整体工作流程的科学规划。检验集群渲染软件的技术的技术指标主要有以下几点:
1、  能否保证渲染引擎能够正常调用?
2、  在相同硬件和网络平台下,提交任务的速度和性能如何?
3、  能否保证渲染过程不丢失数据:
4、  单机拓机,是否影响整体网络性能,并且修复失败渲染任务的方便性如何;
5、  能否支持现有的主流三维动画和后期合成软件?
6、  能否支持静祯分割渲染?
7、  是否简单易用?
8、  是否易于维护?
其他的集群渲染管理软件如Alfred、LSF、SPIDER、DRDUEUE、ROYALRENDER等,在国内应用比较少。其中SPIDER 和DRDUEUE是开源软件项目,对于有开发能力的制作公司来说,是可以考虑的方案。例如,上影数码曾在SPIDER项目上进行开发,作为自有软件使用。 而LSF目前只是一个网格计算数据库,并没有专门对渲染农场的工具,开发难度会相对高一些。
渲染农场的管理软件:
Axceleon Enfuzion(新型集群技术)
是国内最早建立集群渲染的管理软件,中央电视台在Enfuzion的内核上自己开发了中文图形界面,并且一直在使用,Enfuzion是从小型到大型制作公司都适合的管理软件。
Enfuzion其优势
1.  Enfuzion不限平台,几乎支持所有的Windows、Osx、Linux版本,包括支持64位操作系统,可以为最新的64位的渲染系统环境,最大的获取硬件性能,
2.  Enfuzion支持tile rendering方式,可以将一帧高分辨率的图像,分割成若干画面进行渲染,并且可以设置融合边的宽度,对于复杂计算和电影分辨率渲染尤其有效,这个功 能受限于渲染引擎,可以支持mental ray以及Maya扫描线渲染器以及Renderman .
3.  Enfuzion对mental ray又很优秀的支持,为大规模使用mental ray进行渲染的时候,使用其他分发软件只是在第一次分发任务时可以渲染成功,但 不能自动获取下一个任务来继续工作,要重启才行。
4.  图像浏览器和缩略图浏览器方便观看渲染的情况,这是Enfuzion最令人喜爱的独特功能,其他软件需要切换到图像浏览器里去查看渲染结 果如果渲染成了TIFF文件就会更加麻烦,但在每个Enfuzion提交节点里都能看到渲染出的缩略图,点击缩略图可以浏览图像,也可以播放渲染序列。
PipelineFX Qube
PipelineFX Qube以其高贵的出生和传奇的经历获得了最多的关注,早在2001年,square USA组建了1500颗CPU的render farm系统,并且开发了SQB管理工具用于渲染动画电影《最终幻想》和《骇客帝国》。随后,SQB发行了商业版本,就是现在的Qube。优秀的性能,它 已经在《最终幻想》和《蚂蚁雄兵》、《怪物史莱克》等动画电影得到应用。
PipelineFX Qube其优势
1.  Qube有一个多线程管理员技术(专利申请中)。目前市场上的同类产品中没有一种拥有类似于运行在Qube上的这一引擎,该技术被证实可将渲染时间缩短一半。
2.  Qube在应用层面上完全整合了Maya、3dmax、softimage IXSI After Effrct shake 和Light wave3d等软件,与各个软件开发公司建立了良好的合作关系。另外, Qube支持大多数其他接受命令行的程序。
Virtual Vertex Muster
Muster是较早拥有图形化界面进行任务分发管理的软件之一,可以说,Muster是最先以GUI界面获得客户好感的管理软件,到现在Muster已有六年历史,最新的5.2版本已经拥有了一系列容易使用的功能。
Muster其优势
1.  支持多平台的渲染客户端,Muster需要使用Windows NT/XP作为渲染器,但可以使用Linux和Mac OSX作为渲染服务器。
2.  Muster支持主流的应用软件,如, Maya、3dmax、softimage IXSI 、After Effrct、 shake、mental ray.等渲染引擎。而且价格较低,最小型制作公司最具性价比的选择。
3.  支持mental ray等某些渲染器的分割渲染功能,通过几台机器分别对同一台图形进行渲染。
Frantic Film Deadline
Deadline是著名的Frantic Films电影特效制作公司开发的基于Windows 的网络渲染管理系统,允许你在Windows上排列和分配,管理电影序列的渲染工作,提供强大高效的3D和2D网络渲染解决方案。Deadling是在制 作公司成长起来的最贴近用户的方案,其用户除了Frantic Films自己以外,还有著名的暴雪游戏公司,对于小型的制作公司,特别3d max用户来说,是不错的选择。
Deadline其优势
1.  支持几乎所有的渲染引擎,Deadline包括已经定制了Maya、3dmax、softimage IXSI 、After Effrct、 shake、mental ray.等应用提交窗口,还支持Blender 和Gelato。
2.  支持Real Flow流体计算软件。
3.  Deadine整合了Render Pass Manger管理软件,使它能够为3D max提供最优秀的支持。比如在同一台机器上调用多个3D max版本进行渲染,进行良好的用户体验。
4.  工作优先权、机器Pools、限制组、特别工作黑名单、等功能允许明确控制分配了的渲染任务,管理不同部门的资源。Deadline提供 了非常详细和精确的的任务日志,不仅可以很方便的找到问题的原因,以最快的速度解决问题。而且可以为项目管理人员提供详细的工作数据。
5.  Deadine支持远程控制软件,如Realvnc等,通过远程计算机操作维护系统。
6.  Deadine新版本支持半帧分割渲染
7.  节电模式
Drqueue
Drqueue是一个开放源码的集群渲染管理软件,目前支持Maya8的任务提交,其他支持软件包括mental ray ,shake , Renderman, 以及Blender 3D。Drqueue有一个Drkeewee服务程序用来通信转递渲染任务的情况,这些都可以通过Drqman图形界面来操作渲染任务的停止,重启,优先 级别等。目前在国内外都有一些小的项目在使用Drqueue,比如Martian Labs,一家如《加勒比海盗》、《驱魔人》、等。Drqueue的缺点是更新缓慢,效率一般。
Drqueue其优势:
1.  免费,开放源代码 这对于很多希望自主研发的公司来说,是很有诱惑力的。
2.  直接内置了Python,可以通过Python脚本扩展功能。
国内主流集群渲染管理软件对比
  Enfuzion  Qube  Muster  Deadline
厂商资历  美国Axceleon inc是专门从事高性能计算研究和软件开发的公司,已有30年网格计算研究  PipelineFX是美国游戏公司SQUARE USA的程序开发小组于2003年独立出来的软件公司  Virtual Vertex是一个在美国的小型软件开发公司,公司规模在5人左右,已成立6年  Frantic Film是著名的电影特效制作公司,其灯光组兼软件开发任务,其软件为Inhousu类型的软件,商业目的不强
涉及行业  金融、石油、教育、HPC、影视动画、游戏 影视动画、游戏影视特效、游戏国际合作伴  Intel/AMD/IBM/HP/Autodesk/Softimage  SGI/NVIDIA/IBM/
Autodesk/Adobe/D2/Softimage/Syflex  未知  Nvidia
软件结构  专有网格计算程序,在高性能计算方面有独特的优势,网格计算效率高  基于Mysqi数据库  基于P2P(点对点)技术。效率低Mysql日志记录,AJAX提交  基于NET技术。
运行平台  支持所有32位和64位Windows,OSX和Linux, Unix,IRIX支持所有发布的Linux版本  支持所有32位和64位Windows,OSX和Linux,只支持Redhat,Suse的某些发 布版本  支持所有32位Windows,Linux支持OSX,服务器必须是Windows(没有实际客户使用)  只支持Windows。跨平台支 持  可提交不同平台的计算任务,自动路径分析转换  文件分析会出错 ,不能交叉使用 ,没有任务调度效率  线性增加计算能力  线性增加计算能 力  使用点对点协议,占用带宽很大,25节点以上效率下降明显,50节点以上可能会出现丢失数据包现象。 国内用户  中央电视台(二次开发)、北京天 文馆(正在使用)、航天512声像中心、重庆动漫平台  大连动漫基地  未知(有小型工作室使用)  有一些工作室使用

posted on 2013-10-18 14:39  秦瑞It行程实录  阅读(1471)  评论(0编辑  收藏  举报
www.cnblogs.com/ruiyqinrui