FreeBSD Status Report

Report Entry

FreeBSD HPC Ports Modernization

Contact: Generic Rikka <rikka.goering@outlook.de>

This report continues the FreeBSD HPC Ports Modernization initiative, which aims to make FreeBSD a practical and maintainable platform for modern high-performance computing (HPC) software stacks. Previous quarters focused on bringing the Slurm, PMIx, PRRTE and UCX stack up to date and filling gaps in the surrounding ecosystem. This quarter’s work centered on three things: keeping the scheduler and communication libraries current (including security fixes), deepening FreeBSD-specific runtime support in UCX and enabling the Open MPI/UCX combination, and taking the first FreeBSD-native Slurm features upstream to SchedMD.

Work completed

  • Updated sysutils/slurm-wlm three times, from 26.05.1 to 26.05.2 and then to 26.05.4, tracking upstream releases. The 26.05.4 update also addresses seven CVEs. Thanks to the configure-time HDF5 probe merged upstream last quarter, the obsolete downstream HDF5 patches could be removed and the downstream patch-configure was substantially reduced. The remaining FreeBSD conmgr patch was rebased and a missing <signal.h> include was added so the test suite builds on FreeBSD.

  • Enabled slurmrestd in sysutils/slurm-wlm. It had been disabled because it was believed not to build on FreeBSD, but with current Slurm it builds without any additional portability patches. The port now ships slurmrestd together with the REST/OpenAPI plugins.

  • Updated net/ucx from 1.20.1 to 1.22.0. Earlier in the quarter the port gained a guard around the Linux-specific netlink implementation, and ucx_vfs support was improved for FreeBSD by replacing fusermount3 with mount_fusefs/umount, using FreeBSD-compatible FUSE capability detection and fixing UNIX socket ancillary data handling (SCM_RIGHTS and peer credentials). A follow-up fix for the VFS inotify watch was contributed by Laurent Chardon.

  • Introduced a UCX option in net/openmpi, allowing Open MPI to be built against net/ucx on FreeBSD (work by Laurent Chardon, based on testing and reports from this initiative). This also fixed an OMPIO sharedfp/sm crash.

  • Updated benchmarks/py-reframe-hpc twice, from 4.10.0 to 4.10.2 and then to 4.10.3.

  • Updated sysutils/py-clustershell from 1.9.3 to 1.10.1, including fixes for unportable tests.

  • Submitted proctrack/freebsd-reaper to SchedMD, a new Slurm process-tracking plugin built on FreeBSD’s procctl() process-reaper APIs. The step daemon acquires reaper status, tracks descendants across process-group changes and nested reapers, and signals the tracked process tree during cleanup. On a FreeBSD test node it cleaned up orphaned, SIGTERM-resistant and nested children like proctrack/pgid, and additionally handled setsid, setpgid, double-fork and nested-daemon escapes, which proctrack/pgid does not. A zombie regression was retested and the node returned to IDLE without timing out or draining.

  • Submitted %o support for Include filenames in Slurm configuration to SchedMD. Include slurm-%o.conf selects slurm-FreeBSD.conf on FreeBSD and slurm-Linux.conf on Linux, so a heterogeneous configless cluster can keep one authoritative configuration on slurmctld. This has been running on a mixed FreeBSD/Fedora cluster using the corresponding port patches.

Work in progress

  • Addressing review feedback on the open UCX (UCS/SYS portability for non-Linux platforms) and mpifileutils (Linux-only API guards) upstream pull requests, to shrink the local patchsets of the ports further.

  • Following up with SchedMD on the proctrack/freebsd-reaper and configless %o Include submissions.

Future plans

  • Land the outstanding upstream pull requests and keep identifying FreeBSD portability issues to fix upstream rather than patch locally.

  • Carry the Slurm patches accepted by SchedMD into the port and drop the corresponding downstream changes.

  • Continue tracking upstream Slurm, UCX, Open MPI, PMIx and PRRTE releases closely.

  • Document a reference Slurm + Open MPI + PMIx + PRRTE + UCX deployment on FreeBSD, including a mixed FreeBSD/Linux configless setup, to lower the barrier for new sites.


Last modified on: November 9, 2026 by Lorenzo Salvadore