基于分布式集群运算的渲染农场的研究与构建

2014-02-05 02:09
实验室研究与探索 2014年2期
关键词:管理软件动漫集群

梁 骥

(宁波广播电视大学 文法系,浙江 宁波 315000)

0 引 言

在电影后期制作过程中所面临的一大难题是如何分担工作负荷。我们通过使用分布式集群渲染来进行电影的后期图形渲染工作,也就是就是依托网络,使用集群管理软件将庞大的计算工作分配给网络上的很多渲染节点工作站去分担,工作站越多处理器越多,其三维渲染能力也就越强,集群计算大大节省了工作时间。这种分布式集群渲染系统[1-2]便是通常我们所说的渲染农场。强大的渲染农场可以让我们在最短的时间内看到CG电影的最终效果,这样便大大提高了我们动画创意的效率[3]。

渲染农场就是一种利用集群管理软件将几十个几百个甚至几千几万个不等的处理器,利用高速网络构建起来的一个计算机群,其性能可以接近超级计算机的计算能力。这样一来解决了动画电影中最终的CG合成渲染所需要的庞大数据计算量的难题。目前除了电影特效、三维动画,还有建筑、新城规划的实景图制作也都会用到这项技术。

1 构建渲染农场的关键问题

1.1 为什么需要渲染农场

(1) 质量要求提高。目前的电影领域越来越多地运用到了CG技术,而高清甚至4K画面也越来越普及,对于三维渲染性能本身的要求就越来越高。

(2) 制作产生了瓶颈。在实际渲染工作中,承担主要计算工作的是CPU,但无论是双核四核甚至是八核cpu在面对高清动画电影三维渲染的庞大计算量时,都是不能胜任的。我们用目前最先进、性能最强大的单机工作站去渲染一帧较复杂场景也可能需要花费数小时的时间。那么如果要是使用它去处理一部90 min完整的动画电影,这几乎无法想象需要花费多少时间。这已经成为CG动画产业的最大瓶颈[4]。

在商务应用中这种结果的滞后性影响到影视制作人员的创意以及思维的连贯,对作品质量有很大影响,同时这种延时也成为制作周期中难以回避的一个环节。当然我们也可以使用多台工作站来共同渲染同一个工作任务,这样可以稍微减少一些渲染时间,但所有参与的工作站就无法去进行其他的工作,所以这种方案是不划算的,我们需要的是一个专门负责渲染的计算机群[5]。

1.2 搭建渲染农场的性价比

构建一个渲染农场需要花费巨额的经费,所以追求一个投入产出比,这是我们一定要考虑的问题。首先这个渲染农场需要满足相适应的性能,渲染一部全CG电影所花费工作量是非常庞大的。通常渲染一帧2K分辨率的电影画面大概需要花费1 h左右,但是目前电影的分辨率至少是4K,有的甚至达到8K分辨率,随着分辨率的提高,其渲染工作量会是一个指数级别的上升。如果场景还涉及到粒子、流体等复杂计算的时候,渲染的速度又会成倍提高,我们可能需要花费10小时的时间来渲染一帧画面。因此,渲染农场的高性能是我们最关注的特点之一。其次,系统的可靠性也是我们需要关注的重点之一[6]。一套高性能的渲染农场同时也应该是一套更可靠的渲染农场,只有高可靠的渲染集群才能保证整套系统运行的高性能。单位能耗下可以实现多少性能,绿色节能、低能耗的渲染农场不但可以满足用户批量渲染的制作需求,同时在后期使用过程中也可以节约大量的能耗开支。最后怎么花更少的钱来构建一个符合要求的渲染农场是关键

问题。

1.3 渲染农场的功能定位

根据不同的工作需要,构建的渲染农场需要具备以下功能:

(1) 集群渲染解决方案需要满足大的计算量、紧张的制作周期;

(2) 满足常用渲染引擎:mayasoftware、mentalray、renderman等;

(3) 满足存储空间容量;

(4) 满足扩容的方便;

(5) 集群渲染解决方案既要满足客户的当前需求,又要具有前瞻性。以满足客户的高速发展对计算量、存储空间的不断增长的需求[7]。

1.4 渲染农场的规模定位

渲染农场的规模决定了其渲染性能,而其规模的大小最直观的一个指标就是系统内中央处理器的多少。根据适用性原则,需要在构建渲染农场之前对其规模有一个清晰的定位,因为其规模大小直接决定了投入的成本。拿一个90 min动画电影的CG渲染的工作,进行渲染农场的计算量分析,如表1所示。

表1 渲染农场进行CG电影渲染的计算量分析

基于表1可见,构建一个渲染农场,大规模渲染平台应保持在300~800个中央处理器,中小型的渲染平台建议在150中央处理器上下[8]。

1.5 总体系统构架

系统中设备基本全部安放在42U的标准机柜上,计算服务器通过千兆交换机连接。存储采用PCIe高速磁盘阵列。每台计算节点工作站都有千兆以太网口,通过千兆以太网口来和其他计算节点通信并读写存储数据。如图1所示。

图1 渲染农场系统功能拓扑图

2 系统的总体设计目标

根据渲染农场的工作对象以及其规模大小的定位,系统需要实现以下设计目标:

(1) 系统的先进性。在控制系统构建成本的前提下,提高系统的运行效率。采用更先进的软硬件技术可以大大提高系统渲染的效率,减少作业等待的时间。

(2) 系统的实用性。整个架构在设计上应当在深入了解和充分理解了动漫渲染行业的应用和需求的基础上,本着以人为本,以实用为本的原则,使用更适用于动漫设计人员、更贴合业界标准和更简单易用的网络工作流程和软件系统。

(3) 系统的可靠性。系统要能够实现7*24无故障不间断长期稳定运行。

(4) 系统的安全性。稳定安全的系统直接关系到用户的制作效率。先进的集群管理软件可以时时刻刻监测整个环境中的每台计算服务器,单一计算节点的当机对整个集群渲染没有任何影响。

(5) 系统的开放性。系统的集群管理软件使用标准的开发系统架构,有很好的可开发性。支持C++、Perl、Python语言的脚本程序。

(6) 系统的经济性。在满足需求的同时,选择高性价比的产品是很重要的。

(7) 系统的可扩展性。采用开放的系统结构和接口设计,可以让我们在后期对渲染节点的数量、渲染性能、存储容量、网络性能等方面进行必要的升级扩充。

(8) 系统的可维护性。系统中要有相应的系统监控功能,通过集群管理软件可以查看每台计算服务器的运行状态,每个任务的实时情况,有详尽的日志文件,便于及时发现和排查渲染过程中出现的问题[9]。

3 系统整体方案设计

3.1 整体方案拓扑图(见图2)

图2 集群方案拓扑图

3.2 方案拓扑图分析

3.2.1以太网系统

网络中服务器通过千兆以太网交换机连接。每台服务器都集成千兆以太网端口,其端口用来互相通讯和读写存储数据,使用千兆网线连接交换机。当规模大的时候需要进行组网设计。

3.2.2存储系统

为了可以应对高质量的CG电影的后期渲染工作,存储系统需要具有速度快、容量大、安全稳定、兼容性好、管理维护简单等性能特点。

渲染农场的存储系统要求可以向MAC、WIN或LINUX工作站主系统提供持续700 MB/s以上的实际传输带宽,这样才能应对高清以及电影级无压缩视频内容的制作。通过多台集联,可获得更高传输带宽,用以满足4k影像后期制作所需高速存储IO要求[10]。

3.2.3计算服务器

计算服务器是整个集群渲染系统中的“老黄牛”,所有的计算压力都在它身上,所以这个“老黄牛”的好与差决定了整个集群渲染系统的处理能力。

计算服务器性能要求高,需要是具有真正意义的64位计算能力、丰富可管理性和稳定性的企业级产品。控制端操作系统采用Windows Sever 2008系统,渲染节点端可使用Windows 7 64 bit操作系统。

3.3 集群管理软件

集群管理软件是整个集群渲染系统中的“灵魂”。只有通过集群管理软件才能对需要渲染的任务进行拆分和分发。

集群渲染系统可采用PipelineFX公司的Qube集群管理软件。Qube被世界一流的电影和游戏工作室用于后期制作。例如:Digital Domain、South Park Studios、Electronic Arts、Rainmaker Animation、Laika Studios、Disney Interactive Studios、Starz Entertainment、Imagi、Reel FX、Attitude Studio等。并且在“骇客帝国”、“最终幻想”和“怪物史莱克”中加以应用。

集群管理软件通过一系列分布式工作命令将大量的渲染计算工作分配给系统中各个客户端进行渲染,由此可以提供强大的渲染能力。我们便可以高效率地完成CG电影的最终渲染工作。借助渲染农场分布式并行计算,我们可以将一个大型的模型进行快速渲染,缩短至几倍几十倍甚至上百倍之一的时间。

并行集群渲染系统是由若干台PC构成的计算机网络系统,“三个臭皮匠,顶个诸葛亮”的谚语来形容它非常合适;之所以称其为“并行”,是因为这个系统中所有的计算机同时做同一个工作的不同部分。集群渲染的基本思路,就是把渲染的任务分配给多台PC机来完成,简而言之,就是将任务分而治之[11]。

3.4 系统工作流程

在渲染农场里的主机都会建立一个名为“Qubeproxy”的用户,所用执行的命令都是这个用户下的。提交的任务都会记录在其后台的数据库中。其它渲染节点工作站都可以通过系统管理界面(GUI窗口)来监看渲染进程。这些正在渲染和等待渲染的工作,在渲染农场管理程序中叫Queued(渲染队列)。

图3 渲染农场系统工作流程图

系统网络有一个“心跳检测”功能,每台节点会自动Ping服务器,以定期报告它的状态。这样服务器可以确认节点机器是否“活着”,以便于是否分配任务给它,这样服务器就不必要明确列出来的每台机器的状态。当这台节点不自动Ping服务器了,服务器就认为它“死掉”了。这样使得管理人员可以随时掌握最新的渲染农场的状态。当网络中的某台渲染客户端没有渲染工作的时候,就会自动寻找新的渲染工作,会将这个Queued(队列)自动Active(激活),然后进行渲染。在系统进行渲染工作的过程中我们可以通过系统监测窗口(GUI)对渲染工作进程进行管理。如果对最终的渲染结果不满意,则重排任务重新渲染。渲染任务最终完成以后,队列可以Archive(存档),存档的工作将不能被修改,以便检索和提交报告[12]。

4 结 语

(1) 渲染农场的方案需要根据用户的实际需求和便于以后升级的需求定制的。

(2) 渲染农场是针对三维动画和影视特效而开发的系统,不同于网络计算和科学运算方面的集群系统,所以在系统设计中要有行业针对性,具有可用性[13]。

(3) 根据相关权威机构调查,“目前我国的动漫产业发展空间巨大,目前已有超百亿元的产值,再经过5~10年的时间,动漫产业在国民生产总值中的比重能够从目前的水平提高到百分之一。”政府牵头建立公共集群渲染服务平台可以有效地解决渲染农场的利用率问题,提高其投入产出比,可以实现为相关大专院校及动漫企业服务,有效的带动国内动漫产业的迅速发展[14]。

(4) 国外各类动漫及相关游戏产品在国内的市场占有率超过50%,相比之下国内动漫产业发展明显滞后,国内动漫产业目前还没有形成“产业链效应”。因此在政府层面去引导和鼓励国内优秀动漫产品的商业化,建立动漫产业可以共享的资源及技术平台,有效地整合周边产业资源、振兴民族动漫产业发展,这些都显得尤为迫切[15]。

[1] 刘勃宏. 动画短片中CG技术的发展现状及问题[J]. 大众文艺, 2012,11:166-167.

LIU Bo-hong. The development status of CG technology in animated short film and problems[J]. Art and Literature for the Masses,2012(11):166-167.

[2] 陈双寅. 也谈CG特效技术对电影制作的影响[J]. 当代电影, 2011(12):148-150.

CHEN Shuang-yin. About the CG effects technology impact on film production[J]. Contemporary Film, 2011(12):148-150.

[3] 姚 婧,何聚厚.基于模糊聚类分析的云计算负载平衡策略[J].计算机应用,2012(1):219-223.

YAO Qian,HE Ju-hou. Load balance strategy of cloud computing based on fuzzy clustering analysis[J]. Journal of Computer Applications, 2012(1):219-223.

[4] 张 燕. 基于反馈控制的集群渲染系统[D]. 长沙:湖南师范大学, 2008.

[5] 叶世绮,赵 喆,王 辉.基于CMM/CMMI的云计算能力评价研究[J].计算机应用研究,2012(1):113-117.

YE Shi-qi, ZHAO Zhe, WANG Hui. Research of cloud computing capability evaluation based on CMM/CMMI[J].Application Research of Computers, 2012(1):113-117.

[6] 戴 艺,苏金树,孙志刚. 基于流映射的负载均衡调度算法研究[J]. 计算机学报, 2012(2):28-38.

DAI Yi, SU Jin-shu, SUN Zhi-gang. Research of a Load-Balanced Algorithm Based on Flow Mapping[J]. Chinese Journal of Computers, 2012(2):28-38.

[7] 王 聪,王翠荣,王兴伟,等.面向云计算的数据中心网络体系结构设计[J].计算机研究与发展,2012(2):72-79.

WANG Cong, WANG Cui-rong, WANG Xing-wei, JIANG dinged. Network Architecture Design for Data Centers Towards Cloud Computing[J]. Journal of Computer Research and Development, 2012(2):72-79.

[8] 赵 炯. MasPar公司的并行处理系统[J].计算机与数字工程,2003(1):47.

ZHAO Jong, MasPar parallel processing system of the company[J].Computer & Digital Engineering, 2003(1):47.

[9] 何 元. 基于云计算的海量数据挖掘分类算法研究[D]. 成都:电子科技大学,2011.

[10] 孙冬朔. 关于电影数字化生存的几点随想[J]. 影视技术, 2000(5):13-15.

SUN Dong-shuo. Some random thoughts about film digital life[J]. Advanced Motion Picture Technology, 2000(5):13-15.

[11] 唐 剑. 试论电影制作数字化对电影的影响[J]. 徐州教育学院学报, 2000(2):71-76.

TANG Jian. About the effect of digital film production on film[J]. Journal of Xuzhou Education College, 2000(2):71-76.

[12] 罗立新. 数字时代影视艺术与技术的关系探讨——由《阿凡达》现象引发的思考[J].科技信息,2010/29:482-483.

LUO Li-xin. The relationship between video art and technology during digital times——thinking caused by “Avatar” phenomenon[J]. Science & Technology Information, 2010(29):482-483.

[13] 李磊明. 数字化时代的影视艺术[J]. 当代电视,2001(15):47-48.

LI Lei-ming. Video art in the digital age[J].Contemporary TV,2001(15):47-48.

[14] 陈丽丹, 郝 昕. 动画制作工艺与艺术风格的互促关系——CG动画工艺带来的新发展[J]. 当代电影, 2012(11):150-153.

CHEN Li-dan, HAO Xin. The new development of CG technics in animation[J]. Contemporary Cinema,2012(11):150-153.

[15] 栾毅之.中国数字电影产业体系的构建[D].山东:山东师范大学,2009.

猜你喜欢
管理软件动漫集群
仓储管理软件在物流自动化解决方案中的应用与发展
海上小型无人机集群的反制装备需求与应对之策研究
项目法在工程造价管理软件中的应用
一种无人机集群发射回收装置的控制系统设计
Python与Spark集群在收费数据分析中的应用
共享电单车的管理软件
勤快又呆萌的集群机器人
动漫二次元
锋绘动漫
开口笑