DwarFS, файловая система, предназначенная для уменьшения количества избыточных данных.

Маркус Холланд-Мориц (инженер-программист Facebook) сделал это известным через публикацию первые версии DwarFS, файловая система только для чтения, предназначенная для максимального сжатия и уменьшения количества избыточных данных.

Эта файловая система использует механизм FUSE и работает в пространстве пользователя, код написан на C ++ и распространяется под лицензией GPLv3.

О DwarFS

карлики напоминает файловые системы, такие как SquashFS, cramfs и CromFS в ваших задачах, и может использоваться для создания живых образов и уменьшения размера файлов с большим количеством дубликатов и повторяющихся данных (например, хранение образов виртуальных машин или коллекций разных версий программ).

По скорости доступ к данным, DwarFS примерно на том же уровне, что и SquashFS, но в несколько раз опережает эту ФС по эффективности сжатия и скорости визуализации.

Проект был разработан для решения проблемы оптимизации хранилища с разными версиями Perl (автор DwarFS участвует в обслуживании файла CPAN).

Изначально мы пытались использовать Cromfs для сжатия, Но создание образа заняло слишком много времени, а стабильность оставляла желать лучшего. SquashFS работала стабильно и он рендерил изображения заметно быстрее, но уровень сжатия был неприемлемым.

Большая часть кода DwarFS был написан в 2013 году. В этом году автор нашел время, чтобы вывести код на публику и написать документацию. DwarFS использует библиотеки Boost и Folly.

Замороженная ветвь библиотеки Thrift Facebook используется для хранения метаданных. Другие зависимости включают FUSE3 и библиотеки сжатия lz4, zstd и liblzma.

DwarFS превзошла SquashFS по степени сжатия в 8 раз, а по скорости создания образа в 4 раза при создании образа, включающего 1139 различных инсталляций Perl, из которых 284 версии Perl.

карлики удалось сократить тест с 47 ГБ до 582 МБ (1,1% от исходного размера), а размер результирующего образа SquashFS составил 4,7 ГБ. Для создания образа SquashFS потребовалось 69 минут, в то время как DwarFS завершила работу за 15 минут.

Обе файловые системы использовали алгоритм сжатия ZSTD. При использовании LZMA размер образа DwarFS был уменьшен еще на 18% (примерно 479 МБ), но скорость доступа к этому образу была значительно снижена.

Тесты с данными с меньшим количеством дубликатов показали преимущество не столь значительный, но все же замечательный от DwarFS. Например, размер образа корневой файловой системы Paspberry Pi OS составлял 298 МБ для DwarFS и 364 МБ для SquashFS, а время сборки составляло 1 минуту 36 секунд и 1 минуту 54 секунды соответственно.

Из ключевые особенности DwarFS выделяются следующие:

  • Способность Power устраняет избыточность, группируя похожие данные (независимо от границ файлов) с помощью хэш-функций LSH для идентификации похожих объектов.
  • Анализ сегментации блоков файловой системы для уменьшения размера несжатой файловой системы и повышения эффективности использования кэша процессора за счет поступления большего количества необходимых данных.
  • Многопоточная реализация утилиты создания образов и модуля FUSE, который может использовать все доступные ядра ЦП во время работы.
  • Экспериментальная поддержка возможности подключения контроллеров Lua, которые можно использовать для фильтрации и сортировки контента.
  • Режим переупаковки, позволяющий изменить алгоритм сжатия уже созданного образа (например, можно переупаковывать, используя LZMA или LZ4 вместо ZSTD).
  • Образы создаются с помощью утилиты mkdwarfs и монтируются с помощью утилиты dwarfs.

Наконец, если вы хотите узнать больше об этой файловой системе или хотите скомпилировать ее исходный код, вы можете ознакомиться с информацией или получить исходный код. По следующей ссылке.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.