Сайт | Скачать | Видео | Wiki

Автор Тема: DwarFS - замена squashfs ?  (Прочитано 11721 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5339
  • Репутация: +139/-1
Re: DwarFS - замена squashfs ?
« Ответ #15 : 02 Декабрь 2020, 11:48:19 »
Скорость сжатия не критична
У него железо:
Цитата
Эти тесты проводились на 6-ядерном процессоре Intel (R) Xeon (R) D-1528 @ 1,90 ГГц с 64 ГиБ ОЗУ.
Исходный каталог содержал ... всего 47,65 ГиБ данных... каталог был недавно распакован из tar-архива на SSD 850 EVO 1 ТБ....
И командой time mkdwarfs -i install -o perl-install.dwarfs (-comp zstd -Xcompression-level 22) он все сжал за:
real    15m12.095s
user    116m52.351s
sys     2m36.983s


На моем компе (4ядра 4Gb ram), этой же командой я целый час сжимал 4,2G.   
https://github.com/mhx/dwarfs#with-squashfs


всего 47,65 ГиБ данных
Причем он сжал до безумных размеров:
Цитата
compressed filesystem: 450 blocks/555.7 MiB written
« Последнее редактирование: 02 Декабрь 2020, 11:57:26 от krasnyh »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5339
  • Репутация: +139/-1
Re: DwarFS - замена squashfs ?
« Ответ #16 : 02 Декабрь 2020, 13:13:35 »
Распаковал Монтировал и скопировал 001-prar2008-sf08.pfs в /tmp. Теперь сравнялись mkpfs и mkdwarfs, по размеру и по времени.

Наверно фишка mkdwarfs за счет оптимизации дубликатов? А в данном примере их мало:
Цитата
12:56:46.116043 finding duplicate files...
12:56:46.133114 saved 6.897 MiB / 415 MiB in 2833/14289 duplicate files


upd. Если сжимать с -l 9 (9=best), то выигрыш в данном примере 10Mb
Цитата
mkdwarfs --help
9      24     lzma:level=9:extreme       zstd:level=22  lzma:level=9:extreme  17,15,13,11

Ну и добавить потоки -N 4 -M 4 (для моего четырехядерника)
Цитата
-N [ --num-workers ] arg (=4)         number of writer worker threads
-M [ --max-scanner-workers ] arg (=4) number of scanner worker threads
« Последнее редактирование: 02 Декабрь 2020, 13:40:09 от krasnyh »

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
Re: DwarFS - замена squashfs ?
« Ответ #17 : 02 Декабрь 2020, 13:59:37 »
мысль вслух: Есть ещё и посекторная дедубликация на BTRFS и OpenZFS, как следствие улучшения замечательной программы fdupes --linkhard. А сжимать можно и результирующий img-loop-устройство-файл на котором такая файловая система была применена.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5339
  • Репутация: +139/-1
Re: DwarFS - замена squashfs ?
« Ответ #18 : 02 Декабрь 2020, 14:08:52 »
Какие могут быть идеи, если точка монтирования dwarfs получается битая.
Это не то?
Цитата
Version 0.2.3 - 2020-12-01

    Fix link handling. There were two bugs introduced with the new metadata format, one in file system creation and another in the fuse driver. You will have to re-create a file system created with dwarfs < 0.2.3 if it contained links. If you can absolutely not re-create the file system and the data is precious, let me know, there's actually a way to recover the missing data.

Исправить обработку ссылок. В новом формате метаданных было обнаружено две ошибки: одна при создании файловой системы, а другая - в драйвере fuse.

Version 0.2.2 - 2020-11-30

    Remove read-only masking as it prevents writable overlays
    Throw an error in mkdwarfs if unrecognized command line arguments are encountered (github #5)
   Various build fixes (github #2. #3)
    More documentation
« Последнее редактирование: 02 Декабрь 2020, 14:10:55 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #19 : 02 Декабрь 2020, 15:01:49 »
Наверно фишка mkdwarfs за счет оптимизации дубликатов?
В squashfs это тоже есть (2 одинаковых файла в офном сквоше займут места как 1 )

fuse - обычно тормоз

Есть ещё и посекторная дедубликация на BTRFS и OpenZFS
Нужны цифры в сравнении с тем, что мы тут тестируем

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #20 : 02 Декабрь 2020, 17:47:54 »

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5339
  • Репутация: +139/-1
Re: DwarFS - замена squashfs ?
« Ответ #21 : 02 Декабрь 2020, 21:02:58 »
Многопоточность включена по умолчанию mkdwarfs.md.

То что по факту медленней сжимается, чем заявлено, в сравнении с mkpfs, может скомпилирован пакет был криво. Тот что с aur, у меня с ошибками.


p.s. Если бы работала заявленная скорость сжатия, даже без изменения размера в сторону уменьшения, для меня это было бы преимуществом. На мой взгляд это дало бы толчок развитию фругала на пользовательском уровне (самостоятельные сборки). Способность быстро, за считанные минуты, сжимать в pfs/dfs большие объемы данных...

Конечно увеличение размера было бы неприемлемо. Знаю что есть параметры быстрого сжатия mkpfs, жертвуя размером.


Пока, то что я вижу, это одинаковый размер и скорость (при использовании быстрого носителя или /tmp) с mkpfs при сжатии. Но использование zstd дает более быстрое чтение из сжатого архива/модуля, в сравнении с xz. Имхо.
Если же использовать mkpfs/mksquashfs с zstd, то увеличится размер.

это одинаковый размер
При эксперименте с монтированными модулями PRA - да, при упаковке фулл (funtoo 4,2Gb) - выигрыш около 100Mb, при дефолтных mkpfs и mkdwarfs.
« Последнее редактирование: 03 Декабрь 2020, 00:02:21 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #22 : 03 Декабрь 2020, 11:00:35 »
Тот что с aur, у меня с ошибками.
Не скомпилился или скомпилился , но не работает?
На мой взгляд это дало бы толчок развитию фругала на пользовательском уровне (самостоятельные сборки). Способность быстро, за считанные минуты, сжимать в pfs/dfs большие объемы данных...
Не замечал такой проблемы. Где у нас объемы... У нас "маленький и быстрый"

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5339
  • Репутация: +139/-1
Re: DwarFS - замена squashfs ?
« Ответ #23 : 05 Декабрь 2020, 21:25:03 »
Не компилится.

Здесь автор обнаружил, что не так радужно как в его тестах, у кого-то все слишком медленно на небыстрых носителях.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #24 : 07 Декабрь 2020, 09:57:55 »
выигрыш в данном примере 10Mb
Тогда не особо впечатляет. Надо ли вообще...

Оффлайн TT

  • Постоялец
  • ***
  • Сообщений: 146
  • Репутация: +1/-0
Re: DwarFS - замена squashfs ?
« Ответ #25 : 07 Декабрь 2020, 13:04:29 »
Про посекторную дедупликацию слегка бредовый алгоритм мог бы быть следующим:

- дедуплицировать посекторно img-диск  с находящимися там файлами под tmpfs для copy2ram
- сжать его чем-то термоядерным (xz, dwarf, пр.)
- при инициализации системы развернуть этот (сжатый) img-образ в tmpfs (где будет посекторная дедупликация!)

Но, вроде, в соседней ветке подсказывают, что это может быть возможно тольео с uird, и zram-устройством (которое и можно форматить под brtfs/openzfs).

А выигрыш на 10 МБ это на неповторяемых данных. Автор в оригинале DwarfFS тестировал на сжатие perl-модулей. Если их много будет, то наличие самой поддержки DFS в дистре будет актуально.

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5339
  • Репутация: +139/-1
Re: DwarFS - замена squashfs ?
« Ответ #26 : 14 Декабрь 2020, 02:11:44 »
Странная логика. Сначала:
$ sudo du -sh /mnt/sda3/funtoo                     
4,2G   /mnt/sda3/funtoo
$ du -sh funtoo.pfs
728M   funtoo.pfs
$ du -sh funtoo.dwarfs
633M   funtoo.dwarfs
Размер после сжатия впечатляет.

Потом:
    выигрыш в данном примере 10Mb

Тогда не особо впечатляет. Надо ли вообще..
Учитывая, что этот тест был на одном модуле, а в том же PRA-roll-20.08-7 их 35.


Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5339
  • Репутация: +139/-1
Re: DwarFS - замена squashfs ?
« Ответ #27 : 15 Декабрь 2020, 18:35:48 »
В этой теме Add an option for static executables (Добавить параметр для статических исполняемых файлов) автор собрал последнюю версию бинарника dwarfs-0.2.4-Linux.tar.gz без динамических библиотек.
По идее должно работать на любом линуксе (64bit). Подойдет для тестов.
« Последнее редактирование: 15 Декабрь 2020, 19:00:48 от krasnyh »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33996
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re: DwarFS - замена squashfs ?
« Ответ #28 : 17 Декабрь 2020, 12:28:15 »
Странная логика.
Сначала не догнал, что 100мб экономии - это 10%
Вообще если кто-то прикрутит к инитрд - интересно. Сам пока планирую заняться другими темами

Оффлайн krasnyh

  • Ветеран
  • *****
  • Сообщений: 5339
  • Репутация: +139/-1
Re: DwarFS - замена squashfs ?
« Ответ #29 : 04 Январь 2021, 14:56:29 »
Release dwarfs-0.3.0

Одна из особенностей последних релизов - наличие в архиве бинарника, не требующего сторонних либ.