Raspberry pi 多个系统在多个SoC上共享资源';s

Raspberry pi 多个系统在多个SoC上共享资源';s,raspberry-pi,mpi,distributed-computing,hpc,robotics,Raspberry Pi,Mpi,Distributed Computing,Hpc,Robotics,我从以前的项目/学习中得到了一些树莓Pi,我想把他们的资源集中起来制作一个差速驱动机器人 两个Pi分别有一个摄像头用于视觉系统,一个连接到Arduino以读取模拟传感器,一个用于驱动电机,最后一个Pi是“控制”并承载一个用户界面(web app)。这里没有什么特别的!但我希望能够分享所有Pi的资源,以提高性能 我对共享资源的看法是两种方法之一: 1) 使用分布式memcached作为RAM集群,并在一个CPU上运行每个子系统,以避免数据争用 或 2) 使用消息传递层在所有CPU上分发处理 为了避

我从以前的项目/学习中得到了一些树莓Pi,我想把他们的资源集中起来制作一个差速驱动机器人

两个Pi分别有一个摄像头用于视觉系统,一个连接到Arduino以读取模拟传感器,一个用于驱动电机,最后一个Pi是“控制”并承载一个用户界面(web app)。这里没有什么特别的!但我希望能够分享所有Pi的资源,以提高性能

我对共享资源的看法是两种方法之一:

1) 使用分布式memcached作为RAM集群,并在一个CPU上运行每个子系统,以避免数据争用

2) 使用消息传递层在所有CPU上分发处理

为了避免很多头痛,我想我可以使用MPI,因为它在消息传递方面起到了很大的作用。然而,我似乎找不到任何使用MPI的机器人技术项目的例子

当MPI用于监督学习或基因组学(相同的代码和大型数据集)时,它看起来是最简单的设计

在我的例子中,每个子系统运行的代码都与其他子系统非常不同。但例如,vision系统在成百上千的图像流上运行相同的代码。因此,为什么不使用MPI作为愿景,并让“控制”计划在其启动/停止时进行

然后将其输出用作下一个系统的输入,该系统也运行相同的代码,因此可以并行

所以我的问题是:

MPI不是一种常见的方法,这有什么原因吗 这是机器人学的吗?如果是,为什么以及什么是好的替代方案


GPU有一个CUDA-MPI,所以这种方法可能不太牵强?

@HighPerformanceMark我同意,每个子系统运行非常不同的代码。但例如,vision在图像流上运行相同的代码。那么,为什么不使用MPI来实现愿景,让“大脑”安排它的启动和停止时间,并将其输出用作下一个系统的输入,下一个系统也运行相同的代码,因此可以并行。思想?有一个CUDA-MPI btw和GPU的是理想的图像分析。但是我没有5个:)在性能上比第一个设计有所提高1)我同意!这是一个令我兴奋的行动方案,但这并不意味着它是正确的