?

高性能計算數據遠程交互可視化系統研究

2011-09-07 10:17武殿梁程奐翀范秀敏
計算機工程與設計 2011年9期
關鍵詞:高性能客戶端可視化

徐 龍, 武殿梁, 程奐翀, 范秀敏

(1.上海交通大學計算機集成制造研究所,上海200240;2.上海市網絡化制造與企業信息化重點實驗室,上海200030)

0 引 言

為了解決當前科學計算可視化領域存在的高性能計算數據可視化依賴于高性能軟硬件支持的問題,可以構建服務于各個應用領域的數據可視化服務平臺,平臺集成各類可視化分析工具和高性能計算硬件,向用戶提供多種數據可視化分析服務,從而可以解決目前高性能計算數據的后處理瓶頸問題。

國內外一些高校與研究所在可視化服務平臺方面已經做了一些探索,并在特定的領域對平臺進行了驗證。Zagreb大學的Bojan Blazon等[1]提出了一種基于Web Services的可視化服務平臺概念,能夠支持基于WebServices的遠程可視化資源共享,使不同領域的科學工作者能夠在異地直觀地對了解特定行業的專業數據。Ninan等[2]開發了一種基于產品CAD及有限元模板文件的遠程客戶定制系統,該系統以Web為平臺基礎,集成用戶需求實時地參與到產品設計過程中。Amsterdam大學的Spiros Koulouzis等[3]提出了一種基于Web服務的數據傳輸模式,用來向客戶提供醫學圖像分析。中科院超級計算中心的單桂華[4]提出采用GOS作為網格中間件的遠程可視化系統,通過實時可視化計算過程中輸出的數據文件,可以實現計算過程的可視化跟蹤和實時分析。然而目前的可視化服務平臺面向特定的應用領域,只能支持少量可視化工具,無法滿足多領域高性能計算數據可視化的需要;而且現有可視化平臺與用戶之間的接口非常簡單,無法滿足用戶交互的需要。

因此,本文在總結現有可視化服務平臺不足的基礎上,提出一種遠程交互操作可視化平臺方案。應用遠程可視化技術和實時交互技術實現客戶端對遠程服務器端的數據及可視化工具的實時操作,給出了系統任務調度、多任務仿真以及大數據精簡等關鍵技術的解決方案,以此為基礎開發出高性能計算數據遠程交互可視化平臺原型系統,并以科學計算數據和工程分析數據的遠程實時交互可視化為例驗證了該系統的有效性。

1 遠程交互可視化系統框架

1.1 高性能數據遠程可視化平臺系統目標與功能要求

針對目前高性能計算數據可視化所需計算資源較大,普通客戶軟硬件環境難以滿足需求,而目前主流的可視化工具軟件無法提供遠程服務等問題,計算數據遠程可視化服務平臺的功能需求主要包括:能夠實現支持可視化任務的計算數據上傳和可視化分析結果下載;能夠將高性能計算數據類型轉換為平臺的可視化工具可以接受的數據格式;能夠實現可視化軟件資源的有效共享,支持用戶在網絡異地實時操作服務器上的可視化軟件對上載的計算結果進行分析;能夠支持多用戶多可視化任務同時進行,實現可視化資源的有效調度和分配[5-9];能夠實現支持大規模高性能計算數據實時交互可視化的數據精簡[10-12]和調度技術[13-15]。

1.2 高性能數據遠程可視化平臺系統基本框架

為了滿足功能需求,可視化平臺主要有Portal系統,任務調度系統、接口程序庫、可視化工具庫、平臺數據庫、客戶端插件等幾部分組成 (如圖1所示),其中前幾部分運行于服務器端,客戶端插件運行于瀏覽器端。服務器可以放在一臺單機上,也可以是一個局域網支持的PC機群。

圖1 高性能數據遠程交互可視化平臺框架結構

Portal端管理用戶的注冊和登錄,用戶也可以通過Portal端上載計算數據,下載結果文件。

任務調度系統管理用戶對可視化任務的申請,包括選擇數據轉換接口和可視化軟件工具,建立新的可視化任務,監視可視化任務的運行情況等。

數據轉換接口程序庫存放各種數據類型的轉換接口程序,每個接口程序都能夠由平臺的任務調度系統進行調用,對指定的數據文件進行解析。

可視化工具庫管理多種數據可視化軟件工具,工具可由平臺的任務調度模塊啟動,對從轉換接口或平臺數據庫獲得的計算數據進行處理,可視化結果輸出到可視化硬件環境,也可以以結果文件的形式保存到數據庫中。

平臺數據庫用來存儲用戶提交的各種待處理的計算數據文件以及可視化任務產生的各種結果文件。

客戶端安裝在用戶本地,為服務器上的可視化工具提供了一個映射窗口,用于處理用戶實時交互信號,發送到遠程可視化軟件,同時接收遠程可視化工具的即時界面信息。

1.3 高性能數據遠程可視化平臺系統運行流程

高性能計算數據遠程交互可視化平臺的工作流程如圖2所示,以多用戶多任務為例描述平臺工作流程:

(1)用戶登錄時平臺Portal端獲取用戶名和密碼,訪問后臺數據庫,查詢用戶是否有操作權限。

(2)平臺為每個登錄用戶在數據庫中分配獨立的存儲空間,用來存放計算數據以及操作結果文件。出于安全考慮,用戶和存儲空間是一一對應的關系。

(3)用戶通過Portal端上載計算數據到數據庫,選擇并提交可視化任務進入調度隊列。

(4)平臺的任務調度系統根據用戶提交的任務信息尋找合適的可視化服務資源,然后啟動資源服務,相關資源根據任務信息在數據庫中查找計算數據,完成可視化場景的初始化。

(5)平臺將可視化資源啟動結果返回給用戶,并根據啟動結果控制平臺客戶端是否啟動。

(6)在實時交互操作過程的每一幀中,用戶在客戶端窗口中移動鼠標/鍵盤進行各種分析操作,客戶端的硬件信號處理功能捕獲用戶操作信息,編碼為統一格式的操作指令發送到可視化服務資源模塊;該模塊對接收到的操作指令解碼后映射到可視化軟件中,控制可視化場景進行更新。

(7)可視化服務資源模塊將場景中變化部分的圖像編碼后發送到客戶端,客戶端將圖像解碼后更新窗口。

(8)用戶通過客戶端發送指令結束可視化任務,可視化服務資源模塊可根據用戶指令結束自身運行,從而結束整個任務。

圖2 平臺工作流程

2 支持數據遠程實時交互可視化的關鍵技術

2.1 數據的遠程、實時、交互、可視化操作技術

遠程交互操作可視化技術可以解決當前可視化服務系統中存在的實時性不強,與用戶交互接口過于簡單的問題。該技術主要涉及遠程交互操作可視化服務器VisServer和客戶端VisClient之間的指令發送和圖像傳輸。平臺采用B-S與C-S混合架構實現遠程交互操作可視化,如圖3所示。首先通過B-S部分建立VisClient與VisServer之間的連接:調度系統根據可視化任務查找到合適的資源后啟動可視化工具和VisServer,啟動成功后向Portal端發送準備就緒的消息;Portal端通過瀏覽器啟動客戶端的VisClient,并將VisServer的連接信息傳入VisClient;VisClient向VisServer發送連接請求。連接建立之后,采用C-S結構進行VisServer和VisClient之間的指令發送和圖像傳輸。

圖3 遠程交互操作可視化實現方案

2.1.1 遠程可視化實現方法

實時圖像傳輸是實現遠程可視化的基礎??紤]到廣域網復雜的網絡條件以及服務器端的系統安全,平臺進行圖像傳輸有如下特點:

(1)可視化進程與可視化軟件綁定:圖像捕捉只返回和可視化軟件關聯的窗口,VisClient端用戶交互操作限制在可視化軟件窗口中;

(2)窗口的分塊傳輸:VisServer將可視化軟件界面自上而下分為幾個部分,依次對各個部分進行對比更新,對無變化的部分不進行網絡傳輸,從而節省網絡流量。

(3)根據網絡情況調整畫質:平臺在VisClient中實現了可以實時調整圖像畫質以及壓縮比的功能以適應不同的網絡條件。

2.1.2 遠程交互操作實現方法

實時指令傳輸是實現遠程交互操作的基礎。用戶在Vis-Clinet窗口中使用鼠標鍵盤進行可視化分析操作,VisClient捕獲用戶的鼠標鍵盤操作信息,編碼為統一格式的指令,通過sokcet協議傳輸給VisServer,VisServer經過解碼獲得指令并映射到可視化工具中。

第二種跡象:微小的日常。一些藝術家已經拋開了所謂宏大敘述,轉向了更加貼近自身的、細微的日常景觀,展開更加深入、細膩的表達,提供了前所未有的獨特視角。

2.2 支持多用戶實時可視化操作的多任務管理技術

系統支持不同類型的多個可視化任務同時運行。目前系統提供3種類型的服務:文件列表查詢,數據類型轉換,遠程可視化交互操作。用戶通過瀏覽器提交可視化任務,平臺需要對用戶提交的任務進行合理調度。調度過程如圖4所示。

圖4 多任務管理調度

任務生成:用戶通過平臺Portal端將可視化任務提交到系統的任務隊列中,任務隊列負責用戶任務信息及其狀態的維護,其中任務信息包括了用戶ID,用戶IP,任務類型,工具信息,數據文件信息等;

任務解析:任務調度按先到先服務原則從任務隊列中獲取任務作業,根據任務類型和工具信息,判斷任務所需的服務資源種類和可視化工具類型;

資源服務查詢:根據任務作業解析結果,查詢服務器上合適的可視化服務資源,供調度決策進行決策處理;

調度決策生成:根據資源服務發現結果,采取先發現先分配的策略,在最先發現的合適的可視化服務資源上運行任務;

任務執行:根據任務決策結果啟動相應的資源服務同時傳入所需的任務信息;

結果返回:系統將資源啟動的結果通知相應的用戶,并根據資源啟動情況,向該用戶的客戶端返回指令,控制客戶端軟件是否啟動。

2.3 支持大規模數據實時操作的數據分割與調度技術

平臺面向高性能計算數據,目前的可視化系統在處理高性能數據時采用的將全部數據讀入內存進行處理的方法難以滿足實時交互繪制的需要。系統為用戶提供一個可以對大規模數據進行精簡的插件,該插件對原始數據空間進行二叉樹分割,二叉樹每一層次的結點對應一個數據文件;可視化時根據調度策略將相關的文件加載到內存,從而可以提高計算繪制的效率。平臺對高性能計算數據的處理為預處理和數據調度兩步,如圖5所示。

2.3.1 數據預處理

預處理是在可視化之前對外存上的高性能數據進行處理,分為數據分割和數據精簡。

(1)數據分割

對高性能計算獲取的有限元網格模型頂點進行空間分割,生成基于非均勻二叉樹的分塊離散點群。二叉樹各節點對應三維空間中的AABB(軸對稱)包圍盒,僅最下層結點的包圍盒具有自己的離散點群,其余各層結點均只有包圍盒信息而沒有離散點信息。

圖5 高性能計算數據處理過程

(2)數據精簡

數據精簡目標是對已有的數據場建立分層次的 LOD模型。其基本原理是在空間分割的基礎上進行自下而上的精簡運算。精簡開始后,除底層外,每層結點的離散數據點群總是在其直接孩子結點的點群基礎上,進行稀疏化獲得。

上述過程數學化表達如下:

數據精簡開始后從二叉樹底層往上遞推,計算其它各層結點的D

2.3.2 基于多分辨率數據的實時調度策略

在對原始數據進行分割精簡,生成多精度層次數據文件的基礎上進行數據調度。將視錐按照距離視點的距離進行分區,分區數量與數據精度層次相等。設數據分為n個精度,則數據文件分為n層,視錐分區為n個,按照其距離視點的遠近排列如下:1,2,…,n。依照視錐分區進行數據文件定位(如圖6 所示)。

圖6 視錐各分區與空間二叉樹各層結點相交情況

第1視錐分區:依據空間二叉樹查找方法定位文件層次樹的底層(第n層)結點所代表的區域中與視錐分區相交的部分,獲得相關結點對應的數據文件;

第i視錐分區(0

第n視錐分區:即為根結點(第1層)對應的最低精度數據文件。

顯示時將按照視錐分區由近及遠的順序獲得的數據文件加載到場景中。

3 高性能數據遠程可視化系統開發與應用

3.1 高性能數據遠程可視化平臺的開發過程

我們以VC++8.0為開發工具,使用socket協議實現平臺Portal系統,任務調度系統,客戶端插件之間的通訊,使用VNC標準實現任務調度系統和客戶端之間的實時圖像傳輸和指令發送,并采用JSP、ActiveX控件技術和FTP協議開發了平臺Portal和文件傳輸模塊。通過集成各模塊構建了高性能數據遠程交互可視化平臺系統。

3.2 應用案例

下面以工程分析中整車碰撞仿真以及科學研究中飛機在氣流場中的氣動特性模擬為例對平臺的有效性進行驗證。測試環境由5臺PC機搭建,其中兩臺作為平臺客戶端,另外3臺作為服務器。測試使用的整車有限元模型大小為70M。

測試過程如下:①用戶首先登錄平臺Portal,上載整車有限元計算結果文件到數據庫;②通過平臺的數據轉換功能將LS-Dyna有限元計算結果轉換成平臺可視化工具能夠接受的數據類型;③選擇并提交可視化任務,如圖7(a)所示,用戶可以在客戶端窗口中應用鍵盤鼠標對整車模型進行各種分析操作,如圖7(b)、圖7(c)所示;④用戶可以將操作結果以圖片、數據、視頻等多種文件方式保存到數據庫并進行下載。

飛機氣動特性模擬仿真測試過程與前面類似,測試時使用的fluent類型數據大小為700M。對于一般的可視化軟件,處理如此規模的數據有一定的延滯,因此我們采用平臺提供的用于處理高性能數據的插件進行可視化。圖7(d)為視點靠近氣流場中心時飛機周圍的氣態特性,圖7(e)為視點遠離氣流場時的氣態特性。箭頭代表該點的氣流場方向。從圖中可以看出,由于采用了基于視點的調度策略,視點離氣流場中心越近箭頭的密度越大。

通過該系統,工程技術人員能夠遠程操作計算中心的超級計算機對高性能計算數據進行可視化分析。經測試表明,高性能計算數據遠程交互可視化平臺可以實現計算資源的共享,滿足用戶實時異地交互操作的需要,同時能夠對多用戶多任務進行有效調度和資源分配。

4 結束語

本文在現有可視化平臺的基礎上提出了一種高性能計算數據遠程交互可視化系統,能夠有效集成和共享各種計算資源,滿足高性能數據對大量計算資源的需求,為遠程用戶提供能夠進行實時交互操作的可視化環境。通過該系統,用戶可在網絡異地操作服務器上的可視化工具對高性能計算數據進行處理,可以節約資源降低成本,從而為高性能計算結果數據的分析與處理提供了有效手段。

圖7 平臺應用案例

[1]Bojan B,Zeljka M.Visualization service based on web services[J].Journal of Computing and Information Technology,2007,4(1):339-345.

[2]Jiju A Ninan,Zahed Siddique.Finite element analysis template approach to support web based customer centric design[C].Salt Lake City:ASME Computers and Information in Engineering Conference,2004:451-460.

[3]Spiros Koulouzis,Elena Zudilova-Seinstra.Data transport between visualization web services for medical image analysis[J].Procedia Computer Science,2010,1(1):1727-1736.

[4]Shan Guihua,Chi Xuebin,Lu Zhonghua,et al.Remote real-time visualization system based on GOS[J].Application Research of Computers,2007,11(11):178-180.

[5]Steve Casera,Peter Kropf.Collaboration in scientific visualization[J].Advanced Engineering Informatics,2010,24(2):188-195.

[6]Wu Qishi,Gao Jinzhu,Chen Zizhong,et al.Pipelining parallel image compositing and delivery for efficient remote visualization[J].Journal of Parallel and Distributed Computing,2009,69(3):230-238.

[7]Yasuaki Kishimoto,Akihiro Sugahara,Li J Q.Remote collaboration system based on large scale simulation[J].Fusion Engineering and Design,2008,83(2-3):434-437.

[8]Scarpa M,Belleman R G,Sloot P M A,et al.Highly interactive distributed visualization[J].Future Generation Computer Systems,2006,22(8):896-900.

[9]Chu Chih-Hsing,Cheng Ching-Yi,Wu Che-Wen.Applications of the web-based collaborative visualization in distributed product development[J].Computers in Industry,2006,57(3):272-282.

[10]Soetebier I,Birthelmer H,Sahm J,et al.Managing large progressive meshes[J].Computers&Graphics,2004,28(5):691-701.

[11]Gao Shuming,Zhao Wei,Lin Hongwei,et al.Feature suppression based CAD mesh model simplification[J].Computer-Aided Design,2010,42(12):1178-1188.

[12]Guillaume L,Florent D,Atilla B.Curvature tensor based triangle mesh segmentation with boundary rectification[C].Crete:Proceedings of Computer Graphics International,2004:10-17.

[13]Yu Zhiwen,Wong Hau-San,Hong Peng,et al.An adaptive simplification method for 3D point-based models[J].Computer-Aided Design,2010,42(7):598-612.

[14]Shaffer E,Garland M.A Multiresolution representation for massive meshes[J].IEEE Transactions on Visualization and Computer Graphics,2005,11(2):139-148.

[15]Atul Thakur,Ashis Gopal Banerjee,Gupta K.A survey of CAD model simplification techniques for physics-based simulation applications[J].Computer-Aided Design,2009,41(2):65-80.

猜你喜歡
高性能客戶端可視化
基于CiteSpace的足三里穴研究可視化分析
思維可視化
基于CGAL和OpenGL的海底地形三維可視化
如何看待傳統媒體新聞客戶端的“斷舍離”?
“融評”:黨媒評論的可視化創新
縣級臺在突發事件報道中如何應用手機客戶端
孵化垂直頻道:新聞客戶端新策略
大樞紐 云平臺 客戶端——中央人民廣播電臺的探索之路
一款高性能BGO探測器的研發
高性能砼在橋梁中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合