The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Представлены патчи, существенно ускоряющие работу SquashFS

21.11.2013 10:52

Для SquashFS представлены патчи, существенно ускоряющие работу данной файловой системы. Squashfs является специализированной файловой системой, работающей в режиме "только для чтения". Отличительной особенностью данной файловой системы является очень компактное представление метаданных и хранение данных в сжатом виде. Наиболее востребованным применением SquashFS является использование в качестве файловой системы для установочных образов, Live-систем и прошивок. Пока не ясно, войдет ли данный патч в состав ядра 3.13, окно приёма изменений для которого будет закрыто на днях.

В данной серии патчей представлено множество оптимизаций производительности. В ряде случаев скорость работы Squashfs может увеличиться в несколько раз. Наиболее заметными изменениями являются реализация многопоточной распаковки сжатых данных и параллельного ввода вывода. Если в системе с несколькими ядрами смонтировано несколько образов squashfs, работа с ними может быть существенно ускорена. Кроме того, реализована распаковка сразу в кэш страниц (page cache), что также может существенно ускорить ряд операций с файловой системой. В зависимости от конфигурации, выигрыш в скорости может составлять до нескольких раз (в одном из тестов скорость возросла с 13 MB/s до 67 MB/s).

  1. Главная ссылка к новости (http://www.phoronix.com/scan.p...)
Автор новости: Аноним
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/38484-squashfs
Ключевые слова: squashfs, linux, kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (49) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Наивный чукотский юноша (?), 11:02, 21/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Опять похороникс. И опять сравнивали скорость последовательного чтения данных (схем, графиков и примеров по ссылке не вижу).
     
     
  • 2.13, Аноним (-), 14:34, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А пофиг что фороникс. Там реально изменения которые дадут профит. Многопоточная декомпрессия по любому свое возьмет в ряде конфиг, декомпрессия в page cache - тоже.
     

  • 1.2, alex789 (?), 12:24, 21/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    и как оно по сравнению с clicfs? по прежнему тормозит?
     
     
  • 2.14, Аноним (-), 14:36, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > и как оно по сравнению с clicfs? по прежнему тормозит?

    А clicfs вроде как не ФС [хранящая данные на блочном устройстве или в файле] а лишь какой-то оверлей [объединяющий несколько ФС для фэйковых записей]. Или я чего-то не понял?

     

  • 1.5, Аноним (-), 12:38, 21/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А файловые системы кроме точек /var /home стоит использовать SquashFS? Реально получить прибавку в скорости?
     
     
  • 2.7, гость (?), 13:45, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это файловая система только для чтения.
    Её имеет смысл использовать только для initrd, ну максимум - /usr:/opt:/etc
     
     
  • 3.9, Michael Shigorin (ok), 13:51, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +5 +/
    > Это файловая система только для чтения.

    Это по сути тарбол. (PS: как и iso9660)

    > Её имеет смысл использовать только для initrd

    Да можно и на голову надевать, но лучше не надо. :)

     
     
  • 4.16, Аноним (-), 14:41, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только с быстрым доступом к оглавлению и файлам на лету , без декомпрессии неме... большой текст свёрнут, показать
     
     
  • 5.19, Michael Shigorin (ok), 14:45, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Это по сути тарбол. (PS: как и iso9660)
    > Только с быстрым доступом к оглавлению и файлам "на лету"

    В том плане, что rw не предусмотрено.

    >>> Её имеет смысл использовать только для initrd
    >> Да можно и на голову надевать, но лучше не надо. :)
    > Интересно, почему именно initrd. Ее обычно пользуют как readonly базу.

    Именно.  Для initrd в том же альте когда-то применяли romfs и экономили на том чуточку памяти, но с появлением initramfs перебрались на неё.

    [угу]

     
     
  • 6.35, Аноним (-), 23:15, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > В том плане, что rw не предусмотрено.

    Ну да, там упор на простой и максимально компактный дизайн. Поэтому squashfs при прочих равных заметно компактнее например JFFS с теми же данными.

    > экономили на том чуточку памяти, но с появлением initramfs перебрались на неё.

    Не, ну в принципе делать начальный rootfs на squash ничему не противоречит, openwrt как-то так и делают, но это все-таки не рамдиск. Рамдиск может быть подгружен в память бутлоадером или даже приаттачен к ядру, etc - так что ядру не надо знать как и где это брать, в чем собственно и пойнт: взлетевшая оттуда система уже займется продвинутым монтированием всякой экзотики. А squashfs для такого никогда не создавался. Хотя наверное и можно как-то так заюзать при должном желании.

     
  • 6.39, Led (ok), 01:33, 22/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >В том плане, что rw не предусмотрено.

    Это у тебя не предусмотрено.
    А у меня предусмотрено:

    mount -o remount,rv ...

    и можешь "писАть".

     
     
  • 7.41, Led (ok), 02:43, 22/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > mount -o remount,rv ...

    Опечатка. Правильно:

    mount -o remount,rw ...

    конечно же:)

     
  • 7.45, Аноним (-), 06:14, 22/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > и можешь "писАть".

    В squashfs то? Ну да, удачи в нее записать что-нибудь таким макаром :)

     
  • 3.15, anonymous (??), 14:38, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Это файловая система только для чтения.

    Если под "Это" подразумевалось squashfs то спасибо вам капитан!

    Но вот только сам по себе squashfs нужен гораздо реже чем squashfs+{unionfs,funionfs,unionfs-fuse,aufs,overlayfs} а это уже ВНЕЗАПНО никак не ro а rw такие дела.

     
  • 3.47, daevy (??), 08:36, 22/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Есть пример использования squashfs для раздачи portage. Раз в сутки делается squashfs-образ дерева портеджей и раз в сутки этот образ копируют себе клиентские машины и монтируют локально. Работает довольно быстро и очень удобно.
     
  • 2.23, Аноним (-), 16:22, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Использую для дерева portage. ~170 тысяч файлов умещаются в 90 МБ, с lzo сжатием. При обновлении, правда, чуть больше операций выполнять надо: rsync'нуть в tmpfs, отмонтировать /usr/portage, mount -o bind *** /usr/portage и т. п.
     
     
  • 3.32, selivan (ok), 22:26, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Зачем? Несжатый portage займёт на диске не намного больше места, но доступ к нему будет сильно быстрее. Или ты образ squashfs копируешь в tmpfs, и монтируешь уже оттуда?
     
     
  • 4.36, Аноним (-), 23:17, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > будет сильно быстрее.

    А вот не факт. LZO быстро декомпрессуется, оглавление в squashfs доступно как и в любой иной ФС, т.е. довольно быстро. На не очень быстром диске можно даже по скорости выиграть за счет LZO сжатия, если все в диск упиралось.

     
     
  • 5.42, selivan (ok), 03:11, 22/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    >> будет сильно быстрее.
    > А вот не факт. LZO быстро декомпрессуется, оглавление в squashfs доступно как
    > и в любой иной ФС, т.е. довольно быстро. На не очень
    > быстром диске можно даже по скорости выиграть за счет LZO сжатия,
    > если все в диск упиралось.

    Да, пожалуй зависит от соотношения проц/диск.

     
     
  • 6.44, Аноним (-), 03:43, 22/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Именно. Разница во времени выполнения "emerge -evp @world" раза в 3-4 сокращается, но разве что пока кеш пустой. Вобщем, это из разряда "хочется странного".
     

  • 1.6, slowpoke (?), 12:52, 21/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    теперь будем ждать чтобы это попало в ядро, потом попало в популярные livecd, потом чтобы руки дошли запустить это и МОЖЕТ БЫТЬ увидеть разницу в пару секунд
     
     
  • 2.11, annulen (ok), 14:12, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Успокойся, эти доработки сделаны не для тебя.
     
     
  • 3.12, slowpoke (?), 14:15, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    да я только за, вот только для чего это на практике?
     
     
  • 4.18, anonymous (??), 14:45, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > да я только за, вот только для чего это на практике?

    На практике это для тех мест где нужно одновременно сжатие кучи файлов с сохранением всех posix прав и с возможностью простого монтирования на ro либо немного более сложнее организуемого монтирования на rw.

    Конкретно для "корня" в чуть менее чем во ВСЕХ live cd/dvd/usb дистрибутивах используется squashfs и во многих можно даже сохранять свои изменения т.е. есть и то самое rw.

     
     
  • 5.20, Michael Shigorin (ok), 14:47, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Конкретно для "корня" в чуть менее чем во ВСЕХ live cd/dvd/usb дистрибутивах
    > используется squashfs

    Кажется, в openSUSE свой совмещённый clicfs.

    > и во многих можно даже сохранять свои изменения т.е. есть и то самое rw.

    Как уже отмечали, это реализуется оверлейными ФС => на другом уровне.

    Впрочем, все и так всё знают. :)

     
     
  • 6.40, Led (ok), 01:37, 22/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Как уже отмечали, это реализуется оверлейными ФС => на другом уровне.

    Или стандартными "оверлейными" (вернее, CoW-over-md) блок-девайсами (как в федоре).

     
  • 5.22, slowpoke (?), 15:43, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    я не о файловой системе, а конкретно об этом улучшающем патче.
     
     
  • 6.24, anonymous (??), 16:43, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > я не о файловой системе, а конкретно об этом улучшающем патче.

    А что плохого в более эффективной параллелизации во время когда однопроцессорные системы еще нужно поискать?

     
     
  • 7.25, slowpoke (?), 17:04, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    плохого то ничего, вот только кому на практике это нужно, кто на практике заметит разницу?
     
     
  • 8.26, anonymous (??), 17:55, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На практике разницу увидит тот кто это реально использует а не фантазирует на те... текст свёрнут, показать
     
  • 5.46, б.б. (?), 07:33, 22/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Но в САМОМ ГЛАВНОМ, в knoppix, используется cloop :)
     
  • 4.31, annulen (ok), 22:22, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Для embedded-систем, конечно же
     
     
  • 5.37, Аноним (-), 23:18, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Для embedded-систем, конечно же

    Также находит применение для ливцд и прочая.

     
  • 4.33, selivan (ok), 22:28, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > да я только за, вот только для чего это на практике?

    Например у меня из корня в squashfs, загружаемого по tftp, тонкие клиенты работают.

     
  • 2.17, Аноним (-), 14:42, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > разницу в пару секунд

    Ну так хуже никому не станет. А лучше - запросто.

     
  • 2.21, Xaionaro (ok), 15:07, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я держу backup-образы используя squashfs с xz. Лично для меня этот патч весьма полезен :)
     
     
  • 3.27, Аноним (-), 18:11, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    А ведь не самый плохой способ применения. Заморачивался на дельты? или просто монтируемый через -o loop date-hour:mm:sec.fileext ?
     
     
  • 4.28, anonymous (??), 18:40, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > А ведь не самый плохой способ применения. Заморачивался на дельты? или просто
    > монтируемый через -o loop date-hour:mm:sec.fileext ?

    А зачем там заморочки с дельтами? Если для экономии места то это глупость потому что сжатие {gzip,LZMA,LZO,xz} решает эту проблему и кроме при такой потребности того любой бекап можно просто взять и примонтировать. Так что я вангую что там никаких дельт и близко нет.

     
     
  • 5.48, Аноним (-), 09:10, 22/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > глупость потому что сжатие {gzip,LZMA,LZO,xz} решает эту проблему

    Ну да, попробуй сжать .avi/.mkv/... хоть чем-то из этого и выиграть более ~десятка процентов в лучшем случае. А вот при использовании бэкапа с дельтами второй раз сохраняться одно и то же не будет.

    > такой потребности того любой бекап можно просто взять и примонтировать.

    Только места на хранение потребуется вагон.

     

  • 1.29, Сталин (?), 19:02, 21/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    на openwrt, тот же SquashFSЖдем ускорения иницилизации роутера!
     
     
  • 2.30, el torito (?), 21:05, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Заодно расскажите, где прикупить роутер с многоядерным процессором за разумные деньги. ;)
    P1020EWLAN не предлагать: в наших пердях не продаётся и стоит неразумно.
     
     
  • 3.34, Аноним (-), 22:49, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Кроме того, реализована распаковка сразу в кэш страниц (page cache), что также может >существенно ускорить ряд операций с файловой системой.

    Читай целиком новость.

     
  • 3.38, Аноним (-), 23:18, 21/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > в наших пердях не продаётся

    И почту в ваших пердях не принимают?


     

  • 1.43, Led (ok), 03:20, 22/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Пока не ясно, войдет ли данный патч в состав ядра 3.13

    Всё это УЖЕ в мэйнлайне.

     
  • 1.49, Fracta1L (ok), 07:59, 23/11/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    ну и где брать эти патчи? я как раз упаковал дерево портежа в squashfs, но паковка очень уж медленная
     
     
  • 2.50, Andrey Mitrofanov (?), 09:58, 23/11/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ну и где брать эти патчи? я как раз упаковал дерево портежа

    "Портаджи распаковывать" научился, а по ссылкам ходить - нет?

    > в squashfs, но паковка очень уж медленная

    Наверное, ещё и новость не прочитал, торопыга? Там не про это.

     
     
  • 3.51, Fracta1L (ok), 11:18, 23/11/2013 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну сходи по ссылкам и найди мне там патчи.
     
     
  • 4.52, Andrey Mitrofanov (?), 11:53, 23/11/2013 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Ну сходи по ссылкам и найди мне там патчи.

    lkml.org/lkml/2013/11/19/627 На, убогий, пользуйся. Я сегодня добрый.

     
  • 2.53, Led (ok), 22:56, 23/11/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > ну и где брать эти патчи? я как раз упаковал дерево портежа
    > в squashfs, но паковка очень уж медленная

    git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру