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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.