2016-3-2
3D 設計應用在航空航天、汽車設計、船舶等高端制造業,也應用在游戲、動漫、影視等娛樂產業等。然而應用 3D 過程中需要建模、渲染、求解等,這些需要消耗大量的 GPU、IO 及內存資源,傳統的方法中的 CAE 和 CAD 渲染平臺是獨立的,工程師在本地將圖像化作業渲染出來,然后通過網絡傳輸到高性能計算中心進行計算求解,將高性能計算返回的結果返回到本地的工作站再處理,這種方式會帶來數據安全性,軟硬件資源浪費,管理維護困難,網絡傳輸要求高等諸多問題,然而通過把 NICE DCV 與高性能計算中心集成可以解決上述問題,工程師只需在高性能計算中心的 web 頁面提交 3D 應用的任務,應用運行后由 DCV 借助 GPU 來完成渲染工作,用戶通過 VNC 實時查看 3D 執行,進行 3D 交互設計即可。所有的操作都在云端執行,用戶無需擔心如何選擇合適的應用服務器、如何選擇合適的圖形渲染服務器,只需關心自己提交的 3D 應用即可。本文借助高性能應用平臺中心 IBM platform application center(PAC) 和 NICE DCV 的集成來講述面向高性能計算和云桌面可視化的集成架構。
云桌面可視化(Desktop Cloud Visualization,以下簡稱 DCV)是面向 2D/3D 交互式應用,傳統的應用軟件通過本地高速 I/O 通道向顯卡發送圖形處理命令,顯卡將請求數據進行渲染成像后顯示在終端上。然而通過 DCV 所有的圖形渲染工作由數據中心的圖形工作站來完成,渲染后的圖像通過 DCV 協議經網絡傳送到遠程的終端上。DCV 在帶寬和延時比較低的情況下能實現對遠程 2D/3D 交互應用的高效運行,并且可以將運行的可視化任務共享給多用戶,同時用戶可以將 DCV 部署在異構的操作系統上(Windows、Linux),支持在物理機和虛擬機上進行 OpenGL 的 3D 加速。
圖 1 NICE DCV 的架構
NICE DCV 架構組成如下:
DCV 服務器,配置一塊或多塊 GPU 卡,用于 OpenGL 渲染。
一個或多個 DCV 客戶端,可以配置瘦客戶端,用于遠程可視化連接。
異構的網絡環境(例如 LAN、WAN 和 VPN)。
NICE DCV, Hyper-V+RGS,XenServer +HDX ,Citrix HDX,RemoteFX,Exceed On-Demand 是目前比較主流的桌面虛擬化平臺。下面主要對 Exceed On-Demand、Citrix HDX、RGS 和 NICE DCV 進行簡單的介紹。
UNIX 用戶可以使用 Exceed On-Demand 軟件安全、方便和高效的工作,極大的較少 X Server 的網絡傳輸流量,降低企業的運營成本,但是 Exceed On-Demand 只能布置在 Linux 系統平臺,支持 OpenGL 圖形應用程序接口,能在 Linux 平臺實現 GPU 共享。
Citrix HDX 是一種全面而易于管理的服務器虛擬化平臺,能高效地管理 Windows 和 Linux 虛擬服務器,可提供經濟高效的服務器整合和業務連續性。能實現對多媒體、語音、視頻和 3D 圖形交互。但在工程設計領域,該產品只能實現基于 Windows 平臺的桌面虛擬化交互,而且無法實現對 GPU 資源的共享。
Remote Graphics Server 采用惠普專利的 HP2 壓縮/解壓縮技術,在低帶寬下仍然能實現高清及 3D OpenGL 的圖像數據傳輸,在渲染圖形的同步性方面有著出眾的表現,同時部署比較簡單,對 OpenGL 和 DirectX 兩種應用接口,但無法實現 GPU 的共享。
NICE DCV 協議適用于多種網絡架構,能較好的應對帶寬和延時的限制,所有應用全部可以運行在虛擬機和物理機??蓱迷?Linux 和 windows 兩種系統平臺,支持 OpenGL 和 DirectX 兩種圖形應用接口,同時還支持異構系統平臺的 GPU 資源共享。
圖 2 可視化解決方案對比
IBM Platform Application Center(PAC)作為高性能應用平臺中心,內建了 DCV 的應用模板,支持DCV 部署在 Windows 和 Linux 系統,實現 Web 下 2D/3D 應用的遠程交互,并借助于 PAC 的后臺程序實現資源的調度,支持 DCV 在當前主機或遠程機器渲染 2D/3D 應用。
PAC 和 DCV 的融合還可以實現 2D/3D 任務的圖形化集中管理和調度,從 PAC 上可以實現 2D/3D 任務的建立、提交、運行、暫停、終止、查看等全程監控及管理。用戶不需要知道哪些機器安裝了 2D/3D 應用,哪些機器是可用的,由 PAC 后臺的分布式系統來完成資源的分配、調度。通過這種方式可以共享計算資源和應用許可證,提高資源的利用率和減少硬件和軟件的支出。
圖 3 PAC 和 DCV 的集成架構
PAC 和 DCV 集成方案包括提供 web 入口的高性能應用平臺 PAC、計算資源管理和調度、圖形可視化資源管理和調度、后端資源使用實時監控。此外還可以增加統計分析報表功能、3D 應用計費等功能。PAC 和 NICE DCV 集成的整體解決方案具體如下:
用戶通過 Web 頁面登錄到高性能應用平臺中心 PAC, 在應用程序列表中選擇運行交互式的 2D/3D 圖形可視化應用程序的模板,并進行應用模板的發布,提交 2D/3D 圖形化應用作業。
運行交互式的 2D/3D 可視化應用的許可證請求被滿足后,主調度服務器繼續向圖形服務器查詢是否有足夠資源來運行應用程序,如果當前資源滿足需求,則把合適的圖形處理服務器資源分配給該任務。
交互式的應用程序在實際分配的圖形服務器上啟動,通過DCV使用本機或遠程服務器上的 CPU、內存和顯卡來進行圖像渲染,并將圖形 Session 的信息返回。
遠程可視化客戶終端獲得遠程 3D 圖形 Session 的信息,然后連接到實際的 Session 上。
通過 VNC 連接遠程可視化客戶終端,并在用戶的桌面終端機上使用 VNC 打開相應的交換窗口,實現用戶交換設計。
PAC 和 DCV 的融合可以幫助用戶自動選擇可用的應用服務以及渲染機器,并且提供基于 Web 頁面的 3D遠程交互設計。用戶只需在 PAC 提交具體的應用,然后通過 VNC 連接到遠程客戶機實現與 3D 應用的交互設計,而無需關心具體的細節。同時 PAC 將 DCV rending 機器的信息收集后保存在數據庫中,提供對 DCV rending 節點統計,通過分析節點的 CPU 使用率,可用內存,I/O 速率等來幫助用戶分析提高 DCV rending 節點使用效率。
圖 4 PAC 和 DCV 集成實列圖
圖5 DCV rending 節點負載統計分析圖
PAC 集成 DCV 具有如下優點:
用戶共享 2D/3D 應用程序,減少應用許可證的使用。
多用戶可以共同完成 2D/3D 應用的設計,節省開發時間。
提高顯卡、內存的使用效率,降低硬件的花費。
通過 PAC 的 Web頁面可以靈活訪問 3D 應用。
3D 任務的可視化管理,動態監控。
提高了 3D 應用程序的可用性。
數據保存在云端,提高了數據的安全性。
節省 IT 人員的維護成本。
通過 web 瀏覽器訪問 PAC,在 PAC 頁面上進行 3D 任務的提交, PAC 服務器將作業請求的信息傳遞給后臺的分布式系統,由后臺的分布式系統完成資源的分配和調度,任務提交后以作業形式展現在 PAC 的作業列表,作業運行時,啟動 VNC 服務器、2D/3D 應用服務,DCV 對 3D 應用進行渲染。創建 vnc 文件用于 VNC 桌面客戶端的連接。用戶通過 PAC 下載 VNC 客戶端,然后使用客戶端連接到 VNC 服務機器,開始 2D/3D 的設計、查看等工作,關閉 VNC 服務器上的 3D 應用時結束當前會話,作業結束。
圖 6 應用會話生命周期
結束語
PAC 不僅可以集成 DCV,而且還可以集成 HP-RGS,EOD 等虛擬化應用軟件,給用戶提供更多的虛擬化應用選擇,此外 PAC 還內置了其它第三方應用程序模板,例如 ABAQUS、ANSYS、FLUENT、BLAST、HMMER 和 NASTRAN 等。內置模板已運用多個行業的實際生產環境中,例如航空航天,石油化工、機械制造、汽車制造、生命科學,醫療、化工等多個行業。更重要的是用戶可以根據具體需要可以創建應用程序模板,擴大了應用集成的范圍,從而使作業提交更快速,便捷,低錯誤率。應用集成是 PAC 的重要組成功能,PAC 還具有作業管理、集群管理、數據管理、用戶管理、報表分析等諸多功能。