aws / aws-parallelcluster

AWS ParallelCluster is an AWS supported Open Source cluster management tool to deploy and manage HPC clusters in the AWS cloud.
https://github.com/aws/aws-parallelcluster
Apache License 2.0
818 stars 310 forks source link

Intel MPI Benchmarks (IMB-MPI1) performance issue? with EFA and Rocky Linux 8 custom image #5995

Open panda1100 opened 6 months ago

panda1100 commented 6 months ago

Required Info:

Bug description and how to reproduce:

jdeamicis commented 6 months ago

Hi, I'm not able to see any of the attachments you provided to the issue.

In addition to this, have you tried running the benchmarks using the installation of OpenMPI provided on the AMI?

panda1100 commented 6 months ago

@jdeamicis My apologies for the inconvenience. I uploaded agin. (It was misconfiguration of expiry date ...) Yes, OpenMPI is /opt/amazon/openmpi.

Thank you

jdeamicis commented 6 months ago

Apologies, I had misread the title of the ticket and automatically assumed you wanted to benchmark Intel MPI on a PC cluster :)

I can now see the attachments, thanks.

jdeamicis commented 6 months ago

Could you please repeat the experiment increasing the number of iterations at large message sizes? You should be able to control it via the -time or the -iter_policy options of the IMB benchmarks.

jdeamicis commented 6 months ago

Also, what happens if you use a parallel transfer benchmark such as the IMB1 Uniband or the OSU bw_mbw?

panda1100 commented 6 months ago

@jdeamicis Thank you, this is PingPong result. Tried -iter 10 and -iter 30 and results are almost identical.

IMB-MPI1 -msglog 3:28 -iter_policy off -iter 10 PingPong https://rpa.st/RZVA

panda1100 commented 6 months ago

I have issue with IMB-MPI1 Uniband, get back to here once it's solved.. https://rpa.st/UJZQ

panda1100 commented 6 months ago

If I increased --ntasks-per-node to more than 2, PingPong (single transfer benchmark) results gets better...

#!/bin/bash
#SBATCH --partition=c5n18
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=8

https://rpa.st/ZC2A

jdeamicis commented 6 months ago

If I increased --ntasks-per-node to more than 2, PingPong (single transfer benchmark) results gets better...

#!/bin/bash
#SBATCH --partition=c5n18
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=8

https://rpa.st/ZC2A

Depending on the task distribution settings used in your job, you may be using 2 processes on the same node here, so this may be a shared memory transfer rather than over EFA. Only parallel transfer benchmarks like Uniband and the OSU bw_mbw can really exploit multiple pairs of ranks (or you could use some collectives), but please make sure you are communicating across nodes and not within nodes!

jdeamicis commented 6 months ago

Another thing: could you please try using the OSU benchmarks to exclude any (unlikely) issue with the IMB benchmarks? Thanks!

hgreebe commented 6 months ago

I ran the Intel MPI Benchmarks and got similar results: https://rpa.st/AU5A

When I ran the osu_bw benchmark I got better performance: https://rpa.st/W7LQ

So the difference in performance is either something about how the applications were compiled, or something within the actual applications.

panda1100 commented 6 months ago

@jdeamicis Thank you, good point. Will do OSU, my apologies for the delay. @hgreebe Thank you. Could you please paste again with more longer life time (rpaste --life 1week) or use this https://rpa.st/ with Expiry (forever).

panda1100 commented 6 months ago

@jdeamicis OSU mbw_mr results srun --mpi=pmix ~/osu-micro-benchmarks-5.6.2/mpi/pt2pt/osu_mbw_mr 2 nodes 2 pair https://rpa.st/YLSA 2 nodes 8 pair https://rpa.st/W3TQ

hgreebe commented 6 months ago

Intel MPI Benchmarks: https://rpa.st/U5WQ

OSU Benchmarks: https://rpa.st/X3ZQ

jdeamicis commented 6 months ago

@panda1100 OK, it seems to me that the difference we are seeing is related to the type of MPI communication used in the two benchmarks: IMB PingPong (and osu_latency) use blocking communication, while osu_bw (and IMB Uniband) use non-blocking communication. Some difference is expected, but I personally wasn't expecting that much. This should be further investigated.

panda1100 commented 6 months ago

Thank you @jdeamicis . Please let me know if I can help on this.

This is OSU benchmarks osu_bw result. (previous one I used osu_mbw_mr

OSU Benchmarks (osu_bw) https://rpa.st/H4NQ

Intel MPI Benchmarks (pingpong) https://rpa.st/RZVA