web可视化技术发展(2.2&2.3

EverCraft一直在关注Web可视化技术的发展,在本系列文章里,小编将对国外一篇感觉很不错的综述性文章进行翻译,供这一领域的爱好者相互学习。这篇paper的信息为:“Mwalongo, F., et al., State-of-the-Art Report in Web-based Visualization. COMPUTER GRAPHICS FORUM, 2016. 35(3): p. 553-575. ”。感兴趣的小伙伴可以直接阅读原文献哈。


2.2 基于网格计算的可视化

网格化计算是一种分布式计算模型,通过汇聚各节点的计算和存储资源池来提供高性能的计算架构。各网格的计算资源与集群计算类似分布,区别在于集群的每个计算节点属于同一个组织内,而网格计算的计算节点是跨组织的。因此,相对于集群计算通常是同构资源,网格化计算的资源通常是异构的。

基于网格化计算的可视化源自对于复杂高性能的仿真,需要通过各网格资源来满足计算和存储仿真结果。通常科学仿真和其他科学设备产生的数据量十分巨大,基本不大可能仅使用本地计算资源来实现该类数据的可视化,因此需要网格化计算架构。各网格的计算和存储资源在地理上是分散分布的,所以基于网格计算可视化的算法面临着如何在有限带宽和延迟的条件下高效利用这种分布式架构的挑战。

大多数的网格计算可视化工作充分利用了web服务。考虑到网格化计算资源的异构属性,这很好理解。

2.3 基于云计算的可视化

基于云计算的可视化可视为基于网格计算可视化的进一步发展。云计算为远程可视化带来了更高的弹性和量化平台。通常云服务的接入还是需要具有计算和存储限制的网络终端(比如手机、平板、笔记本等),所以基于云计算的可视化面临的挑战,依然来自于如何在尽量降低对网络终端要求的前提下,提高网络终端和云端之间数据传输的效率。为了应对这一挑战,通常利用云端进行那些要求复杂预处理的任务,仅从终端提取和传输可视化必须的数据。

目前的可视化技术依赖于GPU的计算能力以加速渲染,所以要求这些应用程序能够从云端虚拟机获取GPU资源。虽然大都数的虚拟机管理程序可以有效实现主要计算资源类型的虚拟化,比如CPU、硬盘、I/O设备等,但GPU能力的虚拟化支持并不太够。当前从虚拟机访问GPU的主要方法是通过GPU直通和虚拟GPU(当前由NVIDIA GRID或AMD Multiuser GPU提供)

基于GPU的云端渲染主要应用在游戏和远程桌面解决方案。游戏在远端渲染并以流媒体的形式传输到客户端。为了降低延迟,GPU通常具有内置视频压缩编码,以降低传输视频流时给CPU带来的负担。这些游戏服务的终端多为移动设备、游戏终端、或者电视。对于云端游戏来说,延迟依然是最大的挑战。因为交互性的云端可视化和游戏都对延迟敏感,所以当使用云端渲染方案时,基于云端的可视化面临一样的挑战。将云端计算和客户端渲染技术综合使用,不失为解决对于延迟敏感场景下问题的有效云端可视化方案(我们将在之后讨论)。

云端虚拟机服务并不是就没有上限。因为每一个虚拟机都需要完整的操作系统,存储要求和日常通讯负荷很高。通过I/O接口的日常的通讯来自于运行在虚拟机和实体硬件资源之间的服务、或者不同虚拟机之间的服务。目前轻量化的虚拟技术(如Docker容器)在计算资源共享的性能和效率方面具有更大的潜力。

同时结合云端和客户端计算资源的云端可视化方案,将优于单独的云端渲染方案。对于延迟敏感的可视化应用来说,最理想的是在客户端执行渲染,并将任务的预处理放在云端。GPU移动技术的进步使这种结合成为可能。客户端避免了因网络带来的延迟,适用于交互性的可视化程序。云计算已经在仿真领域应用,这些仿真通常产生巨量的数据,无法通过单个工作站实现可视化。而将仿真数据放在云端,则通过使用云端可视化服务,则避免了这些巨量数据的迁移。

对于云端GPU的使用,不仅限于实现云端的GPU加速渲染。服务端的GPU加速计算(如使用CUDA及OpenCL),能在节省能源的情况下提供更高的性能。因此,尤其对于移动设备来说,将高昂的计算放在云端,将获益不菲。


EverCraft.co

我们相信。每个人都具有创新的力量,每一份对未来的设计都将让生活变得更有趣。

web可视化技术发展(2.2&2.3/6)


分享到:


相關文章: