【问题标题】:OpenFOAM: GCE versus AWS EC2 performanceOpenFOAM:GCE 与 AWS EC2 性能对比
【发布时间】:2019-06-29 04:17:23
【问题描述】:
我们在 GCE 和 EC2 上运行 OpenFOAM,发现 EC2 的速度提高了 30%,总体成本更低(由于执行时间更快)。有关指标,请参见附图。
我们认为这是因为 mpirun。在 GCE 上运行 mpirun 时,我们收到以下警告:“高性能 Open MPI 点对点消息传递模块无法找到任何相关的网络接口。将使用另一种传输方式,尽管这可能会导致性能降低。”
但在 EC2 上运行时我们不会收到此警告。
有人可以帮忙吗?
为了清楚起见,我们比较了 GCE 荷兰数据中心的实例和法兰克福的 EC2 C5 实例,两者均基于 Intel Skylake。
【问题讨论】:
标签:
amazon-web-services
amazon-ec2
google-cloud-platform
google-compute-engine
openfoam
【解决方案1】:
你的假设是正确的。 OpenMPI 正在节点上的硬件中搜索 InfiniBand,如果找不到,则回退到标准接口。
我们可以通过在命令行中包含 -mca btl ^openib 来告诉 mpirun 甚至永远不要检查 InfiniBand 硬件(并防止搜索不成功)。
具体来说,一个最初提交为的命令
mpirun -np 3 -hostfile ../mpihosts helloworld
现在应该是
mpirun -np 3 -mca btl ^openib -hostfile ../mpihosts helloworld
您也可以通过设置消除警告
--mca btl_base_warn_component_unused 0
如果这对您有用,您可以将“btl_base_warn_component_used = 0”放入 $prefix/etc/openmpi-mca-params.conf(即,您的侧面配置)。