В ядре Linux 7.2 файловая система EROFS получила поддержку разреженных данных и ускорение I/O. Разбираем, зачем это нужно для AI-моделей.— Читать дальше «В Linux 7.2 улучшили EROFS для разреженных AI-датасетов и эффективного ввода-вывода»
В ядро Linux 7.2 вошли обновления файловой системы EROFS, которые делают её удобнее для хранения больших разреженных наборов данных — например, датасетов для обучения ИИ. Главное изменение — поддержка SEEK_HOLE в компоновке физических кластеров (pcluster), что позволяет сохранять «дыры» в файлах вместо их сжатия в нули.
EROFS (Enhanced Read-Only File System) — это доступная с Linux 4.19 файловая система только для чтения, заточенная под производительность и компактное хранение образов контейнеров, систем Android и, всё чаще, AI-моделей.
Разреженные (sparse) файлы содержат пустые участки, которые не занимают место на диске. EROFS уже умеет прозрачно сжимать нули, но для AI-датасетов важно именно сохранять дыры: иначе overlayfs при копировании «вверх» распределит под них реальное пространство, а системный вызов SEEK_HOLE не найдёт ни одной «дыры».
Мейнтейнер EROFS Гао Сян из Alibaba пояснил в патчах, что новый код отмечает целые pcluster как «дыры» двумя разными способами. Это особенно полезно для огромных AI-датасетов, где нулевые или неинициализированные фрагменты встречаются часто.
Помимо sparse-поддержки, EROFS в Linux 7.2 получила оптимизированное отображение запросов для inode на основе чанков. Разработчики сообщают, что новый код erofs_map_chunks() делает ввод-вывод более эффективным, хотя точных бенчмарков в анонсе не приводится.
Также из ядра окончательно удалили бэкенд FSCACHE для EROFS. Он раньше использовался для ленивой подгрузки образов, но после того как FSCACHE сделал NETFS обязательной зависимостью, функцию признали устаревшей. Похожее поведение теперь реализуют через монтирование файлов и хуки fanotify.
Часто задаваемые вопросы
1
Что такое EROFS?
EROFS (Enhanced Read-Only File System) — производительная файловая система только для чтения из ядра Linux. Она используется для образов контейнеров, Android и, в последнее время, для хранения AI-датасетов.
2
Что даёт поддержка разреженных данных в EROFS?
Она позволяет сохранять пустые участки файлов как «дыры», а не сжимать их в нули. Это экономит место при копировании через overlayfs и сохраняет корректную работу системного вызова SEEK_HOLE.
3
Что произошло с FSCACHE в EROFS?
Бэкенд FSCACHE для EROFS был сначала объявлен устаревшим, а в Linux 7.2 окончательно удалён. Его заменяют файловые монтирования и механизмы fanotify.
4
Когда выйдет Linux 7.2?
Точная дата релиза Linux 7.2 пока не объявлена, но обновления EROFS уже приняты в основную ветку ядра.
Обновления EROFS в Linux 7.2 делают эту файловую систему более удобной для больших AI-датасетов: разреженные данные теперь не превращаются в лишние мегабайты при копировании, а ввод-вывод для chunk-based inode стал эффективнее. Для разработчиков, которые используют EROFS в контейнерных и ML-окружениях, это повод проверить свои сборки ядра.
Источник: Phoronix.