專利名稱:大場景海量數據可視化中的數據預取系統的制作方法
技術領域:
本發明屬于計算機仿真技術領域,尤其是涉及一種大場景海量數據out-of-core可視化中基于優先級計算的數據預取方法,用來避免可視化過程中突然增加的大規模數據調度量引起的系統延遲,改善系統運行的穩定性,適用于各種具有海量數據的場景可視化系統中。
背景技術:
大場景海量數據可視化系統中的數據規模往往遠超過當前硬件平臺內存的存儲能力。為此可視化過程中需要采用out-of-core技術將數據根據需要動態調入內存。但由 于外存數據獲取速度較為緩慢,頻繁的內外存數據交互必然會引起系統延遲,進而影響數據集可視化的運行性能。而由于觀察點突然變化帶來的調度量激增更使延遲進一步加劇,引起系統性能的不穩定。為此可視化系統的數據調度需要引入預取機制,即預先判斷并獲取與未來需求密切相關的數據集,將可能突然增加的調度量平均到多個幀間完成。其中預取數據集的確定及預取策略的實現方式是該技術的兩個主要方面。在確定預取數據集方面,單純的投機性預測忽略了觀察點運動的隨機性,可能帶來較多的分頁錯誤;而固定預測區域的保守預測會帶來過多的調度冗余,浪費了有限的系統資源。在預取策略方面,單一的預取調度和緩存管理往往忽視了預取數據節點的差別性,降低了預取操作的命中率,沒能實現系統資源的有效利用。為此,迫切需要從預取操作的效率出發,研究有效的數據預取技術,使未來最可能需要的數據節點優先調入內存,減少可視化過程中數據交互的次數,削弱out-of-core可視化系統中數據調度對運行性能的影響
發明內容
本發明要解決的問題是提供一種大場景海量數據可視化中的數據預取系統以及該系統所采用的數據預取方法,根據當前時刻觀察點位置及運動狀態保守地計算未來某段時間內潛在數據集的空間范圍,預測區域形狀可根據觀察者的運動特點自適應地變化。同時為預測數據節點計算優先級屬性,預取調度及數據緩存管理均依賴于優先級實現。保證提高數據預取效率和系統資源的利用率,減輕數據調度延遲,改善系統運行的穩定性。為解決上述技術問題,本發明采用的技術方案是大場景海量數據可視化中的數據預取系統,包括依次連接的數據采集設備、串口、微處理器和輸出接口 ;所述數據采集設備采集待處理的目標數據,并通過串口傳輸給微處理器,經過所述微處理器的處理的數據形成了可視化模型;所述可視化模型可以經輸出接口向外界輸出。大場景海量數據可視化中的數據預取系統采用的預取方法,包括以下步驟第一步,微處理器根據當前時刻t的位置及運動狀態,預測未來一段時間S t內的潛在數據集;第二步,微處理器計算預取數據節點的優先級屬性,優先級計算根據可視化特征引入可見性切換因子Prv和細節層次切換因子Pr1 ;
第三步,微處理器建立預取數據節點索引,將預取數據節點索引及其優先級屬性壓入預取指令隊列;第四步,微處理器按照指令對應的優先級順序響應預取指令,實現數據預取;第五步,預取數據放入微處理器的內存中的數據緩存區,由基于優先級的LRU緩
存策略管理。進一步,所述第一步中預測的方法是設幀間的空間是連續的,由未來時刻觀察點位置的點預測,轉變為未來某段時間 內觀察點所有可能位置的范圍預測,進而由觀察點的范圍預測推導出對應可見區域的范圍預測,在對范圍進行預測時引入觀察點當前的運動狀態,得到的數據節點組成未來St內的潛在數據集。進一步,所述第二步中的可見性切換因子Prv由數據節點距離觀察點的距離及相對于觀察點的偏離程度決定。進一步,所述第二步中的細節層次切換因子Pr1由數據節點所代表的細節層次未來使用的幾率決定。進一步,將節點優先級Pr值所包含的區間[Prmin,Prmax]分割為N個區間,Prmin為定義的最小優先級,Prmax為定義的最大優先級,N為定義的優先級數且N的取值是正整數;則對于任何Pr G [Pri, Pri+1)的節點,i為分割區間的索引,則最終的預取優先級為i,i根據實際計算獲得的優先級Pr所屬的分割區確定。進一步,所述第四步中的數據預取中單步數據預取實現流程如下⑴微處理器獲取預取指令;⑵遍歷內存中緩存區,檢查該數據節點是否已位于緩存區中;如果是,進行下一
I K
少;⑶微處理器更新緩存標志,微處理器讀取節點數據,預取指令響應完畢;⑷如果步驟⑵的操作檢查結果是否,遍歷緩存鏈表,檢查緩存鏈表是否已滿;如果否,進行下一步;(5)微處理器計算數據節點的地址,根據數據節點的物理地址加載節點數據,跳轉至步驟⑶;(6)如果步驟⑷檢查到緩存鏈表已滿,執行緩存取代,跳轉至步驟(5)。進一步,所述第五步的緩存策略管理包括確定并獲取緩存中已經存在的節點數據,以及獲取空的或取代已占用的緩存空間以接納新的節點數據。進一步,所述第五步的基于優先級的LRU緩存策略是在原LRU鏈表的基礎上加入一個優先級隊列。進一步,所述優先級隊列的更新級別高于原LRU鏈表。本發明具有的優點和積極效果是由于采用上述技術方案,預測數據集的保守自適應計算方法有效平衡了預取過程中數據命中率和數據調度量間的矛盾,提高了預取效率;基于數據節點優先級屬性計算的數據預取及緩存管理保證了系統資源的利用效率。從而實現了有效的數據預取,保證了系統運行的穩定性,減少了數據調度給可視化系統帶來的時間延遲,為實現穩定高效的海量數據可視化創造了條件。
圖I是本發明的提供的預取技術實施原理框架圖;圖2是本發明提供的預測區域計算原理圖;圖3是為本發明提供的數據節點優先級可見性切換因子的計算原理圖;圖4為本發明提供的數據預取實現流程圖;圖5為本發明提供的基于優先級的LRU策略原理圖。圖中I、預取指令 2、預取指令隊列3、場景數據4、優先級隊列 5、節點優先級由大至小6、貯存時間由大至小
具體實施例方式以下將結合附圖對本發明做進一步描述。圖I是該預取技術的實施框架圖。整個預取技術分為預取計算和預取實現兩部分,二者通過預取指令隊列2耦合。預取計算首先根據當前觀察點的狀態確定未來潛在的數據節點集,場景中的數據節點由索引標識。然后根據各數據節點與觀察點的關系計算其優先級屬性。數據節點索引和優先級值組成數據節點的預取指令1,交由預取指令隊列2管理。預取實現依照優先級從預取指令隊列2中獲取數據調度指令實現數據預取,并將場景數據3載入到數據緩存區,供數據可視化模塊使用。對于數據緩存區,采用基于優先級的LRU緩存策略管理。系統中數據獲取先于數據應用平均到多個幀中實現,保證任何時刻可視化所需的數據位于系統內存中,并盡量減少數據交互。具體步驟描述如下根據觀察者當前時刻t的位置及運動狀態,預測未來某段時間5 t內的潛在數據集。數據集的變化是由可視化系統中觀察點狀態的變化引起的。觀察點的運動使場景內的可見區域發生變化,當前不可見的數據節點在未來某個時刻將變為可見,成為可視化數據集的一部分。因此,未來數據集的預測計算首要的就是要確定未來某段時間內最可能由不可見變為可見的場景區域。考慮到觀察點運動的隨機性,很難精確地預測未來的可見場景區域。簡單的投機性預測極可能導致預取數據的分頁錯誤。為保證可見數據集預測的有效性,采用保守的可見區域預測方法。即考慮幀間的空間連續性,由未來時刻觀察點位置的點預測,轉變為未來某段時間內觀察點所有可能位置的范圍預測,進而由觀察點的范圍預測推導出對應可見區域的范圍預測。并且在對范圍進行預測時引入觀察點當前的運動狀態,創建自適應可變的預測區域。預測區域的計算原理如圖2所示。圖中0標識某時刻t觀察點的位置,AOB為對應的可見區域的投影(為簡化計算,忽略了近剪裁面),其視錐角為a,半徑為I。假設觀察點運動的最大線速度是V,最大角速度是則在角速度和線速度的共同作用下,觀察點在St內的所有可能位置不超過夾角為2 3 (¢=03 St)的扇形區域0’ 00”,扇形半徑r=v St。針對于位置0,在角速度的作用下,觀察點可見區域能夠覆蓋的最大范圍的投影為扇形區域A00B0。則當觀察點位于極限位置0’時,可見區域能夠覆蓋的最大范圍的上端點為Al,A0A1//00’ ;當觀察點位于極限位置0”時,可見區域能夠覆蓋的最大范圍的下端點為BI,、B0B1//00”。則為便于計算,最終定義包含觀察點位置預測的可見區域V為扇形A’ 0B”,扇形夾角為0 C1,半徑為R,表示為 0 0=2 (co 8 t+ a /2)R=l+v 6 t式中《-觀察點運動的最大角速度;V-觀察點運動的最大線速度;
a——當前視錐的錐角;I——當前視錐的半徑。獲得預測區域后,在平面范圍內,遍歷場景層次,將該區域與數據節點層次進行相交性測試及細節選擇,通過測試的數據節點組成未來St內的潛在的數據集。I.計算預測數據節點的優先級。為增加預取操作的命中率,為預測計算獲得的每個數據節點分配相應的優先級屬性,使用優先級來標識節點在未來使用的可能性。優先級高的節點享有數據帶寬和緩存使用的優先限權。根據可視化系統的應用特點,影響節點優先級的因素包括可見性切換和細節層次切換兩方面。對于可見性切換,相應的優先級取決于節點未來成為可見節點的可能性。根據空間連續性,越靠近觀察點的節點,越可能存在于未來的可見區域,其優先級應當越高。圖3為可見性切換因子的計算原理,區域Vtl為當前觀察點對應的可見區域,區域V為上步預取數據集計算獲得的預測區域。區域VO中的節點為當前可視化必需的,具有最高的優先級。對于預測區域V中位于Vtl外P范圍內的節點,其優先級取決于節點與觀察點的位置關系,SP與觀察點的接近程度,具體由節點距離觀察點的距離及相對于觀察點的偏離程度決定。見圖3,對于任意節點,假設其中心為N,R和Qtl分別為預測區域的半徑及錐角,則可見性切換因子Prv表示為
rI0<a/2,L<l八;=、+ …-4)+0]).人other
+ k-(enl2-a/2) + {\-k)-R式中L—節點中心距觀察點的距離;0—節點中心相對觀察視錐軸線的偏離角;0 0——預測視錐V的錐角;R—預測視錐V的半徑;a——當前視錐V。的錐角;I——當前視錐Vtl的半徑;k——權重系數。對于細節層次切換,相應的優先級取決于節點所代表的細節層次未來使用的可能性。由大場景可視化機制知,節點的細節層次切換發生在其精化判斷發生變化時。假設f為可視化系統的精化判據(由具體的可視化算法確定),T為精度閾值,則f 與T相對關系的改變引起細節層次的切換。f與T越接近,在未來時間內節點細節層次切換的可能性越大,節點的預取優先級應當越高。為此,選取二者的接近程度If-T I作為相應節點預取的優先級指標,優先級因子Pr1與其成反比
權利要求
1.大場景海量數據可視化中的數據預取系統,其特征在于包括依次連接的數據采集設備、串口、微處理器和輸出接口 ;所述數據采集設備采集待處理的目標數據,并通過串口傳輸給微處理器,經過所述微處理器的處理的數據形成了可視化模型;所述可視化模型可以經輸出接口向外界輸出。
2.大場景海量數據可視化中的數據預取系統采用的預取方法,其特征在于包括如下步驟 第一步,微處理器根據當前時刻t的位置及運動狀態,預測未來一段時間5 t內的潛在數據集; 第二步,微處理器計算預取數據節點的優先級屬性,優先級計算根據可視化特征引入可見性切換因子Prv和細節層次切換因子Pr1 ; 第三步,微處理器建立預取數據節點索引,將預取數據節點索引及其優先級屬性壓入預取指令隊列; 第四步,微處理器按照指令對應的優先級順序響應預取指令,實現數據預取; 第五步,預取數據放入微處理器的內存中的數據緩存區,由基于優先級的LRU緩存策略管理。
3.根據權利要求2所述的大場景海量數據可視化中的數據預取系統采用的預取方法,其特征在于所述第一步中預測的方法是設幀間的空間是連續的,由未來時刻觀察點位置的點預測,轉變為未來某段時間內觀察點所有可能位置的范圍預測,進而由觀察點的范圍預測推導出對應可見區域的范圍預測,在對范圍進行預測時引入觀察點當前的運動狀態,得到的數據節點組成未來St內的潛在數據集。
4.根據權利要求2所述的大場景海量數據可視化中的數據預取系統采用的預取方法,其特征在于所述第二步中的可見性切換因子Prv由數據節點距離觀察點的距離及相對于觀察點的偏離程度決定。
5.根據權利要求2所述的大場景海量數據可視化中的數據預取系統采用的預取方法,其特征在于所述第二步中的細節層次切換因子Pr1由數據節點所代表的細節層次未來使用的幾率決定。
6.根據權利要求2、4或5所述的大場景海量數據可視化中的數據預取系統采用的預取方法,其特征在于將節點優先級Pr值所包含的區間[pr-,pr-]分割為N個區間,Prmin為定義的最小優先級,Prmax為定義的最大優先級,N為定義的優先級數且N的取值是正整數;則對于任何Pr G [Pri, Pri+1)的節點,i為分割區間的索引,則最終的預取優先級為i,i根據實際計算獲得的優先級Pr所屬的分割區確定。
7.根據權利要求2所述的大場景海量數據可視化中的數據預取系統采用的預取方法,其特征在于所述第四步中的數據預取中單步數據預取實現流程如下 ⑴微處理器獲取預取指令; ⑵遍歷內存中緩存區,檢查該數據節點是否已位于緩存區中;如果是,進行下一步; ⑶微處理器更新緩存標志,微處理器讀取節點數據,預取指令響應完畢; ⑷如果步驟⑵的操作檢查結果是否,遍歷緩存鏈表,檢查緩存鏈表是否已滿;如果否,進行下一步; (5)微處理器計算數據節點的地址,根據數據節點的物理地址加載節點數據,跳轉至步驟⑶; (6)如果步驟⑷檢查到緩存鏈表已滿,執行緩存取代,跳轉至步驟(5)。
8.根據權利要求2所述的大場景海量數據可視化中的數據預取系統采用的預取方法,其特征在于所述第五步的緩存策略管理包括確定并獲取緩存中已經存在的節點數據,以及 獲取空的或取代已占用的緩存空間以接納新的節點數據。
9.根據權利要求2所述的大場景海量數據可視化中的數據預取系統采用的預取方法,其特征在于所述第五步的基于優先級的LRU緩存策略是在原LRU鏈表的基礎上加入一個優先級隊列。
10.根據權利要求2所述的大場景海量數據可視化中的數據預取系統采用的預取方法,其特征在于所述優先級隊列的更新級別高于原LRU鏈表。
全文摘要
本發明提供大場景海量數據可視化中的數據預取系統,包括依次連接的數據采集設備、串口、微處理器和輸出接口;所述數據采集設備采集待處理的目標數據,并通過串口傳輸給微處理器,經過所述微處理器的處理的數據形成了可視化模型;所述可視化模型可以經輸出接口向外界輸出。另提供一種大場景海量數據可視化中的數據預取系統采用的預取方法,減少可視化過程中突然增加的大規模數據調度量給系統帶來的時間延遲影響,增強系統運行的平穩性。本發明的有益效果是能夠有效地增加數據預取的命中率,提高預取效率及系統資源的利用率,進而有效地減少了數據調度量突然增加對系統性能的影響。
文檔編號G06F12/08GK102750228SQ20121017551
公開日2012年10月24日 申請日期2012年5月31日 優先權日2012年5月31日
發明者不公告發明人 申請人:天津福云天翼科技有限公司