Skip to content

Significant performance regression under Linux with busy waiting enabled #10929

Closed
@hjelmn

Description

@hjelmn

Thank you for taking the time to submit an issue!

Background information

I am looking at a system which is showing very poor performance with some applications (notably OpenFOAM) when running Open MPI. The system in question has busy polling enabled to (in theory) improve message latency:

==> /proc/sys/net/core/busy_poll <==
50

==> /proc/sys/net/core/busy_read <==
50

What version of Open MPI are you using? (e.g., v3.0.5, v4.0.2, git branch name and hash, etc.)

v4.1.x, main, etc

Describe how Open MPI was installed (e.g., from a source/distribution tarball, from a git clone, from an operating system distribution package, etc.)

Both from release tarball and git checkout.

If you are building/installing from a git clone, please copy-n-paste the output from git submodule status.

Please describe the system on which you are running

  • Operating system/version: Linux 3.10.0-1160.76.1.el7.x86_64
  • Computer hardware: Intel Xeon
  • Network type: 100 GigE

Details of the problem

With these settings we see a 3-5x slowdown in the performance of all steps of OpenFOAM motorbike (can give run details if requested) vs with them both set to 0 (busy waiting disabled).

Without busy polling:

Finished meshing in = 24.9 s
ExecutionTime = 41.7 s  ClockTime = 44 s

With busy polling:

Finished meshing in = 73.02 s.
ExecutionTime = 109.37 s  ClockTime = 112 s

The only difference between these runs is busy polling enabled vs disabled.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions