Bug 1900884
| Summary: | [RHEL8.4] mvapich2 OSU latency_mp benchmark times out when run with "mpirun_rsh" on MLX4 IB0 devices | ||
|---|---|---|---|
| Product: | Red Hat Enterprise Linux 8 | Reporter: | Brian Chae <bchae> |
| Component: | mpitests | Assignee: | Honggang LI <honli> |
| Status: | CLOSED NOTABUG | QA Contact: | Brian Chae <bchae> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 8.4 | CC: | cwei, rdma-dev-team, tmichael |
| Target Milestone: | rc | Keywords: | Triaged |
| Target Release: | 8.4 | Flags: | pm-rhel:
mirror+
|
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2020-12-15 14:35:32 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 1903942 | ||
|
Description
Brian Chae
2020-11-23 22:13:24 UTC
./osu-micro-benchmarks-5.6.3/mpi/pt2pt/osu_latency_mp.c is a new benchmark. First release in osu benchmark release 5.6.3 . So change the component to 'mpitests'. The benchmark 'osu_latency_mp' uses system call 'fork'. The libibverbs library is not fork safe by default. So, program calls 'fork' should call 'ibv_fork_init'. Setting the environment variable RDMAV_FORK_SAFE or IBV_FORK_SAFE has the same effect as calling ibv_fork_init(). [root@rdma-dev-10 ~]$ mpirun -genv RDMAV_FORK_SAFE 1 -hostfile ./one_core -np 2 mpitests-osu_latency_mp # OSU MPI Multi-process Latency Test v5.6.3 # Number of forked processes in sender: 2 # Number of forked processes in receiver: 2 # Size Latency (us) 0 1.38 1 1.47 2 1.45 4 1.44 8 1.44 16 1.32 32 1.15 64 1.09 128 1.16 256 1.81 512 1.99 1024 2.31 2048 2.95 4096 4.15 8192 5.66 16384 7.19 32768 9.81 65536 14.84 131072 25.21 262144 46.24 524288 88.01 1048576 171.53 2097152 338.79 4194304 673.63 [root@rdma-dev-10 ~]$ mpirun -genv IBV_FORK_SAFE 1 -hostfile ./one_core -np 2 mpitests-osu_latency_mp # OSU MPI Multi-process Latency Test v5.6.3 # Number of forked processes in sender: 2 # Number of forked processes in receiver: 2 # Size Latency (us) 0 1.39 1 1.44 2 1.44 4 1.44 8 1.21 16 1.05 32 1.02 64 1.09 128 1.16 256 1.82 512 1.98 1024 2.31 2048 2.96 4096 4.14 8192 5.66 16384 7.28 32768 9.70 65536 14.93 131072 25.23 262144 46.17 524288 87.99 1048576 171.44 2097152 338.78 4194304 673.45 Close this bug as NOTABUG. Please see upstream feedback for details. <snip> Please note that this was intentional. The purpose of this test was to check if the underlying IB-enabled MPI communication runtime has taken care of fork safety even if the application has not. We noticed that when using frameworks like TensorFlow 2.0 and higher over Horovod+MPI, the training would hang because TensorFlow was using fork. To simulate use cases like this and ensure MPI libraries will not hang, we had created this test so that we can catch this internally in our testing and validation. We also introduced a new variable "MV2_SUPPORT_FORK_SAFETY" (which is disabled by default due to performance reasons) to make sure MVAPICH2 takes care of fork safety for applications that require it. <snip> |