Paraview Parallel模式下的文件解析(一)

This article delves into the components of Paraview's parallel mode for file parsing, focusing on classes like vtkCommunicator, vtkMultiProcessController, and their roles in inter-process communication. It discusses MPI-based communicators, serialization, and data transfer mechanisms, highlighting issues with data reception and the usage of broadcast and send/receive modes." 52795565,5661163,计算无符号整数二进制中1的个数,"['位操作', '二进制计算']
摘要由CSDN通过智能技术生成

/VTK/Parallel/Core/下的文件:

vtkCommunicator:这个类是用来在多进程环境下发送/接收信息。这个类是一个基类,包含一些进程间信息发送和接收的方法。还包含一些把对象封送为字符串的方法,这些方法应就是用来信息传递用的,到另一端也要解析。(这是用于MPI communicator的,而不是用于内存共享的communicator的)。在这样的信息传递中,所有的系统都必须拥有统一的vtkIdType。这里面有send/receive。还有Broadcast。这个类目前还没有试验过。可以试试

vtkDummycommunicator:这是一个虚设的控制器,用于对于单进程的应用。这是一个虚设的communicator,这用于一些需要controller但是又不用MPI和threads的应用。在这种情况下只有一个进程,没有真的信息传递发生。

vtkFieldDataSerialzer:这个类是用于Field数据的序列化和去序列化的。是vtkObject的一个具体的实例,提供序列化和去序列化,主要用于准备数据的传输,通过MPI或者其他的通行方式。显然这是一个工具类,用于改变Field data的,所以这个应该是没有什么必要测试的。

vtkMultiProcessController:用来在分布式计算环境下控制多个进程。他有一些在多个进程上执行单一或多个方法的方法。触发注册回调(远程方法)(AddRMI(),TriggerRMI())和进程通讯。需要注意的是进程通讯是通过对用户开放的communicator实现的。因此可以通过GetCommunicator()方式获得它,并且通过它完成发送和接收数据。这是鼓励的方式,内部的(RMI)communicator是第二种communicator,称为RMICommunicator。

对于RMI communicator有两种模式实现:(1)Send/Receive 模式和(2)Broadcast(集合)模式。Send/Receive 模式通过二分树的方式,采用后序遍历和从头结点传播RMI 触发到子节点的方式安排进程。一般通过TCP协议完成客户端和服务器的通讯。虽然Send/Receive模式能够在TCP或者MPI上被采用,但是这种方式对于在子进程范围上触发RMIs并不是最佳的。也就是说它采用Broadcast的方式去进行进程通讯。在MPI上下文中,这是一种普通常用的方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值