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 还具有作业管理、集群管理、数据管理、用户管理、报表分析等诸多功能。