扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
近年来,随着动漫制作行业在国内的不断兴起,“渲染农场”这个专用名词开始在业内流行。所谓的渲染农场是指由网络中分布的多台服务器共同完成一个或者多个渲染任务的服务器群集,或者说是渲染集群。它将海量的渲染任务,分割成若干任务,提交给网络上的其他的服务器渲染,由网络中的几十、上百台服务器计算完成以后,存储到一个指定的存储目录里,再由制作人员调用。那么是什么样的需求导致了渲染农场的诞生?我们又怎样搭建一个渲染农场?本文将围绕这两个问题,介绍基于曙光5000的渲染解决方案。
一、为什么需要渲染农场?
无论是3D动画软件还是2D图像合成,免不了会耗费掉很长的渲染时间,尤其当制作的图像是电影规格或是HDTV时,渲染更繁重。仅仅使用单台或者多台工作站进行渲染计算,速度非常慢,并且在渲染计算过程中制作人员已经无法使用工作站再进行其他工作。单机渲染的制作方式严重影响了动画产品的制作效率。与此同时,随着视频技术的高速发展,数字电视、高清电视的普及,对高清节目的制作也提出了更高的要求。一般而言,高清电视节目制作时所需的渲染时间大约是标清节目的4倍到5倍,这样的渲染速度几乎是不能接受的。所以国内现在很多团队都在问一个同样的问题,我们如何解决渲染问题,是否需要渲染农场?
看看目前国内大多数制作团队的工作方式:“白天制作,晚上渲染”或者是“渲染占去了白天、晚上的时间”。如果是前者,白天制作完的场景在晚上就能渲染完成,那么你可能不需要渲染农场。但是如果是后者,就该考虑一下是否需要额外的机器来完成渲染工作了。再来看看平时项目的渲染效率。如果平均渲染时间每帧画面超过5分钟,而制作时间和渲染时间的比例达到甚至超过3:1,那么可以考虑渲染农场的问题了。最后再来看看项目制作过程中的需求。通常来说,大部分的制作人员还不太习惯使用网络渲染。对于一个百人的团队,当要考虑制作大中型项目的时候,就得考虑提前半年以上的时间购置渲染系统,留给制作人员和渲染农场调试磨合的时间。综合来看,如果上述问题是制作团队已经遇到的问题,那么说明,用户可以考虑是否应该购买一套渲染农场了。
二、为什么选择高性能计算机?
一部全CG电影的总渲染时间是很恐怖的…… 通常2K电影分辨率所需要的渲染时间能被大家接受的大概在每帧1小时左右,而好莱坞主流电影的分辨率在2K、4K,甚至达到了6K或者8K,随着每一阶品质的提高而其渲染时间将是上一品质的4倍。如果场景还涉及到粒子、流体等复杂计算的时候,渲染的速度又会成倍提高,一帧画面的渲染时间可能在10小时以上。
先看看在普通PC上渲染一个复杂特效镜头,假设用2K分辨率,如果每帧渲染时间在2个小时左右,则仅仅一分钟的放映量就需要120天的渲染时间!而由高性能计算机搭建起来的渲染农场可以将这些海量的渲染任务,分割成若干任务,提交给网络上的其他的服务器渲染,由网络中的几十、上百台服务器计算完成以后,存储到一个指定的存储目录里,再由制作人员调用。这样,120天的渲染任务,分发到60台服务器上以后,2天左右就可以顺利完成工作。而且渲染并不占用制作的时间。有了这样的渲染农场,企业可以用最快的时间看到作品的质量,如果需要修改也不会浪费太多的时间,这样整个作品的渲染和产出都会很轻松的实现,同时不会影响企业里其他项目的进行。
三、 基于曙光5000的渲染解决方案
提到曙光5000,大家的第一反应和疑问肯定是230万亿次、2亿元人民币!这样的价格有几家制作企业可以承受的了?这一点可能大家还是对曙光5000有一个比较大的误解,那就是曙光5000是系列产品,运算能力从10万亿次到50万亿次,而交付上海超级计算中心的曙光5000A拥有几十个机柜和几千个计算节点的庞大集群系统。曙光公司针对不同行业客户的应用需求推出的曙光5000采用了和百万亿次超级计算机相同的技术,完全可以满足各级规模用户对高性能计算的需求。对于渲染农场解决方案用户完全可以针对自身需求来选择所需节点的数量,并且随时可以针对自己企业业务的增加而进行扩展,并得到与百万亿次超级计算机同样先进架构、超高的性能和优越的服务技术支持。
3.1 渲染应用特点分析
下图是渲染集群(Render Farm)的基本架构,如图所示:
图1 渲染集群基础架构
图中所显示的Client端,也就是个人工作站,制作人员平时上班时间可用来制作设计,下班时间也可以加入渲染的行列。Server端服务器主要是用来管理整个渲染农场,它除了接收Client端所指派的渲染任务外,也会针对所有的Render Farm下达渲染的命令,还会不定时的来检查每个计算节点的使用状况,如果发现有计算节点处理闲置状况时,就会另外再指派新的任务给这些闲置的计算节点,同时Server也是控制整个数据的流量中心,所以Server端与网络和存储端的通讯和IO带宽要求也会比较高。
1)CPU计算量大
渲染应用通常会占用大量的CPU资源,一个分辨率较高的画面在渲染时会耗费几小时甚至十几个小时的时间。CPU基本上满负荷运行。
2)内存带宽高
渲染任务开始后,大量的材质贴图将被读取到内存中,然后开始渲染图像,在此过程中,CPU与内存的通讯非常频繁。分辨率越高,材质贴图越多,内存带宽要求越高。
3)网络带宽高
在通过渲染农场进行网络渲染时,一旦管理服务器下达渲染任务,所有的计算节点便开始从网络共享存储中去读取材质贴图和目标文件,因此,高带宽的网络将大大地缩短预读数据的时间。提高整体的渲染效率。
3.2适用于所有渲染用户的曙光5000A解决方案
针对渲染农场的基本架构以及渲染计算的特点和需求,我们采用曙光5000A集群系统来搭建渲染集群。整个渲染农场大致包含下列部分:
分发管理/文件服务器:部署渲染分发管理软件,用于渲染节点和渲染任务的分发和管理,外接外置存储,为渲染节点提供高带宽共享存储。
渲染节点:部署渲染器,执行分发管理服务器派发的渲染任务。
外置存储:用于存储渲染任务所需的材质文件和渲染完成的各种图片。
系统拓扑图如下所示:
图2 基于曙光5000A的渲染农场拓扑结构图
该方案通过不通组合可以适合各种规模动漫用户的渲染应用,渲染集群内部通过千兆以太网连接起来,所有计算节点由管理分发服务器进行统一监管,同时负责管理存储并建立与分发管理服务器以及计算节点之间的数据共享。前端的2D和3D制作机可以通过千兆网络连接到分发管理服务器上提交渲染任务,由部署在渲染集群的渲染分发管理软件进行任务分发和管理。所有的渲染结果将保存在外置存储上,前端设计制作组可以通过千兆网直接访问文件服务器中的数据。通过渲染集群,用户可以大大缩短产品制作时渲染所耗费掉的时间。
推荐配置:
注:上述配置中仅包含所述产品的主要性能参数。
四、性能分析
目前渲染领域用户常用的三维制作软件有Maya和3DMax,常用的渲染器有Mental ray、V-ray、Render Man等,不同的渲染器有不同的应用特点并且所需的渲染时间也不同。然而,无论采用何种渲染器,在相同的软件环境下,不同硬件平台渲染同一个场景文件所需的时间相差还是很大的。如下表所示:
对于一个95.8M的场景文件,渲染尺寸为1280×853。曙光5000A的1个计算节点该场景所需渲染时间仅相当于普通高端PC上或者高端图形工作站上渲染同一场景所需的时间1/2。而计算节点的增加将带来整个场景渲染时间的线性缩减,因此,如果按照一个镜头包含一个场景,而一个场景有200帧来计算,那么采用曙光5000A渲染这一个镜头将给用户节省一半以上的渲染时间。或者说在相同的计算周期内,可以完成比原计算多出一倍以上的渲染任务。