梁 驥
(寧波廣播電視大學(xué) 文法系,浙江 寧波 315000)
在電影后期制作過程中所面臨的一大難題是如何分擔(dān)工作負(fù)荷。我們通過使用分布式集群渲染來進(jìn)行電影的后期圖形渲染工作,也就是就是依托網(wǎng)絡(luò),使用集群管理軟件將龐大的計(jì)算工作分配給網(wǎng)絡(luò)上的很多渲染節(jié)點(diǎn)工作站去分擔(dān),工作站越多處理器越多,其三維渲染能力也就越強(qiáng),集群計(jì)算大大節(jié)省了工作時間。這種分布式集群渲染系統(tǒng)[1-2]便是通常我們所說的渲染農(nóng)場。強(qiáng)大的渲染農(nóng)場可以讓我們在最短的時間內(nèi)看到CG電影的最終效果,這樣便大大提高了我們動畫創(chuàng)意的效率[3]。
渲染農(nóng)場就是一種利用集群管理軟件將幾十個幾百個甚至幾千幾萬個不等的處理器,利用高速網(wǎng)絡(luò)構(gòu)建起來的一個計(jì)算機(jī)群,其性能可以接近超級計(jì)算機(jī)的計(jì)算能力。這樣一來解決了動畫電影中最終的CG合成渲染所需要的龐大數(shù)據(jù)計(jì)算量的難題。目前除了電影特效、三維動畫,還有建筑、新城規(guī)劃的實(shí)景圖制作也都會用到這項(xiàng)技術(shù)。
(1) 質(zhì)量要求提高。目前的電影領(lǐng)域越來越多地運(yùn)用到了CG技術(shù),而高清甚至4K畫面也越來越普及,對于三維渲染性能本身的要求就越來越高。
(2) 制作產(chǎn)生了瓶頸。在實(shí)際渲染工作中,承擔(dān)主要計(jì)算工作的是CPU,但無論是雙核四核甚至是八核cpu在面對高清動畫電影三維渲染的龐大計(jì)算量時,都是不能勝任的。我們用目前最先進(jìn)、性能最強(qiáng)大的單機(jī)工作站去渲染一幀較復(fù)雜場景也可能需要花費(fèi)數(shù)小時的時間。那么如果要是使用它去處理一部90 min完整的動畫電影,這幾乎無法想象需要花費(fèi)多少時間。這已經(jīng)成為CG動畫產(chǎn)業(yè)的最大瓶頸[4]。
在商務(wù)應(yīng)用中這種結(jié)果的滯后性影響到影視制作人員的創(chuàng)意以及思維的連貫,對作品質(zhì)量有很大影響,同時這種延時也成為制作周期中難以回避的一個環(huán)節(jié)。當(dāng)然我們也可以使用多臺工作站來共同渲染同一個工作任務(wù),這樣可以稍微減少一些渲染時間,但所有參與的工作站就無法去進(jìn)行其他的工作,所以這種方案是不劃算的,我們需要的是一個專門負(fù)責(zé)渲染的計(jì)算機(jī)群[5]。
構(gòu)建一個渲染農(nóng)場需要花費(fèi)巨額的經(jīng)費(fèi),所以追求一個投入產(chǎn)出比,這是我們一定要考慮的問題。首先這個渲染農(nóng)場需要滿足相適應(yīng)的性能,渲染一部全CG電影所花費(fèi)工作量是非常龐大的。通常渲染一幀2K分辨率的電影畫面大概需要花費(fèi)1 h左右,但是目前電影的分辨率至少是4K,有的甚至達(dá)到8K分辨率,隨著分辨率的提高,其渲染工作量會是一個指數(shù)級別的上升。如果場景還涉及到粒子、流體等復(fù)雜計(jì)算的時候,渲染的速度又會成倍提高,我們可能需要花費(fèi)10小時的時間來渲染一幀畫面。因此,渲染農(nóng)場的高性能是我們最關(guān)注的特點(diǎn)之一。其次,系統(tǒng)的可靠性也是我們需要關(guān)注的重點(diǎn)之一[6]。一套高性能的渲染農(nóng)場同時也應(yīng)該是一套更可靠的渲染農(nóng)場,只有高可靠的渲染集群才能保證整套系統(tǒng)運(yùn)行的高性能。單位能耗下可以實(shí)現(xiàn)多少性能,綠色節(jié)能、低能耗的渲染農(nóng)場不但可以滿足用戶批量渲染的制作需求,同時在后期使用過程中也可以節(jié)約大量的能耗開支。最后怎么花更少的錢來構(gòu)建一個符合要求的渲染農(nóng)場是關(guān)鍵
問題。
根據(jù)不同的工作需要,構(gòu)建的渲染農(nóng)場需要具備以下功能:
(1) 集群渲染解決方案需要滿足大的計(jì)算量、緊張的制作周期;
(2) 滿足常用渲染引擎:mayasoftware、mentalray、renderman等;
(3) 滿足存儲空間容量;
(4) 滿足擴(kuò)容的方便;
(5) 集群渲染解決方案既要滿足客戶的當(dāng)前需求,又要具有前瞻性。以滿足客戶的高速發(fā)展對計(jì)算量、存儲空間的不斷增長的需求[7]。
渲染農(nóng)場的規(guī)模決定了其渲染性能,而其規(guī)模的大小最直觀的一個指標(biāo)就是系統(tǒng)內(nèi)中央處理器的多少。根據(jù)適用性原則,需要在構(gòu)建渲染農(nóng)場之前對其規(guī)模有一個清晰的定位,因?yàn)槠湟?guī)模大小直接決定了投入的成本。拿一個90 min動畫電影的CG渲染的工作,進(jìn)行渲染農(nóng)場的計(jì)算量分析,如表1所示。
表1 渲染農(nóng)場進(jìn)行CG電影渲染的計(jì)算量分析
基于表1可見,構(gòu)建一個渲染農(nóng)場,大規(guī)模渲染平臺應(yīng)保持在300~800個中央處理器,中小型的渲染平臺建議在150中央處理器上下[8]。
系統(tǒng)中設(shè)備基本全部安放在42U的標(biāo)準(zhǔn)機(jī)柜上,計(jì)算服務(wù)器通過千兆交換機(jī)連接。存儲采用PCIe高速磁盤陣列。每臺計(jì)算節(jié)點(diǎn)工作站都有千兆以太網(wǎng)口,通過千兆以太網(wǎng)口來和其他計(jì)算節(jié)點(diǎn)通信并讀寫存儲數(shù)據(jù)。如圖1所示。
圖1 渲染農(nóng)場系統(tǒng)功能拓?fù)鋱D
根據(jù)渲染農(nóng)場的工作對象以及其規(guī)模大小的定位,系統(tǒng)需要實(shí)現(xiàn)以下設(shè)計(jì)目標(biāo):
(1) 系統(tǒng)的先進(jìn)性。在控制系統(tǒng)構(gòu)建成本的前提下,提高系統(tǒng)的運(yùn)行效率。采用更先進(jìn)的軟硬件技術(shù)可以大大提高系統(tǒng)渲染的效率,減少作業(yè)等待的時間。
(2) 系統(tǒng)的實(shí)用性。整個架構(gòu)在設(shè)計(jì)上應(yīng)當(dāng)在深入了解和充分理解了動漫渲染行業(yè)的應(yīng)用和需求的基礎(chǔ)上,本著以人為本,以實(shí)用為本的原則,使用更適用于動漫設(shè)計(jì)人員、更貼合業(yè)界標(biāo)準(zhǔn)和更簡單易用的網(wǎng)絡(luò)工作流程和軟件系統(tǒng)。
(3) 系統(tǒng)的可靠性。系統(tǒng)要能夠?qū)崿F(xiàn)7*24無故障不間斷長期穩(wěn)定運(yùn)行。
(4) 系統(tǒng)的安全性。穩(wěn)定安全的系統(tǒng)直接關(guān)系到用戶的制作效率。先進(jìn)的集群管理軟件可以時時刻刻監(jiān)測整個環(huán)境中的每臺計(jì)算服務(wù)器,單一計(jì)算節(jié)點(diǎn)的當(dāng)機(jī)對整個集群渲染沒有任何影響。
(5) 系統(tǒng)的開放性。系統(tǒng)的集群管理軟件使用標(biāo)準(zhǔn)的開發(fā)系統(tǒng)架構(gòu),有很好的可開發(fā)性。支持C++、Perl、Python語言的腳本程序。
(6) 系統(tǒng)的經(jīng)濟(jì)性。在滿足需求的同時,選擇高性價(jià)比的產(chǎn)品是很重要的。
(7) 系統(tǒng)的可擴(kuò)展性。采用開放的系統(tǒng)結(jié)構(gòu)和接口設(shè)計(jì),可以讓我們在后期對渲染節(jié)點(diǎn)的數(shù)量、渲染性能、存儲容量、網(wǎng)絡(luò)性能等方面進(jìn)行必要的升級擴(kuò)充。
(8) 系統(tǒng)的可維護(hù)性。系統(tǒng)中要有相應(yīng)的系統(tǒng)監(jiān)控功能,通過集群管理軟件可以查看每臺計(jì)算服務(wù)器的運(yùn)行狀態(tài),每個任務(wù)的實(shí)時情況,有詳盡的日志文件,便于及時發(fā)現(xiàn)和排查渲染過程中出現(xiàn)的問題[9]。
圖2 集群方案拓?fù)鋱D
3.2.1以太網(wǎng)系統(tǒng)
網(wǎng)絡(luò)中服務(wù)器通過千兆以太網(wǎng)交換機(jī)連接。每臺服務(wù)器都集成千兆以太網(wǎng)端口,其端口用來互相通訊和讀寫存儲數(shù)據(jù),使用千兆網(wǎng)線連接交換機(jī)。當(dāng)規(guī)模大的時候需要進(jìn)行組網(wǎng)設(shè)計(jì)。
3.2.2存儲系統(tǒng)
為了可以應(yīng)對高質(zhì)量的CG電影的后期渲染工作,存儲系統(tǒng)需要具有速度快、容量大、安全穩(wěn)定、兼容性好、管理維護(hù)簡單等性能特點(diǎn)。
渲染農(nóng)場的存儲系統(tǒng)要求可以向MAC、WIN或LINUX工作站主系統(tǒng)提供持續(xù)700 MB/s以上的實(shí)際傳輸帶寬,這樣才能應(yīng)對高清以及電影級無壓縮視頻內(nèi)容的制作。通過多臺集聯(lián),可獲得更高傳輸帶寬,用以滿足4k影像后期制作所需高速存儲IO要求[10]。
3.2.3計(jì)算服務(wù)器
計(jì)算服務(wù)器是整個集群渲染系統(tǒng)中的“老黃?!?,所有的計(jì)算壓力都在它身上,所以這個“老黃牛”的好與差決定了整個集群渲染系統(tǒng)的處理能力。
計(jì)算服務(wù)器性能要求高,需要是具有真正意義的64位計(jì)算能力、豐富可管理性和穩(wěn)定性的企業(yè)級產(chǎn)品。控制端操作系統(tǒng)采用Windows Sever 2008系統(tǒng),渲染節(jié)點(diǎn)端可使用Windows 7 64 bit操作系統(tǒng)。
集群管理軟件是整個集群渲染系統(tǒng)中的“靈魂”。只有通過集群管理軟件才能對需要渲染的任務(wù)進(jìn)行拆分和分發(fā)。
集群渲染系統(tǒng)可采用PipelineFX公司的Qube集群管理軟件。Qube被世界一流的電影和游戲工作室用于后期制作。例如:Digital Domain、South Park Studios、Electronic Arts、Rainmaker Animation、Laika Studios、Disney Interactive Studios、Starz Entertainment、Imagi、Reel FX、Attitude Studio等。并且在“駭客帝國”、“最終幻想”和“怪物史萊克”中加以應(yīng)用。
集群管理軟件通過一系列分布式工作命令將大量的渲染計(jì)算工作分配給系統(tǒng)中各個客戶端進(jìn)行渲染,由此可以提供強(qiáng)大的渲染能力。我們便可以高效率地完成CG電影的最終渲染工作。借助渲染農(nóng)場分布式并行計(jì)算,我們可以將一個大型的模型進(jìn)行快速渲染,縮短至幾倍幾十倍甚至上百倍之一的時間。
并行集群渲染系統(tǒng)是由若干臺PC構(gòu)成的計(jì)算機(jī)網(wǎng)絡(luò)系統(tǒng),“三個臭皮匠,頂個諸葛亮”的諺語來形容它非常合適;之所以稱其為“并行”,是因?yàn)檫@個系統(tǒng)中所有的計(jì)算機(jī)同時做同一個工作的不同部分。集群渲染的基本思路,就是把渲染的任務(wù)分配給多臺PC機(jī)來完成,簡而言之,就是將任務(wù)分而治之[11]。
在渲染農(nóng)場里的主機(jī)都會建立一個名為“Qubeproxy”的用戶,所用執(zhí)行的命令都是這個用戶下的。提交的任務(wù)都會記錄在其后臺的數(shù)據(jù)庫中。其它渲染節(jié)點(diǎn)工作站都可以通過系統(tǒng)管理界面(GUI窗口)來監(jiān)看渲染進(jìn)程。這些正在渲染和等待渲染的工作,在渲染農(nóng)場管理程序中叫Queued(渲染隊(duì)列)。
圖3 渲染農(nóng)場系統(tǒng)工作流程圖
系統(tǒng)網(wǎng)絡(luò)有一個“心跳檢測”功能,每臺節(jié)點(diǎn)會自動Ping服務(wù)器,以定期報(bào)告它的狀態(tài)。這樣服務(wù)器可以確認(rèn)節(jié)點(diǎn)機(jī)器是否“活著”,以便于是否分配任務(wù)給它,這樣服務(wù)器就不必要明確列出來的每臺機(jī)器的狀態(tài)。當(dāng)這臺節(jié)點(diǎn)不自動Ping服務(wù)器了,服務(wù)器就認(rèn)為它“死掉”了。這樣使得管理人員可以隨時掌握最新的渲染農(nóng)場的狀態(tài)。當(dāng)網(wǎng)絡(luò)中的某臺渲染客戶端沒有渲染工作的時候,就會自動尋找新的渲染工作,會將這個Queued(隊(duì)列)自動Active(激活),然后進(jìn)行渲染。在系統(tǒng)進(jìn)行渲染工作的過程中我們可以通過系統(tǒng)監(jiān)測窗口(GUI)對渲染工作進(jìn)程進(jìn)行管理。如果對最終的渲染結(jié)果不滿意,則重排任務(wù)重新渲染。渲染任務(wù)最終完成以后,隊(duì)列可以Archive(存檔),存檔的工作將不能被修改,以便檢索和提交報(bào)告[12]。
(1) 渲染農(nóng)場的方案需要根據(jù)用戶的實(shí)際需求和便于以后升級的需求定制的。
(2) 渲染農(nóng)場是針對三維動畫和影視特效而開發(fā)的系統(tǒng),不同于網(wǎng)絡(luò)計(jì)算和科學(xué)運(yùn)算方面的集群系統(tǒng),所以在系統(tǒng)設(shè)計(jì)中要有行業(yè)針對性,具有可用性[13]。
(3) 根據(jù)相關(guān)權(quán)威機(jī)構(gòu)調(diào)查,“目前我國的動漫產(chǎn)業(yè)發(fā)展空間巨大,目前已有超百億元的產(chǎn)值,再經(jīng)過5~10年的時間,動漫產(chǎn)業(yè)在國民生產(chǎn)總值中的比重能夠從目前的水平提高到百分之一?!闭疇款^建立公共集群渲染服務(wù)平臺可以有效地解決渲染農(nóng)場的利用率問題,提高其投入產(chǎn)出比,可以實(shí)現(xiàn)為相關(guān)大專院校及動漫企業(yè)服務(wù),有效的帶動國內(nèi)動漫產(chǎn)業(yè)的迅速發(fā)展[14]。
(4) 國外各類動漫及相關(guān)游戲產(chǎn)品在國內(nèi)的市場占有率超過50%,相比之下國內(nèi)動漫產(chǎn)業(yè)發(fā)展明顯滯后,國內(nèi)動漫產(chǎn)業(yè)目前還沒有形成“產(chǎn)業(yè)鏈效應(yīng)”。因此在政府層面去引導(dǎo)和鼓勵國內(nèi)優(yōu)秀動漫產(chǎn)品的商業(yè)化,建立動漫產(chǎn)業(yè)可以共享的資源及技術(shù)平臺,有效地整合周邊產(chǎn)業(yè)資源、振興民族動漫產(chǎn)業(yè)發(fā)展,這些都顯得尤為迫切[15]。
[1] 劉勃宏. 動畫短片中CG技術(shù)的發(fā)展現(xiàn)狀及問題[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特效技術(shù)對電影制作的影響[J]. 當(dāng)代電影, 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ì)算負(fù)載平衡策略[J].計(jì)算機(jī)應(yīng)用,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] 張 燕. 基于反饋控制的集群渲染系統(tǒng)[D]. 長沙:湖南師范大學(xué), 2008.
[5] 葉世綺,趙 喆,王 輝.基于CMM/CMMI的云計(jì)算能力評價(jià)研究[J].計(jì)算機(jī)應(yīng)用研究,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] 戴 藝,蘇金樹,孫志剛. 基于流映射的負(fù)載均衡調(diào)度算法研究[J]. 計(jì)算機(jī)學(xué)報(bào), 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ì)算的數(shù)據(jù)中心網(wǎng)絡(luò)體系結(jié)構(gòu)設(shè)計(jì)[J].計(jì)算機(jī)研究與發(fā)展,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公司的并行處理系統(tǒng)[J].計(jì)算機(jī)與數(shù)字工程,2003(1):47.
ZHAO Jong, MasPar parallel processing system of the company[J].Computer & Digital Engineering, 2003(1):47.
[9] 何 元. 基于云計(jì)算的海量數(shù)據(jù)挖掘分類算法研究[D]. 成都:電子科技大學(xué),2011.
[10] 孫冬朔. 關(guān)于電影數(shù)字化生存的幾點(diǎn)隨想[J]. 影視技術(shù), 2000(5):13-15.
SUN Dong-shuo. Some random thoughts about film digital life[J]. Advanced Motion Picture Technology, 2000(5):13-15.
[11] 唐 劍. 試論電影制作數(shù)字化對電影的影響[J]. 徐州教育學(xué)院學(xué)報(bào), 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] 羅立新. 數(shù)字時代影視藝術(shù)與技術(shù)的關(guān)系探討——由《阿凡達(dá)》現(xiàn)象引發(fā)的思考[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] 李磊明. 數(shù)字化時代的影視藝術(shù)[J]. 當(dāng)代電視,2001(15):47-48.
LI Lei-ming. Video art in the digital age[J].Contemporary TV,2001(15):47-48.
[14] 陳麗丹, 郝 昕. 動畫制作工藝與藝術(shù)風(fēng)格的互促關(guān)系——CG動畫工藝帶來的新發(fā)展[J]. 當(dāng)代電影, 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] 欒毅之.中國數(shù)字電影產(chǎn)業(yè)體系的構(gòu)建[D].山東:山東師范大學(xué),2009.