梁 驥
(寧波廣播電視大學 文法系,浙江 寧波 315000)
在電影后期制作過程中所面臨的一大難題是如何分擔工作負荷。我們通過使用分布式集群渲染來進行電影的后期圖形渲染工作,也就是就是依托網絡,使用集群管理軟件將龐大的計算工作分配給網絡上的很多渲染節點工作站去分擔,工作站越多處理器越多,其三維渲染能力也就越強,集群計算大大節省了工作時間。這種分布式集群渲染系統[1-2]便是通常我們所說的渲染農場。強大的渲染農場可以讓我們在最短的時間內看到CG電影的最終效果,這樣便大大提高了我們動畫創意的效率[3]。
渲染農場就是一種利用集群管理軟件將幾十個幾百個甚至幾千幾萬個不等的處理器,利用高速網絡構建起來的一個計算機群,其性能可以接近超級計算機的計算能力。這樣一來解決了動畫電影中最終的CG合成渲染所需要的龐大數據計算量的難題。目前除了電影特效、三維動畫,還有建筑、新城規劃的實景圖制作也都會用到這項技術。
(1) 質量要求提高。目前的電影領域越來越多地運用到了CG技術,而高清甚至4K畫面也越來越普及,對于三維渲染性能本身的要求就越來越高。
(2) 制作產生了瓶頸。在實際渲染工作中,承擔主要計算工作的是CPU,但無論是雙核四核甚至是八核cpu在面對高清動畫電影三維渲染的龐大計算量時,都是不能勝任的。我們用目前最先進、性能最強大的單機工作站去渲染一幀較復雜場景也可能需要花費數小時的時間。那么如果要是使用它去處理一部90 min完整的動畫電影,這幾乎無法想象需要花費多少時間。這已經成為CG動畫產業的最大瓶頸[4]。
在商務應用中這種結果的滯后性影響到影視制作人員的創意以及思維的連貫,對作品質量有很大影響,同時這種延時也成為制作周期中難以回避的一個環節。當然我們也可以使用多臺工作站來共同渲染同一個工作任務,這樣可以稍微減少一些渲染時間,但所有參與的工作站就無法去進行其他的工作,所以這種方案是不劃算的,我們需要的是一個專門負責渲染的計算機群[5]。
構建一個渲染農場需要花費巨額的經費,所以追求一個投入產出比,這是我們一定要考慮的問題。首先這個渲染農場需要滿足相適應的性能,渲染一部全CG電影所花費工作量是非常龐大的。通常渲染一幀2K分辨率的電影畫面大概需要花費1 h左右,但是目前電影的分辨率至少是4K,有的甚至達到8K分辨率,隨著分辨率的提高,其渲染工作量會是一個指數級別的上升。如果場景還涉及到粒子、流體等復雜計算的時候,渲染的速度又會成倍提高,我們可能需要花費10小時的時間來渲染一幀畫面。因此,渲染農場的高性能是我們最關注的特點之一。其次,系統的可靠性也是我們需要關注的重點之一[6]。一套高性能的渲染農場同時也應該是一套更可靠的渲染農場,只有高可靠的渲染集群才能保證整套系統運行的高性能。單位能耗下可以實現多少性能,綠色節能、低能耗的渲染農場不但可以滿足用戶批量渲染的制作需求,同時在后期使用過程中也可以節約大量的能耗開支。最后怎么花更少的錢來構建一個符合要求的渲染農場是關鍵
問題。
根據不同的工作需要,構建的渲染農場需要具備以下功能:
(1) 集群渲染解決方案需要滿足大的計算量、緊張的制作周期;
(2) 滿足常用渲染引擎:mayasoftware、mentalray、renderman等;
(3) 滿足存儲空間容量;
(4) 滿足擴容的方便;
(5) 集群渲染解決方案既要滿足客戶的當前需求,又要具有前瞻性。以滿足客戶的高速發展對計算量、存儲空間的不斷增長的需求[7]。
渲染農場的規模決定了其渲染性能,而其規模的大小最直觀的一個指標就是系統內中央處理器的多少。根據適用性原則,需要在構建渲染農場之前對其規模有一個清晰的定位,因為其規模大小直接決定了投入的成本。拿一個90 min動畫電影的CG渲染的工作,進行渲染農場的計算量分析,如表1所示。

表1 渲染農場進行CG電影渲染的計算量分析
基于表1可見,構建一個渲染農場,大規模渲染平臺應保持在300~800個中央處理器,中小型的渲染平臺建議在150中央處理器上下[8]。
系統中設備基本全部安放在42U的標準機柜上,計算服務器通過千兆交換機連接。存儲采用PCIe高速磁盤陣列。每臺計算節點工作站都有千兆以太網口,通過千兆以太網口來和其他計算節點通信并讀寫存儲數據。如圖1所示。

圖1 渲染農場系統功能拓撲圖
根據渲染農場的工作對象以及其規模大小的定位,系統需要實現以下設計目標:
(1) 系統的先進性。在控制系統構建成本的前提下,提高系統的運行效率。采用更先進的軟硬件技術可以大大提高系統渲染的效率,減少作業等待的時間。
(2) 系統的實用性。整個架構在設計上應當在深入了解和充分理解了動漫渲染行業的應用和需求的基礎上,本著以人為本,以實用為本的原則,使用更適用于動漫設計人員、更貼合業界標準和更簡單易用的網絡工作流程和軟件系統。
(3) 系統的可靠性。系統要能夠實現7*24無故障不間斷長期穩定運行。
(4) 系統的安全性。穩定安全的系統直接關系到用戶的制作效率。先進的集群管理軟件可以時時刻刻監測整個環境中的每臺計算服務器,單一計算節點的當機對整個集群渲染沒有任何影響。
(5) 系統的開放性。系統的集群管理軟件使用標準的開發系統架構,有很好的可開發性。支持C++、Perl、Python語言的腳本程序。
(6) 系統的經濟性。在滿足需求的同時,選擇高性價比的產品是很重要的。
(7) 系統的可擴展性。采用開放的系統結構和接口設計,可以讓我們在后期對渲染節點的數量、渲染性能、存儲容量、網絡性能等方面進行必要的升級擴充。
(8) 系統的可維護性。系統中要有相應的系統監控功能,通過集群管理軟件可以查看每臺計算服務器的運行狀態,每個任務的實時情況,有詳盡的日志文件,便于及時發現和排查渲染過程中出現的問題[9]。

圖2 集群方案拓撲圖
3.2.1以太網系統
網絡中服務器通過千兆以太網交換機連接。每臺服務器都集成千兆以太網端口,其端口用來互相通訊和讀寫存儲數據,使用千兆網線連接交換機。當規模大的時候需要進行組網設計。
3.2.2存儲系統
為了可以應對高質量的CG電影的后期渲染工作,存儲系統需要具有速度快、容量大、安全穩定、兼容性好、管理維護簡單等性能特點。
渲染農場的存儲系統要求可以向MAC、WIN或LINUX工作站主系統提供持續700 MB/s以上的實際傳輸帶寬,這樣才能應對高清以及電影級無壓縮視頻內容的制作。通過多臺集聯,可獲得更高傳輸帶寬,用以滿足4k影像后期制作所需高速存儲IO要求[10]。
3.2.3計算服務器
計算服務器是整個集群渲染系統中的“老黃?!?,所有的計算壓力都在它身上,所以這個“老黃?!钡暮门c差決定了整個集群渲染系統的處理能力。
計算服務器性能要求高,需要是具有真正意義的64位計算能力、豐富可管理性和穩定性的企業級產品。控制端操作系統采用Windows Sever 2008系統,渲染節點端可使用Windows 7 64 bit操作系統。
集群管理軟件是整個集群渲染系統中的“靈魂”。只有通過集群管理軟件才能對需要渲染的任務進行拆分和分發。
集群渲染系統可采用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]。
在渲染農場里的主機都會建立一個名為“Qubeproxy”的用戶,所用執行的命令都是這個用戶下的。提交的任務都會記錄在其后臺的數據庫中。其它渲染節點工作站都可以通過系統管理界面(GUI窗口)來監看渲染進程。這些正在渲染和等待渲染的工作,在渲染農場管理程序中叫Queued(渲染隊列)。

圖3 渲染農場系統工作流程圖
系統網絡有一個“心跳檢測”功能,每臺節點會自動Ping服務器,以定期報告它的狀態。這樣服務器可以確認節點機器是否“活著”,以便于是否分配任務給它,這樣服務器就不必要明確列出來的每臺機器的狀態。當這臺節點不自動Ping服務器了,服務器就認為它“死掉”了。這樣使得管理人員可以隨時掌握最新的渲染農場的狀態。當網絡中的某臺渲染客戶端沒有渲染工作的時候,就會自動尋找新的渲染工作,會將這個Queued(隊列)自動Active(激活),然后進行渲染。在系統進行渲染工作的過程中我們可以通過系統監測窗口(GUI)對渲染工作進程進行管理。如果對最終的渲染結果不滿意,則重排任務重新渲染。渲染任務最終完成以后,隊列可以Archive(存檔),存檔的工作將不能被修改,以便檢索和提交報告[12]。
(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.