分布式物理仿真帮助/建议

时间:2012-05-10 09:45:10

标签: mpi physics distributed-computing

我在分布式内存环境中工作。我的任务是模拟使用弹簧大3D物体绑定的粒子,将它们分成更小的片段,每个片段由另一台计算机模拟。我正在使用第三方物理引擎来实现模拟。我面临的问题是如何在分割对象的四肢传输粒子信息。需要此信息来计算相互作用的粒子力。图像中的线条显示切割的位置。因为粒子数量很大,通信开销也会很大。是否有传输此类信息的好方法,或者是否有方法传输另一个值,这有助于我确定所需的信息?任何帮助深表感谢。谢谢你example

PS:通过粒子信息,我指的是计算在本地机器上模拟的粒子上应用的合力的新位置

1 个答案:

答案 0 :(得分:1)

“大”意味着很多东西。这里传递数据的点数可能是“大”的,因为它不止一个,但是如果你在一个格子中说了一百万个粒子,并将它划分为4个处理器(比方说),将它切成方块,你只是在每个边界传达500个粒子;与一个相比较大,但与1,000,000相比非常小。

一种非常常用于这种分布式内存计算的库(与分布式计算不同,它表明节点散布在整个互联网上;这种计算涉及紧耦合元素,通常最好用一系列附近的实验室或集群中的计算机是MPI。这种通信模式非常普遍,被称为“光环交换”或“保护单元交换”或“鬼区交换”或某种组合;你应该能够通过搜索这些术语找到很多这样的例子。 (本网站上有一些关于该主题的问题,但它们通常侧重于非常具体的实施问题。)