Redox Rings: userspace-аналог io_uring даёт до 15-кратное ускорение ввода-вывода
31.08.2026Ибики Омацу и Анхад Сингх реализовали Redox Rings — пользовательский API кольцевых буферов, соответствующий системным вызовам io_uring в Linux. По замерам автора, производительность ввода-вывода у драйвера NVMe, RedoxFS и RAMFS выросла в разы.
Что это такое
Обычный системный вызов ввода-вывода блокирует поток до завершения операции. Чтобы этого избежать, нужна асинхронная схема: приложение передаёт ядру пакет операций, а затем одним вызовом забирает результаты. В Linux за это отвечает io_uring, и именно его API повторяет Redox Rings.
Принципиальное отличие в том, где живёт реализация. Кольцевые буферы работают в пользовательском пространстве, а не в ядре: обмен идёт через разделяемую память и системный вызов для перехода. Это упрощает отладку и убирает необходимость доверять коду ядра при обработке запросов.
Замеры
В бенчмарках, минуя файловую систему RedoxFS, измерение ввода-вывода показало ускорение в 14–15 раз. Отдельно приведены замеры на файловой системе в памяти: там тоже заметный выигрыш, но меньший, поскольку не устраняется работа с диском.
Почему это лучше прошлой попытки
Авторы отмечают, что раньше кольцевой буфер пытались реализовать внутри ядра — и это оказалось хуже. Перенос в пользовательское пространство с сопутствующими исправлениями от Вильдана Мубарока дал и скорость, и читаемость кода.
Оригинал
This Month in Redox — August 2026, раздел «Ring Buffer Communication For More Parallelism»
Упоминаний: 1 · Просмотров: 8