渲染農場

超級計算機種類之一

渲染農場(Renderfarm)其實是一種通俗的叫法,實際上應該叫他“分散式并行集群計算系統”,這是一種利用現成的CPU、乙太網和操作系統構建的超級計算機,它使用主流的商業計算機硬體設備達到或接近超級計算機的計算能力。

集群


指的是一組計算機通過通信協議連接在一起的計算機群,它們能夠將工作負載從一個超載的計算機遷移到集群中的其他計算機上,這一特性稱為負載均衡(load balancing),它的目標是使用主流的硬體設備組成網格計算能力,達到、甚至超過天價的超級計算機的計算性能。典型的超級計算機生產廠商包括IBM、SGI,以及其他一些大學、科研組織,以IBM Blue Pacific超級計算機為例,它擁有5800 個處理器來計算核反應的物理模擬過程,這樣的計算機價格對於絕大部分商業用戶是很難承受的,而且要面臨很多的技術和維護問題,並且換代成本也很高,升級能力差。因此,發展了利用通信技術連接其他計算機,組成一個網格計算系統,可以分配負載的工作給其他計算機的CPU進行處理的解決方法來模擬超級計算機的能力。目前很多超級計算機也是通過集群技術得到的,特別是近年,名列世界Top500的超級計算機多數指集群系統,集群計算已經是比較成熟技術,但它仍在繼續發展著。

計算機


渲染農場
渲染農場
目前的集群技術絕大多數都具有負載平衡的特性,他們主要應用於科學計算,包括航天航空、石油、科研、網路等行業,這種技術應用於電影電視、CG行業時,因為主要用來解決長時間的圖像渲染問題,所以被稱為“Renderfarm(渲染農場)”,最近的幾部大片的製作都依賴Renderfarm系統來進行快速渲染,比如Weta製作的《魔戒》,如果沒有Renderfarm(渲染農場)平台,而是使用高性能計算機的話,我們不知需要多少年以後才能看到這部電影,或者導演根本就不可能考慮製作這樣視覺效果的電影。

工作原理


分散式并行計算分為空間上的并行和時間上的并行。空間上的并行是指用多個處理器併發的執行計算,比如Mentalray渲染器就支持單幀畫面分割渲染,時間上的并行就是指流水線技術。現在的集群計算系統的前沿科學研究主要是空間并行方面的,時間上的流式并行計算已經得到廣泛應用。
以電影製作為例,一段電影圖像序列需要很長時間的渲染,(通常2K解析度所需要的渲染時間能被大家接受的大概是在每幀1小時左右),管理節點將序列圖像分割為若干單元通過Web分配給其他節點,這個過程是動態的,集群軟體會檢查每個節點的當前負載,如果某個計算節點硬體配置比較高,很快完成了第一次分配的渲染工作,那麼管理節點繼續會將剩餘工作分割為若干單元然後再發送給這個已完成渲染的空閑計算節點,直到渲染工作完成。目前用於CG渲染的商業RenderFarm軟體的核心功能其實就是動態分配渲染進程、網路監控和數據管理。
負載均衡系統使計算負載可以在計算機集群中儘可能平均分攤處理。負載一般是需要應用程序處理,這樣的系統適合於運行同一組應用程序的大量用戶,比如用於Maya渲染的工作組,每個節點都可以處理一部分工作,並且可以在集群節點之間動態分配負載,以實現平衡。
集群計算管理需要涉及網路流量和流量管理。負載均衡應用服務要求集群軟體檢查每個節點的當前負載,並確定哪些節點可以接受新的作業,這最適合運行如數據分析等串列和批處理作業,所以很容易允許具有批渲染能力的應用軟體載入集群功能,一些集群軟體被開發出來,它們通過TCP/IP 進行流量管理,並且針對特定的應用程序的API或Script介面編寫批處理命令,如Muster,並且這些集群軟體還可以配置成關注某特定節點的硬體或操作系統功能(受應用軟體制約),這樣,群集中的節點就沒有必要是一致的,硬體和系統異構也就很容易實現。
實現負載均衡的方式可以分為軟體負載均衡和硬體負載均衡兩種方式,由於硬體負載均衡的實現非常昂貴,很多集群系統都採用了軟體負載均衡,強氧集群系統就是使用軟體均衡。

計算問題


并行原理是將整個數據分割成N個模塊分配給N個CPU計算,在每一個CPU中啟動計算進程,由主進程調度各CPU的計算。
并行集群計算有一個效率發揮的問題,理論上CPU數量和渲染時間與實際會有差異,而且不同系統的實際時間也不盡相同。
理論上說CPU數量越大,渲染時間越短,它們成反比關係。例如,一個任務由N顆CPU來完成,假設1顆CPU(N = 1)完成此任務所需要的時間T為1, 則n顆CPU的效率是1顆CPU效率的N倍,也即
然而事實上,動畫渲染花費的時間和CPU的數量並非成線性反比。
當計算節點到某個數量級別的時候,簡單地增加CPU數量或者計算節點根本無法有效地提高渲染的效率,這時的計算方式為:
CPU個數達到一定數量后系統效率不但不增加,還有可能減少。造成這種問題的瓶頸主要在於通信(不止網路通信,還包括PC內部CPU、內存和硬碟之間的通信)和軟體的演演算法,系統中使用多少個節點計算機(基於CPU的數量)也是需要考慮的問題。
這就需要一個擁有優秀演演算法的集群渲染管理軟體CPU的效能並且使用性能優異的硬體配置。

價格表


機器型號核/小時台/小時台/天
i74790k4.4GHz40.6元2.4元57.6元
產品類型尺寸幀/秒單價台數單幀時長動畫時長渲染時長總價
產品動畫1280*720252.4元/小時500.5小時180秒45小時5400元
動畫片720*576252.4元/小時500.1小時1200秒60小時7200元

自助渲染平台


基於Web界面的自助式渲染農場為用戶提供了更簡單易用的使用界面,相對於傳統渲染農場,它能充分發揮網際網路的優勢,通過ftp進行渲染輸入輸出文件的上傳下載。而提交渲染任務的設置界面通過網頁實現,避免了傳統渲染農場需要管理員通過特殊的管理界面進行任務的提交。基於Web的渲染農場將是未來渲染行業的主流,國外已經有數家大型農場實現了web自助化。如respower、renderrocket,等等。
一般自助式渲染平台具備如下特性:
1.網頁提交渲染、實時監控任務
2.智能識別軟體與渲染器的版本
3.自動檢測缺失的貼圖和代理文件
4.自動重設光子文件路徑
5.自動分析場景文件參數
6.智能載入插件,按需載入
7.24小時運營、24小時服務
8.渲染完成後實時Email、手機簡訊通知
9.自動下載渲染結果
10.自動計算渲染時間,按幀計費