基于 Paraview 扩展与实现——(3)

 Paraview的通信模式

ParaView 服务器ParaVie w Server),提供了运行并行,交互可视化所必须的抽象层,使用户应用程序不必考虑诸如 ParaView 是否和如何在并行状态下运行等问题。VTK 提供了数据处理和渲染的核心算法。VTK,与一些其他的函数库(基础图形库 OpenGL,用于并行运算的 MPI 等)来提供可视化处理功能,如渲染,并行处理,文件输入输出,和并行渲染。基于 Qt 创建的图形用户界面客户端ParaView 提供的代理器(Proxy)和服务器管理器(Sever Manager),还有基于 VTK 的数据处理和渲染服务器,数据在这三者之间传递并处理实现分析数据的可视化分析

 基于 Paraview 扩展与实现——(3)_第1张图片

上图显示Paraview拥有的 个主要的逻辑部件:客户端、数据服务器和绘制服务器。当Paraview 启动的时候,客户端将连接服务器;这种情况下,所有 个部件都将在一个处理器中。同样,你能把服务器当做单独的程序运行并连接客户端。这种情况下,服务处理器连接了数据和绘制服务器。服务器也能被当做两个分离的程序启动:一个作为数据服务器、一个作为绘制服务器。服务器程序为数据并行,它可以独立的运行在不同的 CPU 上。当服务器程序在不同处理器上处理不同数据的时候,处理器用 MPI 去协调他们的进程。

客户端负责应用的用户接口。客户端通过服务管理器 API 用一个串行程序控制服务器。数据服务器主要由 VTK 的 readerssources 和 filters 构建。它主要负责读入数据、产生数据、处理数据和绘制服务器将展示的几何模型。数据服务器依靠划分数据、产生 ghost cells 和运行同步 filters 来执行数据并行。每一个数据服务器有一个相同的流水线,每一个服务器处理本地的那一块数据。

绘制服务器主要负责绘制几何信息。像数据服务器一样,绘制服务器也能并行运行并且有同样的可视化流水线(仅仅只有绘制部分)。因为数据服务器和绘制服务器可以分别独立运行,因此可以运行数据服务器在同一个集群中,而绘制服务器分离在拥有硬件绘制资源的集群中。绘制服务器的数量不可多于数据服务器的数量。可视化集群通常比模拟集群的节点数少,在送到绘制服务器之前,Paraview 在数据服务器上重新划分几何模型。Paraview 默认情况下没有并行支持,必须在编译 Paraview 时选择 MPI 支持。项目在Cmake的时候注意选项可以配置MPI的支持。

你可能感兴趣的:(Paraview,可视化)