enfuzion与lsf构建渲染集群_渲染农场 - 秦瑞It行程实录 - 博客园
渲染農場,從誕生起就是跟“大”聯系在一起的。大項目,大團隊,大集群,隨著渲染農場誕生,其關鍵詞就是——— 大!超級大!但是由于客戶對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聲像中心、重慶動漫平臺??大連動漫基地??未知(有小型工作室使用)??有一些工作室使用
總結
以上是生活随笔為你收集整理的enfuzion与lsf构建渲染集群_渲染农场 - 秦瑞It行程实录 - 博客园的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 赵承熙获美国人宽恕,马加爵呢
- 下一篇: Android的任务栈以及应用场景