文档介绍:RTSV:具有高交互性能的并行分布式可视化系统
曹轶1,2 姚彦忠1,2
1(北京应用物理与计算数学研究所计算物理实验室,北京8009信箱,100088)
2(中国工程物理研究院北京研究生部,北京2101信箱,100088)
摘要:本文介绍了一个针对大规模三维数据场的并行分布式计算可视化系统RTSV。为了提高交互式计算的性能,系统在计算端通过MPI并行模式加速可视化计算;在数据通信时使用MPI并行化的CORBA中间件连接并行计算节点和远程客户端;客户端与服务器的信息交互主要基于CORBA命名服务和事件服务。应用Push-Push模型,各个计算节点可以主动挑选时机发送数据到客户端,以保证计算与显示的可交互性。
关键词:科学计算可视化;高性能计算;CORBA;中间件
:中国工程物理研究院基金资助项目(2002Z01041)
联系作者:曹轶,E-mail:cao_******@iapcm.; 姚彦忠,E-mail:yao_******@iapcm.
针对大规模三维数据场的计算与绘制一直是科学计算可视化领域的一大挑战,在我们目前的工作中,单时刻科学数据已经达到百兆字节的级别,如何克服交互绘制的延迟已是突出面临的一个问题。我们开发了包括直接体绘制和间接体绘制在内的针对三维数据场的并行计算绘制程序,希望借助高性能的计算服务器来提高体绘制的速度。但是高性能计算服务器没有图形硬件模块,这为交互体绘制造成了障碍;另一方面,高速内部网络和具备图形硬件的PC终端日益成熟与完善,使得远程计算可视化的发展具备可行性。本文将介绍一个灵活可扩展的远程可视化系统,它结合并行可视化计算和远程绘制显示,充分利用了并行CORBA的特性,具备高效的数据交互性。
RTSV(remote tracking and steering visualization)系统[1,2]是一个针对科学计算领域的数值模拟研究平台,它具有分布式的跟踪驾驭和数据可视化的功能,能够采用动态耦合的方式整合各种科学计算程序。RTSV系统是基于面向对象语言C++编制的,构建于MPI、CORBA和OpenGL三种开放源代码库基础上。本文中RTSV系统被用来对三维并行数值模拟程序进行远程的跟踪驾驭,并在本地客户端进行绘制显示,图1是系统的信息交互示意图。RTSV属于一个开放的分布式计算系统,它的信息交互基础是CORBA服务。使用CORBA命名服务,并行节点与客户端之间的连接只需进行一次即可永久保持;利用CORBA事件服务能提供异步通信功能。结合使用这两种CORBA服务,就可以获得很好的远程交互特性。我们同时对CORBA进行了并行化的扩展,使得并行计算程序的每个并行节点都可以独立使用命名服务与事件服务与远程客户端进行交互与通信。
图1 RTSV系统的分布式信息交互示意图
命名服务的应用
RTSV是具有分布式特性的系统,在异构型网络中的对象所处位置分散,系统环境各不相同,要想迅速定位并调用这些对象,必须使用动态程序耦合方式。命名服务是基本的CORBA标准服务,它提供了分布式环境所需要的程序动态耦合机制。其原理是提供从变量名到对象引用的映射,即给定一个名字,服务就返回存储在该名字下的对象引用。命名服务的工作流程分为两个部分:名称的绑定和名称的解