我从以前的项目/学习中获得了一些Raspberry Pi,我想将他们的资源集中在一起制造差分驱动机器人。
两个Pi将为视觉系统分别配备一个摄像头,一个连接到Arduino以读取模拟传感器,一个用于驱动电机,最后一个pi是“控制”并托管用户界面(Web应用程序)。这里没什么特别的!但我希望能够分享所有Pi的资源以提高性能......
我对资源共享的看法是两种方法之一:
1)使用分布式memcached作为RAM集群,并在一个CPU上运行每个子系统,以避免数据争用。
或
2)使用消息传递层在所有CPU上分发处理。
为了避免很多头痛,我想我可以使用MPI,因为它在消息传递方面做了大量的提升。但是我似乎无法找到任何使用MPI的机器人项目的例子。
当用于监督学习或基因组学(相同代码和大数据集)时,看起来MPI是最简单的。
就我而言,每个子系统运行的代码与另一个不同。但是,例如,视觉系统在数百/千图像流上运行相同的代码。那么为什么不将MPI用于视觉,并在开始/停止时让“控制”计划。
然后将其输出用作下一个系统的输入,该系统也运行相同的代码,因此可以并行。
所以我的问题是:
有没有理由说MPI不是常见的方法 这在机器人学?如果是这样,为什么以及什么是一个好的选择呢?
有一个用于GPU的CUDA-MPI所以也许这种方法不是太过分了?