摘要:科学计算可视化是数据和计算密集型应用,随着计算机硬件和网络技术的发展,科学计算可视化逐步从并行计算过渡到面向网格的分布式计算方式,促生了可视化领域的一个新研究点:面向网格的可视化。本文介绍了面向网格的可视化的研究内容、应用以及它的发展趋势和的研究方向。
关键字:可视化;网格计算;体绘制;面向网格的可视化
abstract scientific visualization is a process which in volves massive data sets and highly intensive computation.with the developments of computer hardware and network technologies, scientific visualization has transited gradually from the parallel computation to the distributed computation of grid-enabled. grid favors a new research direction, i.e.,grid-enabled visualization. in this paper , research contents, application, develop- ment trend and research direction of grid-enabled visualization is introduced.
keywords visualization;grid computing;volume rnedering;grid-enabled visualization
1.引言
科学计算可视化(visualization in scientific computing,visc)是20世纪80年代随着计算机技术的迅速发展而出现的新兴技术,其基本思想是“用图形和图像来表征科学计算数据”,来发现和理解科学计算过程中各种现象。wWw.lw881.com科学计算可视化作为一种计算和数据密集型应用,往往需要较高的硬件配置,并常常利用并行技术进行加速。[1]随着计算机硬件和网络技术获得长足发展,图形硬件性能急速提升,科学计算分布范围不断拓展,计算规模不断扩大。网格技术就是在这种条件下产生的一种面向互联网的分布式计算方式,它是传统的并行计算和分布式计算在深度和广度上的拓展。其目的是利用分布在网络上的存储和计算资源,通过对它们的动态组合为解决超级计算问题提供支持。虽然网格技术仍在发展之中,但它所提供的资源汇聚、自治协调等功能将使得可视化应用在更广的范围内进行数据存储和计算,更好地与科学计算程序集成,并让更广范围的用户通过网格以远程或协作方式使用可视化应用。面向网格的可视化己经成为可视化领域的一个新的研究方向。
2.面向网格的可视化主要研究内容
面向网格的可视化,其含义是受网格支持的可视化,或网格驱动的可视化,指的是利用网格的功能,为并行/分布式可视化提供基础性支撑。图1为面向网格的可视化说明示意图。网格技术支持互联网范围的可视化应用,它对于可视化应用的意义有以下几个方面。[2][3]
第一,随着科学计算应用的发展,可视化数据集的存储量和计算量不断增大,而网格技术能够通过动态的资源组织满足数据存储和计算的要求,它能提供自治和动态的资源管理,实现数据采集、存储和计算的分布,因而可以利用更广范围内的资源,增强人们理解和使用科学数据的认知能力,扩充海量数据处理的能力,延伸人类科学活动的范围。
第二,可视化应用的高资源需求性必然限制其可访问性,近年来,虽然pc处理器和图形硬件的性能在以惊人的速度成长,但是仍然难以处理较大型数据的绘制,因此,长期以来,大数据量的可视化应用只能运行在高端并行计算机和pc集群上,往往需要远程使用。随着互联网的普及,远程可视化的空间进一步扩大了。与基于web的远程可视化相比,网格提供了一个更为统一的资源共享和使用平台,在这个平台上协调各种资源提供远程可视化服务存在很多新的挑战,因为需要处理数据、计算和显示等多种类型的分步。
图1 面向网格的可视化说明示意图
第三,作为一种分布式可视化应用,面向网格的可视化应当支持多用户多任务,多个不同用户应该可以同时使用系统而互不干扰,同时每个用户又可以提交多个任务。另外,面向网格的可视化还应该为多用户间的协同提供支持。协同也是网格的一项重要特征。网格提供虚拟组织支持,这种虚拟组织的概念除表现为资源的虚拟化外,更突出表现为多个用户之间的协作。
第四,科学计算和可视化都是网格的主要应用对象。可视化通常是科学计算的后续处理步骤,为了更好地对科学计算结果进行可视化和驾驭,需要在可视化流程和科学计算过程之间进行协调和集成。通过这种集成可以更好地获得反馈并进行控制,提高资源的利用效率,方便问题求解环境的构建。
3.面向网格的可视化的探索及应用
由于科学计算可视化对于科研和生产的重要作用,面向网格的可视化己经成为一个新的研究方向,ieee copmuter graphics & applications杂志为此在2003年3月出了网格可视化专专辑。美国,欧洲等在面向网格的可视化领域进行了较多研究,这些研究的侧重点有所不同。
3.1 基于网格技术支持的并行体绘制的研究应用。如美国爱荷华大学的knosp等人提出了一个基于网格的体绘制框架[4],他们使用globus的资源管理、信息服务和数据传输工具支持并行体绘制框架;另外美国德克萨斯大学奥斯汀分校的计算可视化中心(ccv,http://ccvweb.csres.utexas.edu/ccv/)在己有的远程并行绘制系统的基础上使用globus添加网格支持,在他们的设计中,可视化服务的实现由各个可视化服务器完成,并通过globus的网格服务向用户提供可视化服务。
3.2 基于网格技术支持的可视化软件的应用。如美国犹他大学科学计算研究所曾将他们的可视化问题求解环境scirun与netsolve结合[5]。英国利兹大学和英国nag公司等共同进行了gviz项目[6],其主要目标是为nag公司的可视化软件iris explorer增加网格支持,实现可视化与仿真的联合、计算驾驭、多用户协同等功能。
3.3 侧重于大规模数据集传输的网格可视化研究及应用。如美国lawrence berkeley国家实验室(lbnl)的bethel等人使用udp协议为cactus设计了一个处理太(t)字节数据的并行可视化后端程序visapult[7]。美国南加利福利亚大学的thiebaux等人也对网格环境下海量数据的并行输入/输出处理进行了深入研究[8]。
3.4 面向网格的可视化中间件和体系结构的研究及应用。如荷兰阿姆斯特丹大学等单位在globus上建立了虚拟实验室网格中间件vlam-g[9],它是一个完整的面向网格的科学计算及可视化中间件和工具包.德国的爱因斯坦研究所(cactus[10]的开发机构)和柏林zuse研究所等联合进行了griksl项目[11],其目的是将使用cactus的科学计算与可视化应用联合起来,为大规模数据的科学计算提供远程可视化和驾驭服务.美国高级计算基础设施合作组织(npaci)正在协调其成员联合开发适用于超级计算的可视化工具(http://vistools. npaci.edu)和可视化服务(http://visservices.npaci.edu).此外,美国伊利诺斯大学香槟分校的国家超级计算应用中心(ncsa)也正在实施网格相关的可视化服务计划.欧洲crossgrid项目开发了一个网格可视化中间件grid visualisation kernel[12],其目标是提供通用的可视化服务,将仿真程序和可视化连接起来并支持多种显示设备.
在面向网格的可视化领域内,国内也正在进行着相关的探索,如浙江大学cad&cg国家重点实验室在2004年完成了gvis的初级原型系统,并对面向网格可视化领域的研究作了初步总结。基于此通过分析比较国内外研究工作,后来提出并实现了一个面向网格基于java的交互式远程并行可视化体系结构和系统gvis [13],gvis由网格支撑层、可视化层和网格门户层组成,是一个基于glbous的交互式远程并行可视化系统,系统具有良好的交互性、跨平台性和可扩展性。该体系结构(如图2所示)与国内外面向网格可视化系统相比具有层次少,各层功能独立,可扩展性、交互性和跨平台性好等特点,支持面向网格的交互式并行可视化和远程可视化,并可在进一步的扩展中支持协同可视化。是一个较为全面的面向网格的可视化系统。