Sockets 在两个处理器之间共享计算

Sockets 在两个处理器之间共享计算,sockets,mpi,raspberry-pi3,distributed-computing,Sockets,Mpi,Raspberry Pi3,Distributed Computing,我正在从事一个项目,其中我有两个树莓PI,我想在他们之间共享流程负载,我对sockets非常熟悉,并且已经实现了一个程序,其中一个pi是主机,将流程请求发送给另一个pi,另一个pi确认请求,然后等待主机发送数据流进行处理,完成任务并返回响应 这种方法有效吗?还是我必须转换到基于MPI的库?我正在用C语言编程,我必须将大量数据发送到第二个raspberry pi进行处理。 从性能角度来看,MPI可以有效地使用高速互连和共享内存,这非常感谢。。。但是您的rpi3只有一个100Mb的网络,如果每个节点

我正在从事一个项目,其中我有两个树莓PI,我想在他们之间共享流程负载,我对sockets非常熟悉,并且已经实现了一个程序,其中一个pi是主机,将流程请求发送给另一个pi,另一个pi确认请求,然后等待主机发送数据流进行处理,完成任务并返回响应

这种方法有效吗?还是我必须转换到基于MPI的库?我正在用C语言编程,我必须将大量数据发送到第二个raspberry pi进行处理。
从性能角度来看,MPI可以有效地使用高速互连和共享内存,这非常感谢

。。。但是您的rpi3只有一个100Mb的网络,如果每个节点运行一个进程,您就不需要关心共享内存的性能。所以,如果套接字适合您,那么这就足够了。MPI具有高级语义,如果您计划在每个节点上运行多个进程和/或计划在不久的将来拥有更多rpi3,那么使用MPI可能会更容易。根据你的描述,这更像是一个“很好拥有”而不是一个要求。是的,先生,实际上这是一个软件定义的无线电项目的一部分,在这个项目中,我必须以30毫秒的速度处理样本(每个样本是一个16位整数),所以目前我使用pi作为辅助处理器。之后,我会切换到香蕉pi,它有千兆以太网和更高的处理能力,进程数量也会增加。因此,在这种情况下,我是否也应该转向MPI或使用套接字进行优化?您计划运行多少个节点,每个节点有多少个进程?只有两个节点,一个主机是客户端,但总共大约有6个并行进程,必须在节点之间共享。其中一个节点将处理后的数据转储到外部ADC(所需采样率为30 MSPs)。在6个进程中,有4个进程不在ADC传输的直接链中,并且不需要以给定的采样率(例如信号对齐)处理样本。插座可以足够好。请记住,大多数MPI库在等待消息时都会旋转(而不是轮询/休眠),这可能是您希望避免的。