專利名稱::計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法。
背景技術(shù):
:計(jì)算機(jī)集群并行繪制系統(tǒng)建立在以高性能網(wǎng)絡(luò)連接的多臺(tái)工作站或PC之上,通過軟件實(shí)現(xiàn)圖形的并行處理。集群并行繪制系統(tǒng)有高性能、低成本、可擴(kuò)展性好的特點(diǎn),其應(yīng)用包括三方面1)利用其低成本構(gòu)造仿真系統(tǒng),對(duì)新的硬件體系結(jié)構(gòu)進(jìn)行研究,如Pomegranate;2)在人機(jī)交互領(lǐng)域,用集群驅(qū)動(dòng)多臺(tái)投影儀,構(gòu)筑大尺寸、高分辨率的投影墻,如DisplayWall系統(tǒng);3)通過對(duì)圖形任務(wù)的并行處理,提供對(duì)包含大量數(shù)據(jù)和復(fù)雜紋理的場(chǎng)景的快速繪制,應(yīng)用于沉浸式VR、科學(xué)計(jì)算可視化等領(lǐng)域,如WireGL和AnyGL。并行繪制系統(tǒng)可分為前分布拼接合成、中分布拼接合成和全圖像深度合成三種類型,集群系統(tǒng)大部分為前分布拼接合成類型,其特點(diǎn)為屏幕剖分為一系列矩形區(qū)域,每個(gè)處理節(jié)點(diǎn)負(fù)責(zé)一個(gè)或幾個(gè)區(qū)域中(包括區(qū)域內(nèi)和與區(qū)域邊界相交)的幾何元素的繪制,各節(jié)點(diǎn)輸出的子圖像拼接為最終輸出圖像。幾何元素在屏幕上的分布通常是不均勻的,因此繪制節(jié)點(diǎn)間容易出現(xiàn)工作負(fù)載的不平衡一些節(jié)點(diǎn)處理大量密集的面片的繪制而處于忙碌狀態(tài),同時(shí)另一些節(jié)點(diǎn)分配到了少量稀疏的面片而處于空閑。由于整個(gè)系統(tǒng)的幀繪制的速度受最慢的節(jié)點(diǎn)的制約,負(fù)載不平衡將使系統(tǒng)的整體性能下降。前分布拼接合成系統(tǒng)的已有的負(fù)載平衡方法分為靜態(tài)和動(dòng)態(tài)兩類,靜態(tài)方法將屏幕固定地剖分成一些小塊矩形,將負(fù)載較重(位于中央)和負(fù)載較輕(位于邊緣)的矩形搭配地分配給繪制節(jié)點(diǎn)。動(dòng)態(tài)方法根據(jù)圖形程序的運(yùn)行情況實(shí)時(shí)改變屏幕剖分,Whelan的median-cut方法以圖元的質(zhì)心作為計(jì)算負(fù)載的單位,不斷對(duì)每個(gè)區(qū)域的長(zhǎng)邊作剖分直至區(qū)域數(shù)等于繪制節(jié)點(diǎn)數(shù);Whitman的自頂向下分解方法將每個(gè)圖元的外包圍盒與一精細(xì)的網(wǎng)格作比較,如果一格子被一圖元覆蓋,則將其權(quán)重加1,之后在圖元格子之上構(gòu)建Huffman樹,再?gòu)臉涓蛳略L問直至經(jīng)過的區(qū)域數(shù)為處理單元數(shù)的10倍,然后將這些負(fù)載基本相等的區(qū)域動(dòng)態(tài)分配給各處理單元;MAHD(mesh-basedadaptivehierarchicaldecomposition)同樣使用一個(gè)精細(xì)的網(wǎng)格,但當(dāng)一個(gè)圖元覆蓋N個(gè)格子時(shí),每個(gè)格子的權(quán)重增加1/N,之后格子被組織成區(qū)域和表(summedareatable),再在區(qū)域和表上作區(qū)域的劃分。這些方法可以統(tǒng)稱為“基于幾何數(shù)據(jù)分析”的方法,它們共同的特點(diǎn)是以頂點(diǎn)位置、幾何變換矩陣等幾何數(shù)據(jù)作為輸入計(jì)算負(fù)載平衡最佳的屏幕剖分。由于考慮了場(chǎng)景全局的幾何信息,以上提到的各個(gè)方法都有很精確的平衡效果,比如Whelan方法的剖分線兩側(cè)的面片數(shù)相差不超過1。但是,執(zhí)行這些方法需要較大的時(shí)間開銷,其計(jì)算量的來源是一、大量的幾何數(shù)據(jù)的傳輸或遍歷;二、耗時(shí)的操作,如Whelan方法中的排序,Whitman方法中的Haffman樹構(gòu)造,MAHD方法的區(qū)域和表構(gòu)造和劃分等。一個(gè)負(fù)載平衡方法要用于實(shí)際,必須滿足如下條件其本身的開銷小于使用該方法所得到的好處。以上的負(fù)載平衡方法本身的通訊和計(jì)算開銷較大,使其實(shí)用性大受影響,如Whelan的median-cut方法雖廣為引用,但沒有在任何一個(gè)系統(tǒng)中得到應(yīng)用,因?yàn)閷?duì)實(shí)際系統(tǒng)來說,其計(jì)算開銷是不可接受的。本發(fā)明得到了國(guó)家重點(diǎn)基礎(chǔ)研究發(fā)展計(jì)劃(2002CB312100)資助。
發(fā)明內(nèi)容本發(fā)明的目的是提供一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法。其步驟為1)客戶端發(fā)送幾何變換矩陣和屏幕區(qū)域Aik到繪制節(jié)點(diǎn)Si,啟動(dòng)第k幀繪制,并通知負(fù)載平衡模塊;2)Si完成Aik像素的繪制,通知客戶端;3)客戶端主程序通知負(fù)載平衡模塊,后者記錄繪制時(shí)間tik;4)所有Si繪制結(jié)束,拼接圖像并輸出;5)負(fù)載平衡模塊進(jìn)行計(jì)算,得出屏幕剖分方式{Aik+1},用做下一幀繪制任務(wù)分配。本發(fā)明定義負(fù)載平衡程度的指標(biāo)LB=Tfirst/Trender,Tfirst,為首先完成繪制的節(jié)點(diǎn)的繪制一幀的時(shí)間,Trender為整個(gè)系統(tǒng)繪制一幀的總的時(shí)間。圖3(a)-(d)顯示了一些三維模型連續(xù)多幀垂直分割,在8PC集群機(jī)上繪制的時(shí)間曲線,(e)為對(duì)浙江大學(xué)新校區(qū)漫游程序在8PC集群機(jī)上繪制,使用二叉剖分的時(shí)間曲線,圖4是與圖3相對(duì)應(yīng)的LB值曲線,表1列出了繪制時(shí)間和LB的平均值。表格1繪制時(shí)間和LB的均值從以上圖表和數(shù)據(jù)可以看出應(yīng)用本負(fù)載平衡方法可以有效地提高系統(tǒng)的負(fù)載平衡程度,使LB值升高,能提高繪制速度,并且計(jì)算開銷很小,具有很好的實(shí)用價(jià)值。圖1是計(jì)算機(jī)集群繪制系統(tǒng)的結(jié)構(gòu)示意圖;圖2(a)(b)(c)是垂直分割時(shí)空變換的基本原理圖;圖3是本發(fā)明可加快繪制速度的數(shù)據(jù)示意圖;圖4是本發(fā)明可提高負(fù)載平衡程度的數(shù)據(jù)示意圖;圖5是本方法實(shí)施系統(tǒng)結(jié)構(gòu)示意圖;圖6是使用本方法的真實(shí)感場(chǎng)景漫游的一段連續(xù)畫面示圖;圖7是使用本方法的幾何模型顯示的一段連續(xù)場(chǎng)景示圖。具體實(shí)施例方式基于時(shí)空變換的負(fù)載平衡方法的原理是以繪制服務(wù)器的工作時(shí)間作為其負(fù)載的度量,通過適當(dāng)?shù)姆椒ǎ瑢r(shí)間值轉(zhuǎn)換為空間值,再以空間值控制對(duì)繪制服務(wù)器的任務(wù)分配。由于放棄了龐大的幾何數(shù)據(jù),所以這種方法是一種相對(duì)“輕量”的方法,測(cè)試結(jié)果證明這種方法是非常實(shí)用和有效的。圖1顯示了計(jì)算機(jī)集群繪制系統(tǒng)的結(jié)構(gòu)。客戶端模塊響應(yīng)應(yīng)用程序的命令,對(duì)應(yīng)用程序透明地驅(qū)動(dòng)多臺(tái)繪制服務(wù)器(也稱繪制節(jié)點(diǎn))進(jìn)行并行繪制,繪制服務(wù)器輸出象素經(jīng)拼接輸出到顯示設(shè)備?;跁r(shí)空變換的負(fù)載平衡方法的流程為1)客戶端發(fā)送幾何變換矩陣和屏幕區(qū)域Aik到繪制節(jié)點(diǎn)Si,啟動(dòng)第k幀繪制,并通知負(fù)載平衡模塊;2)Si完成Aik像素的繪制,通知客戶端;3)客戶端主程序通知負(fù)載平衡模塊,后者記錄繪制時(shí)間tik;4)所有Si繪制結(jié)束,拼接圖像并輸出;5)負(fù)載平衡模塊進(jìn)行計(jì)算,得出屏幕剖分方式{Aik+i},用做下一幀繪制任務(wù)分配?;跁r(shí)空轉(zhuǎn)換地負(fù)載平衡方法的要點(diǎn)是1)以繪制時(shí)間作為繪制節(jié)點(diǎn)負(fù)載的指標(biāo);2)將時(shí)間值轉(zhuǎn)化為空間值;3)進(jìn)行屏幕區(qū)域的分割和重組。其基本原理可簡(jiǎn)化為圖2所示,假定初始剖分狀態(tài)如圖2(a),三個(gè)繪制節(jié)點(diǎn)的繪制時(shí)間分別為1秒、2秒、3秒,認(rèn)為它們負(fù)載之比為1∶2∶3,對(duì)區(qū)域做分割如圖2(b),最后按任務(wù)平均分配的原則進(jìn)行重組得到圖2(c)。屏幕分割的辦法有三種垂直分割、水平分割和二叉分割,設(shè)有n個(gè)繪制節(jié)點(diǎn),各繪制節(jié)點(diǎn)某一幀的繪制時(shí)間為{t1,t2,t3,....tn},垂直分割區(qū)域?qū)挾葹閧w1,w2,w3,....wn},另t‾=1nΣi=1nti]]>,(p0,p1,...pn),其中pi=Σj=1itj,p0=0,]]>it∈[pa,pa+1],(a∈),w0′=0,h0′=0,新的屏幕分割的寬度為wi′=(it‾-pa)wa+1ta+1+Σj=1awj-Σk=1i-1wi-1′]]>。水平分割辦法與垂直分割相同。二叉分割的時(shí)空轉(zhuǎn)換方法的基本操作是n=2的垂直或水平分割時(shí)空轉(zhuǎn)換,客戶端擁有時(shí)間二叉樹,樹的葉子是時(shí)間值{ti},父結(jié)點(diǎn)的權(quán)(時(shí)間值)是子結(jié)點(diǎn)權(quán)的和,通過先序遍歷二叉樹,自頂向下交替地對(duì)區(qū)域進(jìn)行垂直和水平的分割直至區(qū)域數(shù)等于節(jié)點(diǎn)數(shù)即可。圖5為本方法實(shí)施示意圖,負(fù)載平衡工作于客戶端,通過計(jì)算機(jī)網(wǎng)絡(luò)對(duì)繪制節(jié)點(diǎn)進(jìn)行控制。圖6是真實(shí)感場(chǎng)景漫游的一段連續(xù)畫面,區(qū)域A1、A2、A3、A4分別由4個(gè)繪制節(jié)點(diǎn)生成,表2列出了各個(gè)節(jié)點(diǎn)的繪制時(shí)間。圖7是幾何模型顯示的一段連續(xù)場(chǎng)景,4個(gè)矩形區(qū)域的象素分別由4個(gè)繪制節(jié)點(diǎn)生成,圖上還顯示了每個(gè)節(jié)點(diǎn)這一幀的繪制時(shí)間(單位為秒)。從圖6、7和表2可清楚地看出本方法如何根據(jù)繪制時(shí)間不斷地對(duì)負(fù)載平衡作出調(diào)節(jié)。表格2圖5各幀各節(jié)點(diǎn)繪制時(shí)間權(quán)利要求1.一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法,其特征在于其步驟為1)客戶端發(fā)送幾何變換矩陣和屏幕區(qū)域Aik到繪制節(jié)點(diǎn)Si,啟動(dòng)第k幀繪制,并通知負(fù)載平衡模塊;2)Si完成Aik像素的繪制,通知客戶端;3)客戶端主程序通知負(fù)載平衡模塊,后者記錄繪制時(shí)間tik;4)所有Si繪制結(jié)束,拼接圖像并輸出;5)負(fù)載平衡模塊進(jìn)行計(jì)算,得出屏幕剖分方式{Aik+1},用做下一幀繪制任務(wù)分配。2.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法,其特征在于所說的負(fù)載平衡模塊對(duì)下一幀屏幕剖分方式{Aik+1}的計(jì)算,具體有垂直分割、水平分割和二叉分割三種方法。3.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法,其特征在于所說垂直分割方法是設(shè)有n個(gè)繪制節(jié)點(diǎn),各繪制節(jié)點(diǎn)某一幀的繪制時(shí)間為{t1,t2,t3,….tn},垂直分割區(qū)域?qū)挾葹閧w1,w2,w3,….wn}另t‾=1nΣi=1nti]]>,(p0,p1,…pn),其中pi=Σj=1itj,p0=0]]>,it∈[pa,pa+1],(a∈),w0′=0,h0′=0,新的屏幕分割的寬度為wi′=(it‾-pa)wa+1ta+1+Σj=1awj-Σk=1i-1wi-1′]]>。4.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法,其特征在于所說水平分割方法是設(shè)有n個(gè)繪制節(jié)點(diǎn),各繪制節(jié)點(diǎn)某一幀的繪制時(shí)間為{t1,t2,t3,….tn},水平分割區(qū)域高度為{w1,w2,w3,....wn},另t‾=1nΣi=1nti]]>,(p0,p1,…pn),其中pi=Σj=1itj,p0=0,]]>it∈[pa,pa+1],(a∈),w0′=0,h0′=0,新的屏幕分割的高度為wi′=(it‾-pa)wa+1ta+1+Σj=1awj-Σk=1i-1wi-1′]]>。5.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法,其特征在于所說分二叉割方法是二叉分割的時(shí)空轉(zhuǎn)換方法的基本操作是n=2的垂直或水平分割時(shí)空轉(zhuǎn)換,客戶端擁有時(shí)間二叉樹,樹的葉子是時(shí)間值{ti},父結(jié)點(diǎn)的權(quán)(時(shí)間值)是子結(jié)點(diǎn)權(quán)的和,通過先序遍歷二叉樹,自頂向下交替地對(duì)區(qū)域進(jìn)行垂直和水平的分割直至區(qū)域數(shù)等于節(jié)點(diǎn)數(shù)。6.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法,其特征在于所說的客戶端發(fā)送幾何變換矩陣和屏幕區(qū)域Aik到繪制節(jié)點(diǎn)Si,啟動(dòng)第k幀繪制,并通知負(fù)載平衡模塊是負(fù)載平衡模塊接受到啟動(dòng)繪制的通知后,開啟時(shí)鐘,開始記錄繪制節(jié)點(diǎn)的繪制時(shí)間。7.根據(jù)權(quán)利要求1所述的一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法,其特征在于所說的客戶端主程序通知負(fù)載平衡模塊,后者記錄繪制時(shí)間ti是負(fù)載平衡模塊停止時(shí)鐘,獲得繪制節(jié)點(diǎn)的繪制時(shí)間。全文摘要本發(fā)明公開了一種計(jì)算機(jī)集群并行繪制系統(tǒng)中基于時(shí)空變換的負(fù)載平衡設(shè)計(jì)方法。其步驟為1)客戶端發(fā)送幾何變換矩陣和屏幕區(qū)域A文檔編號(hào)G06F15/16GK1445664SQ0311621公開日2003年10月1日申請(qǐng)日期2003年4月3日優(yōu)先權(quán)日2003年4月3日發(fā)明者金哲凡,石教英申請(qǐng)人:浙江大學(xué)