国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

延遲光照算法對Hadoop集群渲染系統(tǒng)的改進(jìn)與實現(xiàn)

2014-08-25 02:18:08
河北工業(yè)科技 2014年4期
關(guān)鍵詞:光源光照集群

張 亭

(天津美術(shù)學(xué)院設(shè)計與新媒體藝術(shù)實驗教學(xué)中心,天津 300342)

延遲光照算法對Hadoop集群渲染系統(tǒng)的改進(jìn)與實現(xiàn)

張 亭

(天津美術(shù)學(xué)院設(shè)計與新媒體藝術(shù)實驗教學(xué)中心,天津 300342)

針對集群渲染系統(tǒng)在三維場景文件輸出過程中,海量數(shù)據(jù)處理以及存儲的問題,利用Hadoop框架對現(xiàn)有系統(tǒng)進(jìn)行分布式模型改造,以基于延遲光照算法的處理方式,對分布式存儲和計算的業(yè)務(wù)邏輯結(jié)構(gòu)部署,實現(xiàn)改進(jìn)Hadoop集群渲染系統(tǒng)對任務(wù)的處理策略,提供高容錯、可靠的存儲和海量計算數(shù)據(jù)的方式。通過實驗證明改進(jìn)的Hadoop集群渲染系統(tǒng)可以提高系統(tǒng)利用率和任務(wù)處理能力。

集群渲染系統(tǒng);Hadoop;延遲光照算法

將三維軟件中建立的虛擬場景文件進(jìn)行數(shù)字化輸出,需對每個物體的顏色、材質(zhì)、光照等效果進(jìn)行渲染處理。由于計算量大,單靠一臺高配置服務(wù)器進(jìn)行計算,無法滿足任務(wù)完成時間的要求,所以通常用網(wǎng)絡(luò)將分布的計算機設(shè)備連接起來,使三維軟件的場景文件以及材質(zhì)和光照信息一起提交,通過集群方式進(jìn)行渲染輸出運算,在時效性方面大大提高。為了項目任務(wù)的遠(yuǎn)程提交,以及渲染任務(wù)的實時監(jiān)視和控制,已經(jīng)開發(fā)出基于Struts和Hibernate架構(gòu)的渲染集群管理系統(tǒng)的平臺,利用可視化的Web界面,使用戶和管理員對系統(tǒng)運行的任務(wù)情況及時響應(yīng)。

隨著計算機硬件集成度提升,對最終渲染輸出結(jié)果真實效果要求不斷提高,使三維場景幾何體的復(fù)雜度、物體材質(zhì)的模擬質(zhì)感以及對光照表達(dá)效果的真實性也相應(yīng)提升[1]。但一味的增加設(shè)備規(guī)模會加大創(chuàng)作成本,而改進(jìn)集群渲染系統(tǒng)內(nèi)部的業(yè)務(wù)邏輯處理方式才是一個有效的解決途徑。

本文解決的方法是利用延遲光照算法,將三維場景中物體的光照計算轉(zhuǎn)移到圖像光柵化處理之后進(jìn)行。在項目文件的渲染過程中,最消耗處理資源的過程就是對場景中的每個物體進(jìn)行多光源光照計算。針對延遲光照算法中MRT(多渲染目標(biāo))和G-Buffer(幾何緩存)兩項技術(shù)原理分析,設(shè)計出一個可應(yīng)用于分布式存儲和計算的渲染任務(wù)業(yè)務(wù)邏輯模型,可以對Hadoop架構(gòu)平臺進(jìn)行改進(jìn)。通過Hadoop的Java API接口調(diào)用,使改進(jìn)的Hadoop架構(gòu)嵌入到已建立的集群渲染系統(tǒng)中,實現(xiàn)分布式處理的業(yè)務(wù)流程。最后將改進(jìn)的Hadoop集群渲染系統(tǒng)進(jìn)行部署實驗,通過測試與原先集群渲染系統(tǒng)進(jìn)行對比,得到提高渲染效率的結(jié)果。1Hadoop框架的應(yīng)用功能分析

Hadoop是一種基于分布式處理模型的開源框架,利用虛擬機技術(shù)將現(xiàn)有的計算機集群進(jìn)行部署,建立一個穩(wěn)定的、高性能的Hadoop集群系統(tǒng)[2]。Hadoop對應(yīng)用程序提供接口,用戶只需關(guān)注于業(yè)務(wù)邏輯的應(yīng)用,使分布式系統(tǒng)的實施更加容易。Hadoop系統(tǒng)中兩大關(guān)鍵技術(shù)為Hadoop分布式文件系統(tǒng)HDFS(Hadoop distributed file system)和MapReduce處理模型。

HDFS適用于通用硬件上的分布式文件系統(tǒng),通過將數(shù)據(jù)塊分割并適度的復(fù)制,使集群可以并行讀取數(shù)據(jù),從而提供較高的數(shù)據(jù)吞吐量[3]。HDFS可以為MapReduce處理模型的大規(guī)模數(shù)據(jù)集處理提供保障。

MapReduce是一種分布式計算處理模型,很容易將海量數(shù)據(jù)擴展到計算機處理集群中進(jìn)行并行處理。MapReduce中的兩項任務(wù)是Map和Reduce函數(shù)處理。Map函數(shù)功能是自定義的,將處理的數(shù)據(jù)解析出相應(yīng)鍵/值對作為輸入,按照指定的運算規(guī)則,產(chǎn)生以鍵/值對表示的中間結(jié)果集合,函數(shù)庫將具有相同鍵/值的中間結(jié)果集合在一起,傳遞給Reduce函數(shù)。Reduce函數(shù)也是根據(jù)中間鍵/值集合定義功能處理,將得到相應(yīng)值的集合進(jìn)行合并,最后形成完整的結(jié)果集合。Map和Reduce函數(shù)處理是相互獨立的,從而具有分布式處理的功能。

2 Hadoop集群渲染系統(tǒng)架構(gòu)設(shè)計

Hadoop集群渲染系統(tǒng)表現(xiàn)層:采用Struct與Hiberate結(jié)合建立的集群渲染系統(tǒng)表現(xiàn)層框架,提供B/S結(jié)構(gòu)的用戶界面,可以讓用戶進(jìn)行遠(yuǎn)程訪問和項目文件的提交,與數(shù)據(jù)存儲層進(jìn)行交互,通過Web界面顯示。

Hadoop集群渲染系統(tǒng)管理層:可以使分布式數(shù)據(jù)存儲結(jié)構(gòu)滿足系統(tǒng)訪問和操作的需求,對分布式文件系統(tǒng)進(jìn)行管理;可以對提交的項目文件任務(wù)執(zhí)行情況和處理層服務(wù)器的運行情況進(jìn)行監(jiān)控管理。對應(yīng)用層處理結(jié)果進(jìn)行存儲,以提供給表現(xiàn)層調(diào)用。

Hadoop集群渲染系統(tǒng)應(yīng)用層:利用MapReduce的分布式處理模型,以虛擬機的方式將Map函數(shù)和Reduce函數(shù)的處理任務(wù)分配給相關(guān)的服務(wù)器資源進(jìn)行統(tǒng)一處理,將最終結(jié)果反饋給系統(tǒng)管理層,將最終結(jié)果保存到數(shù)據(jù)存儲層。

數(shù)據(jù)存儲層:利用HDFS文件系統(tǒng)的部署,數(shù)據(jù)文件以塊的形式對應(yīng)用程序進(jìn)行存儲、讀取、響應(yīng),提供一種分布式存儲的結(jié)構(gòu)。

根據(jù)圖1所示,應(yīng)用Hadoop框架的集群渲染系統(tǒng),利用HDFS文件系統(tǒng)對項目文件進(jìn)行存儲,然后由TaskTracker劃分成大小相似的塊,交給Map分析Reduce合并處理,完成最終的處理后輸出。這樣可以使現(xiàn)有的集群渲染系統(tǒng)利用率得到極大的提高,達(dá)到分布式計算的需求[4-5]。

圖1 改進(jìn)Hadoop集群渲染系統(tǒng)工作流程圖Fig.1 Working flow chart of improvecl Hadoop cluster rendering system

3 延遲光照算法對Hadoop集群渲染系統(tǒng)業(yè)務(wù)邏輯模型的改進(jìn)

3.1延遲光照算法的概述

渲染任務(wù)在執(zhí)行過程中,最消耗系統(tǒng)處理資源的步驟就是對場景物體進(jìn)行多光源光照計算。多光源光照計算方法有:單光源多光照算法、多光源多光照算法和延遲光照算法。單光源多光照在一個繪制管道中計算繪制中需要同時管理多個光源,無法處理多個光源影響的陰影效果。多光源多光照通過在多個繪制管道中使用多個光源,對所有物體都計算每個光源的影響,但會造成多余的隱藏面的繪制,光源的相互獨立造成較高的計算復(fù)雜度。延遲光照算法將場景幾何體的光照算法轉(zhuǎn)移到圖像光柵化處理之后進(jìn)行,經(jīng)過對場景中各個物體進(jìn)行頂點幾何計算,得到各種物體幾何信息,將法線向量、深度信息和物體材質(zhì)屬性等存儲到幾何緩存(G-Buffer)中,在光照計算階段,按照各個光源的種類和強弱信息設(shè)置,把多個光源信息作用于G-Buffer中的幾何信息中,通過紋理運算各個顯示像素點實時光照計算,最后將各像素點光照值結(jié)果進(jìn)行匯總,得到最終渲染結(jié)果[6]。延遲光照算法流程如圖2所示。

圖2 延遲光照算法流程Fig.2 Deferred lighting algorithm process

3.2基于延遲光照算法對Hadoop業(yè)務(wù)邏輯模型的改進(jìn)

在G-Buffer中每個物體的幾何信息分別儲存,而利用MRT(多渲染目標(biāo))技術(shù)就是將物體各種幾何信息(顏色信息、法線向量、深度信息和物體材質(zhì)等)分別渲染并保存到G-Buffer不同的渲染目標(biāo)中,每個渲染目標(biāo)相互獨立。根據(jù)延遲光照兩項技術(shù)的分析,可以將G-Buffer中的幾何信息映射到HDFS中進(jìn)行存儲,在每種幾何信息分別存儲的同時,被HDFS將文件劃分成多個數(shù)據(jù)塊,將數(shù)據(jù)塊復(fù)制多份,存儲在整個集群中需要進(jìn)行響應(yīng)業(yè)務(wù)處理的服務(wù)器文件系統(tǒng)中。G-Buffer幾何信息在HDFS中的映射如圖3所示。

圖3 G-Buffer幾何信息在HDFS中的映射Fig.3 G-Buffer geometry information mapping in the HDFS

MRT(多渲染目標(biāo))技術(shù)的應(yīng)用可以使在G-Buffer中存放的進(jìn)行光照和其他操作需要的全部幾何信息,從渲染到存儲都有自己的目標(biāo)緩沖空間,使光照算法所消耗的資源獨立于場景的復(fù)雜度,在一個有M個物體在N種光源光照進(jìn)行渲染計算的情況下,算法的計算復(fù)雜度為O(M+N),而以前的算法復(fù)雜度是O(M*N),直接提高了渲染輸出時多光照計算的處理速度。這樣可以滿足延遲光照算法對改進(jìn)Hadoop集群中業(yè)務(wù)邏輯處理的應(yīng)用需求[7-8]。

4 改進(jìn)Hadoop集群渲染系統(tǒng)的功能實現(xiàn)

4.1Hadoop集群渲染系統(tǒng)中的HDFS的分布式存儲功能

HDFS采用主從架構(gòu),有一個名稱節(jié)點(Namenode)和若干數(shù)目的數(shù)據(jù)節(jié)點(Datanode)。名稱節(jié)點用來操作文件命名空間的文件或目錄操作,同時確定塊和數(shù)據(jù)節(jié)點的映射。將HDFS存儲的幾何信息(顏色信息、法線向量、深度信息和物體材質(zhì)等)記錄如何被劃分成塊,并且在哪些節(jié)點進(jìn)行存儲,通過收集數(shù)據(jù)節(jié)點的心跳信息了解整體的運行狀態(tài)。數(shù)據(jù)節(jié)點是執(zhí)行HDFS的具體工作,將存儲的幾何信息塊通過執(zhí)行底層I/O任務(wù),讀取或?qū)懭氲教幚矸?wù)器的系統(tǒng)文件中,同時向名稱節(jié)點報告具體存儲情況,數(shù)據(jù)節(jié)點之間相互通信,復(fù)制這些數(shù)據(jù)塊以實現(xiàn)冗余。可以根據(jù)存儲在G-Buffer各種幾何信息的排列情況,每個渲染目標(biāo)的分割方式,以及數(shù)據(jù)塊的分配給處理節(jié)點的位置信息一起傳遞給名稱節(jié)點。通過對渲染目標(biāo)中分割的數(shù)據(jù)塊內(nèi)容復(fù)制到DataNode,使每個數(shù)據(jù)節(jié)點可以進(jìn)行相應(yīng)的Map函數(shù)和Reduce函數(shù)處理,將結(jié)果進(jìn)行匯總和保存,并將信息傳遞給名稱節(jié)點,這樣就可以完成在HDFS中分布式讀取、處理和存儲的功能。

4.2MapReduce渲染任務(wù)的處理功能

在MapReduce框架中運行著JobTracker和TaskTracker兩類服務(wù)。對于場景中的各種信息的渲染結(jié)果,可以將項目文件按照渲染目標(biāo)數(shù)據(jù)塊大小分解成若干個子文件。利用MapReduce模式,將文件進(jìn)行處理。首先輸入HDFS文件系統(tǒng)中的數(shù)據(jù),JobTracker接收SubmitJob方法的調(diào)用,交由作業(yè)調(diào)度器進(jìn)行調(diào)度,創(chuàng)立運行任務(wù)列表,任務(wù)調(diào)度器從文件系統(tǒng)中獲取JobClient已經(jīng)計算好的輸入劃分范圍,然后為每一個劃分創(chuàng)建相應(yīng)的Map和Reduce任務(wù)。當(dāng)在HDFS中讀取一個塊的幾何信息后,分別在每個渲染目標(biāo)不同的信息名稱作為Map函數(shù)的Key_Input,將渲染的像素值作為Value_Input,在Map函數(shù)中定義在光照處理中多個光源的各種信息配置,然后進(jìn)行光照渲染計算,使每個信息對應(yīng)的Key值都有與其對應(yīng)的像素光照值,形成中間值(Key_mid,Value_mid)。調(diào)用Reduce函數(shù)進(jìn)行處理,對中間值進(jìn)行歸并處理后得到結(jié)果(Key_Output,Value_Output),將每種幾何信息對應(yīng)的多光源光照渲染值進(jìn)行最后處理,最后將渲染結(jié)果傳送給HDFS中進(jìn)行存儲[9]。

4.3MapReduce對Hadoop集群渲染系統(tǒng)的任務(wù)實現(xiàn)

JobTracker主要是對任務(wù)進(jìn)行分配和監(jiān)控所有的TaskTracker節(jié)點運行情況,并對TaskTracker發(fā)送的反饋信息進(jìn)行相應(yīng)處理。當(dāng)有任務(wù)需要處理時,先檢測是否有處于空閑狀態(tài)的TaskTracker的可用資源,然后把Map任務(wù)和Reduce任務(wù)分配給相應(yīng)的節(jié)點并負(fù)責(zé)監(jiān)控任務(wù)運行,而TaskTracker負(fù)責(zé)任務(wù)的具體執(zhí)行。當(dāng)某個TaskTracker出現(xiàn)故障,JobTracker就會把該節(jié)點正在執(zhí)行的任務(wù)重新分配給其他空閑的TaskTracker[10-11]。

5 實驗分析

利用5臺HPZ210工作站電腦,單機配置為CPU 四核I7-2600,8 GB內(nèi)存,進(jìn)行Hadoop部署。1臺配置Namenode節(jié)點,在其中運行JobTracker服務(wù),其他4臺配置Datanode節(jié)點,運行TaskTracker服務(wù)。Hadoop需要所有機器上Hadoop部署目錄結(jié)構(gòu)一致,并且以相同的用戶名登錄。Hadoop環(huán)境搭建關(guān)鍵步驟就是配置文件,在hadoop/conf目錄下,conf目錄中的hadoop-default.xml中包含了Hadoop的所有配置選項,配置Namenode的IP地址[12-13]。節(jié)點IP地址分布如下。

Namenode:192.168.0. 100

Datanode1:202.168.0.101

Datanode4 :192.168.0.104

測試1個有220萬面的場景,在40幀的渲染測試中,有4臺相同配置的電腦共同完成,經(jīng)過最后統(tǒng)計平均每幀的渲染時間為348.6 s,實驗利用相同配置的10臺HPZ210工作站測試,5臺采用原先部署的集群渲染系統(tǒng)模式,5臺采用改進(jìn)的基于Hadoop的集群渲染系統(tǒng)模式,對以上場景的相同幀數(shù)進(jìn)行測試。兩種系統(tǒng)在任務(wù)的處理過程中,在相同幀處理區(qū)間CPU的利用率如表1所示,執(zhí)行時間的對比圖如圖4所示。

表1 兩種系統(tǒng)CPU的利用率

圖4 兩種系統(tǒng)執(zhí)行時間的對比圖Fig.4 Two kinds of system of execution time contrast figure

根據(jù)實驗結(jié)果可以得出:在相同的配置下,如果集群系統(tǒng)采用改進(jìn)后的Hadoop集群渲染系統(tǒng),首先需要進(jìn)行場景文件信息的讀取、調(diào)用,在很短時間內(nèi)完成任務(wù)信息的本地調(diào)用后,無論在CPU的利用率上,還是在處理相同幀數(shù)的場景文件的速度上,都具有明顯的優(yōu)勢。

6 結(jié) 語

利用基于延遲光照技術(shù)可以對渲染的場景文件中涉及光照計算的運算,在處理效率上得到一定的提高。利用延遲光照算法對Hadoop集群渲染系統(tǒng)改進(jìn),可以分布式對每個燈光的渲染目標(biāo)進(jìn)行存儲,可以發(fā)揮集群渲染系統(tǒng)中設(shè)備較高的性能,進(jìn)一步提高系統(tǒng)的利用率,有一定的推廣應(yīng)用價值。

/

[1] 陳景廣.基于多核CPU的大規(guī)模DEM并行三維渲染研究[D]. 南京:南京大學(xué),2012. CHEN Jingguang.Parallel Rendering of Large-Scale DEM Based on Multi-CORE CPU[D].Nanjing:Nanjing University,2012.

[2] 朱 珠.基于 Hadoop 的海量數(shù)據(jù)處理模型研究和應(yīng)用[D]. 北京: 北京郵電大學(xué),2008. ZHU Zhu.Research and Application of Massive Data Processing Model on Hadoop[D].Beijing:Beijing University of Posts and Telecommunication,2008.

[3] 黃曉云.基于HDFS的云存儲服務(wù)系統(tǒng)研究[D].大連: 大連海事大學(xué),2010. HUANG Xiaoyun.Cloud Storage Service System Based on HDFS Research[D].Dalian: Dalian Maritime University,2010.

[4] DEKEL.Scalability of the Hadoop Distributed File System[EB/OL].http://developer.yahoo.com/blogs/hadoop/scalability-hadoop-distributed-file-system-452.html,2010-05-05.

[5] 孫亞萍,陳福民.分布式渲染中動態(tài)任務(wù)拆分算法的研究[J].微計算機應(yīng)用,2007,28(1):43-46. SUN Yaping,CHEN Fumin. Research of dynamic task partitioning algorithm for distributed rendering environment[J]. Microcomputer Applications, 2007,28(1):43-46.

[6] 波 恩.?dāng)?shù)字繪圖的光照與渲染技術(shù)[M].第2版.杜靜芬,譯.北京: 清華大學(xué)出版社,2008. JEREMY B.Digital Lighting & Rendering[M]. 2nd ed.Translated by DU Jingfen.Beijing:Tsinghua University Press,2008.

[7] KLINT J. Deferred Rendering in Leadwerks Engine [EB/OL]. http://www.leadwerks.com/files/deferred_rendering_in_leadwerks_engine.pdf, 2010-12-27.

[8] Hargreaves.Deferred Shading[EB/OL].http://talula.demon.eo.uk/deferredshading.pdf,2010-12-08.

[9] 王 凱,吳泉源,楊樹強.一種多用戶MapReduce 集群的作業(yè)調(diào)度算法的設(shè)計與實現(xiàn)[J].計算機與現(xiàn)代化,2010(10):23-28. WANG Kai,WU Quanyuan,YANG Shuqiang. Design and implementation of job scheduling algorithm for multi-user map reduce clusters[J]. Computer and Modernization, 2010(10):23-28.

[10] DEAN J,GHEMAWA S.MapReduce: Simplified data processing on large clusters[J].Communications of the ACM,2008,51(1):107-113.

[11] CUTTING D. Scalable computing with MapReduce[A]. OSCON[C].Portland:[s.n.],2005.124-130.

[12] WHITE T.Hadoop權(quán)威指南: The Definitive Guide[M].周敏廳,王曉玲,金澈清,等譯.北京: 清華大學(xué)出版社, 2010. WHITE T.Hadoop: The Definitive Guide[M]. Translated by ZHOU Minting,WANG Xiaoling, JIN Cheqing,et al.Beijing:Tsinghua University Press,2010.

[13] LAM C.Hadoop實戰(zhàn)[M]. 韓冀中,譯.北京:人民郵電出版社,2011. LAM C.Hadoop of Actual Combat[M]. Translated by HAN Jizhong. Beijing:Posts and Telecom Press,2011.

Improvement and implementation of Hadoop cluster rendering system based on deferred lighting algorithm

ZHANG Ting

(Experimental Teaching Center of Design and New Media Art, Tianjin Academy of Fine Arts, Tianjin 300342, China)

In view of the problem of massive data processing and storage in 3D scene file output process in cluster rendering system, the distributed model is reconstructed for the existing system by using the Hadoop framework. It uses deferred lighting algorithm to realize the business logic structure of the deployment of distributed storage and computing. The task processing strategies to improve Hadoop cluster rendering system is provided with high fault tolerance, reliable storage and mass data calculation. Experimental results show that the developed Hadoop cluster rendering system can improve system efficiency and tasking ability.

cluster rendering system; Hadoop; deferred lighting algorithm

1008-1534(2014)04-0337-05

2013-11-20;

2014-03-18;責(zé)任編輯:陳書欣

張 亭(1981-),男,天津人,實驗師,主要從事計算機信息安全、信息智能處理方面的研究。

E-mail:zt3562@163.com

TP311

A

10.7535/hbgykj.2014yx04014

張 亭.延遲光照算法對Hadoop集群渲染系統(tǒng)的改進(jìn)與實現(xiàn)[J].河北工業(yè)科技,2014,31(4):337-341. ZHANG Ting.Improvement and implementation of the Hadoop cluster rendering system base on deferred lighting algorithm[J].Hebei Journal of Industrial Science and Technology,2014,31(4):337-341.

猜你喜歡
光源光照集群
節(jié)能環(huán)保 光照萬家(公益宣傳)
節(jié)能環(huán)保光照萬家(公益宣傳)
海上小型無人機集群的反制裝備需求與應(yīng)對之策研究
《光源與照明》征訂啟事
光源與照明(2019年3期)2019-06-15 09:21:04
春光照瑤鄉(xiāng)
一種無人機集群發(fā)射回收裝置的控制系統(tǒng)設(shè)計
電子制作(2018年11期)2018-08-04 03:25:40
Python與Spark集群在收費數(shù)據(jù)分析中的應(yīng)用
綠色光源
勤快又呆萌的集群機器人
科技連載:LED 引領(lǐng)第三次照明革命——與傳統(tǒng)照明的對比(一)
琼结县| 桂平市| 杭州市| 莒南县| 绥滨县| 家居| 玉溪市| 蓬莱市| 高尔夫| 宁远县| 宿州市| 宽城| 林周县| 永济市| 淄博市| 裕民县| 玉树县| 宁国市| 临沂市| 永新县| 仙居县| 榆树市| 离岛区| 德令哈市| 盐池县| 芦山县| 台前县| 宁海县| 博乐市| 南宁市| 泽州县| 德保县| 天气| 淮南市| 子洲县| 巨鹿县| 色达县| 探索| 潜山县| 汝南县| 公安县|