FreeBSD Status Report
Report Entry
Модернизация HPC-портов FreeBSD: Slurm 26.05, UCX 1.20 и MPI-параллельные утилиты для работы с файлами
Ссылки:
sysutils/slurm-wlm URL: https://cgit.freebsd.org/ports/tree/sysutils/slurm-wlm/
net/ucx URL: https://cgit.freebsd.org/ports/tree/net/ucx/
sysutils/mpifileutils URL: https://cgit.freebsd.org/ports/tree/sysutils/mpifileutils/
devel/libcircle URL: https://cgit.freebsd.org/ports/tree/devel/libcircle/
devel/lwgrp URL: https://cgit.freebsd.org/ports/tree/devel/lwgrp/
devel/dtcmp URL: https://cgit.freebsd.org/ports/tree/devel/dtcmp/
benchmarks/py-reframe-hpc URL: https://cgit.freebsd.org/ports/tree/benchmarks/py-reframe-hpc/
openucx/ucx#11354: Исправления переносимости UCS/TYPE для сред без glibc/Clang (включено) URL: https://github.com/openucx/ucx/pull/11354
openucx/ucx#11549: Исправления переносимости UCS/SYS для платформ, отличных от Linux (на рассмотрении) URL: https://github.com/openucx/ucx/pull/11549
hpc/mpifileutils#664: Исправления переносимости для сборок FreeBSD/non-Linux (на рассмотрении) URL: https://github.com/hpc/mpifileutils/pull/664
Ежемесячные отчёты о состоянии Kavocado – заметки по HPC во FreeBSD URL: https://kavocado.net/reports/
Контактное лицо: Generic Rikka <rikka.goering@outlook.de>
Этот отчёт продолжает инициативу по модернизации HPC-портов FreeBSD. Предыдущие кварталы были посвящены обновлению стека Slurm + PMIx + PRRTE + UCX и заполнению пробелов в сопутствующей экосистеме. Работа в этом квартале была сосредоточена на трёх вещах: поддержании основного планировщика и коммуникационных библиотек в актуальном состоянии в соответствии с быстро меняющимися релизами вышестоящих проектов, отправке накопившихся при поддержке этих портов исправлений переносимости для FreeBSD в вышестоящие проекты, чтобы локальные наборы патчей продолжали уменьшаться, и добавлении нового порта для MPI-параллельных утилит для работы с файлами, которые широко используются в больших HPC-файловых системах.
Выполненные работы
-
Дважды обновлён sysutils/slurm-wlm в этом квартале: с 25.11.4 до 25.11.5, а затем с 25.11.5 до 26.05.1, отслеживая последние вышестоящие релизы.
-
Исправлены несколько проблем времени выполнения, специфичных для FreeBSD, в net/ucx: улучшена обработка состояния асинхронных потоков, исправлена обработка перемещений UCM, исправлена привязка сокетов сигналов mm, а также решены другие проблемы переносимости времени выполнения для FreeBSD.
-
Обновлён net/ucx с 1.20.0 до 1.20.1, а также отдельно исправлена паника при ранней инициализации libucm вместе с несколькими сбоями в наборе тестов gtest, обнаруженными при проверке обновления.
-
Добавлен sysutils/mpifileutils как новый порт вместе со стеком зависимостей: devel/libcircle, devel/lwgrp и devel/dtcmp. Они предоставляют MPI-параллельные утилиты для работы с файлами (копирование, удаление, контрольные суммы и т.д.), обычно используемые в больших HPC-файловых системах.
-
Дважды обновлён benchmarks/py-reframe-hpc в этом квартале для отслеживания вышестоящих релизов фреймворка регрессионного тестирования.
-
Отправлены в вышестоящий проект UCX «UCS/TYPE: Исправления переносимости для сред без glibc/Clang», которые были рассмотрены и включены.
-
Открыт запрос на включение «UCS/SYS: исправления переносимости для платформ, отличных от Linux» в UCX, охватывающий определение размера буфера имени хоста, получение MAC-адреса через
getifaddrs()/AF_LINK, сообщение об ошибках разделяемой памяти, перераспределение на основеmmap/munmapи запросы привязки потоков на основеcpuset_getaffinity(); в настоящее время обрабатываются замечания рецензентов. -
Открыт запрос на включение исправлений переносимости в mpifileutils, ограничивающих использование Linux-специфичных API для FreeBSD и других сборок, отличных от Linux; в настоящее время на рассмотрении.
-
Совместно с SchedMD проведена работа над проверкой во время конфигурации Slurm для
H5PTopen, используемой для обнаружения библиотеки высокого уровня HDF5, которая была включена в вышестоящий проект.
Работа в процессе
-
Обработка замечаний рецензентов по открытым запросам на включение исправлений переносимости в UCX и mpifileutils для их включения в вышестоящие проекты и дальнейшего уменьшения локальных наборов патчей в портах FreeBSD.
-
Продолжение сотрудничества с SchedMD для отправки в вышестоящий проект дополнительных исправлений переносимости, обнаруженных при поддержке sysutils/slurm-wlm во FreeBSD, включая улучшения обработки сокетов BSD.
-
Оценка дизайна плагина Slurm
proctrack/freebsd_reaper, ставшего возможным благодаря недавно добавленной в ядро FreeBSD поддержке раскрытия метаданных реперера в информации о процессах. -
Продолжение внимательного отслеживания вышестоящих релизов Slurm, UCX и PMIx/PRRTE для поддержания портов FreeBSD в актуальном состоянии с минимальным локальным патчированием.
Будущие планы
-
Включить ожидающие запросы на включение в вышестоящие проекты UCX и mpifileutils и продолжить выявление дальнейших проблем переносимости для отправки в вышестоящие проекты, а не для локального патчирования.
-
Создать прототип и отправить плагин Slurm
proctrack/freebsd_reaperпосле завершения работы над соответствующим интерфейсом ядра. -
Продолжить расширение экосистемы HPC-программного обеспечения, доступной в Коллекции Портов FreeBSD, и сокращение локальных наборов патчей во всём стеке везде, где возможно принятие вышестоящими проектами.
-
Документировать эталонное развёртывание Slurm + OpenMPI + PMIx + PRRTE + UCX на FreeBSD, чтобы снизить порог входа для новых организаций, экспериментирующих с FreeBSD в контексте HPC.
Последнее изменение: 21 июля 2026 г. от Vladlen Popolitov