« All posts

Debugging Performance Regressions in MPI Software

An examination of how performance regressions in MPI software were identified and corrected.

MPI software plays a crucial role in application performance, and Guix packages Open MPI for various high-speed interconnects. However, performance regressions can occur when these software components are updated. This article discusses how a performance regression on Slingshot interconnects was identified.

Slingshot support was a recent addition to Open MPI packaged by Guix, and no automated performance regression testing was in place for this interconnect. When a performance regression was detected, the debugging process showcased the control and transparency provided by Guix. Ultimately, the offending commit was identified, allowing a detailed bug report to be submitted to the libcxi developers.