The OpenNET Project / Index page

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

Для Linux представлена технология Zswap для сжатого кеширования в системе подкачки

14.12.2012 21:13

В списке рассылки разработчиков ядра Linux представлена технология сжатого кэширования SWAP - Zswap. Смысл технологии сводится к тому, что при необходимости выгрузки страниц памяти на диск производится попытка сжать страницы, размещая их при этом в пуле в оперативной памяти. По мере возможности сжатые страницы не выгружаются на диск чтобы избежать операций ввода/вывода с медленным носителем.

Реализация такого подхода позволяет, при возникновении необходимости сброса памяти в раздел подкачки, сократить ввод-вывод и повысить скорость работы системы в целом, за счет того, что по возможности избегается использование медленного носителя. Ценой сокращения ввода/вывода является увеличение нагрузки на процессор, который тратит дополнительные ресурсы на сжатие и распаковку данных. По утверждению разработчиков, в их конфигурации при компиляции ядра в ситуации когда происходит своппинг, выигрыш по объему ввода/вывода составил 76%, а время выполнения операции сократилось на 53%.

Примечание: не следует путать Zswap с похожей по смыслу технологией zRAM (ранее compcache), при которой в памяти создается блочное устройство на которое производится своппинг со сжатием.

Дополнительно, можно отметить принятие в состав будущего ядра 3.8 патчей с реализацией поддержки механизма "huge zero_page", который в некоторых ситуациях позволит существенно (до 2.5 раз) сократить потребление физической памяти при включении в ядре поддержки Transparent Huge-Pages (THP). THP представляет собой технику увеличения базового размера адресуемых страниц памяти (ранее размер страницы составлял всегда 4096 байт, а при THP может быть увеличен до 2 или 4 Мб), что приводит к сокращению числа используемых TLB-блоков (Translation Lookaside Buffer) и расширению возможностей по задействованию выделенной, но неиспользуемой памяти, для кэширования системных данных (например, под дисковый кэш). Техника Huge zero_page расширяет возможности THP в направлении экономии пустых страниц памяти, для которых не выделяются реальные области физической памяти.

  1. Главная ссылка к новости (http://www.phoronix.com/scan.p...)
  2. OpenNews: Виртуальное увеличение памяти через хранение в ОЗУ сжатого swap-раздела
Автор новости: Аноним
Тип: К сведению
Ключевые слова: kernel, memory, swap
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (67) Ajax | 1 уровень | Линейный | Раскрыть всё | RSS
  • 1.1, VecH (ok), 22:11, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    в прошивках Андроид-а для HTC HD2 еще в прошлом году появились функции, которые позволяли задействовать zRam (сжатый swap в RAM)
     
     
  • 2.2, rshadow (ok), 22:38, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Десктоп, Debian, 3.2.32, второй год полет нормальный:

    #!/bin/bash
    echo $[2 * 1024 * 1024 * 1024] > /sys/block/zram0/disksize
    mkswap -L zram /dev/zram0
    swapon -p 100 /dev/zram0

     
     
  • 3.3, rshadow (ok), 22:39, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Модуль ядране забываем включить /etc/modules:

    zram zram_num_devices=1

     
     
  • 4.7, DannyBoy (ok), 22:51, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Есть ли преимущества по сравнению с обычным свопом и чувствуются ли они на глаз?
     
     
  • 5.12, Аноним (-), 23:13, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть ли преимущества по сравнению с обычным свопом и чувствуются ли они на глаз?

    На некоторых девайсах - все шансы ощутить. На всяких там телефонах с медленным флешом на который активно свопиться беспонтово - весьма интересный вариант.

     
     
  • 6.15, DannyBoy (ok), 23:18, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Ну учитывая, что написано про приличное использование проца, а средний ARM не есть гуд для мат. вычислений, то в лучшем случае телефоны будут мало работать, а в худшем - жарить перепелиные яйца на корпусе. Так что сложно придумать использование сей технологии.
     
     
  • 7.16, Аноним (-), 00:09, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +11 +/
    > средний ARM не есть гуд для мат. вычислений

    Во первых, современный ARM нынче спокойно затыкает типовой атом вообще не моргнув глазом.
    Во вторых, при скоростном сжатии никаких особо хитрых вычислений нет.
    В третьих, увеличение скорости работы системы в целом - вопрос того что дороже: I/O или циклы процессора. В ряде систем I/O с флешкой и/или SD картой является очень дорогим процессом который сам клинит проц по полной. В свете этого возможет парадокс когда сжатие повысит скорость работы, сократив объем медленного и грузящего систему I/O.

     
     
  • 8.17, DannyBoy (ok), 00:17, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Какую-нибудь заглушку n2600 может быть, но n450-455 может какой-нибудь cortex-a1... текст свёрнут, показать
     
     
  • 9.22, Аноним (-), 08:36, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ну так процесс идет, A15-е уже временами показывают чуть ли не половину от скоро... текст свёрнут, показать
     
     
  • 10.26, DannyBoy (ok), 10:16, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Тут уже нужны пруфы, ибо уж больно громкие слова К тому же помню находил информ... текст свёрнут, показать
     
     
  • 11.36, Аноним (-), 17:41, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Идете на тот же фороникс и смотрите бенчи армов между собой и vs x86, например ... текст свёрнут, показать
     
     
  • 12.39, Michael Shigorin (ok), 17:51, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Calxeda co будто бы отчаянно избегают называния цифр по энергоэффективности на... текст свёрнут, показать
     
     
  • 13.46, Romik (??), 22:11, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    А давайте ещё про всякие Power ы, SPARK и и Itanium ы поговорим ... текст свёрнут, показать
     
     
  • 14.47, Romik (??), 22:13, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    SPARC и ... текст свёрнут, показать
     
  • 13.57, Аноним (-), 17:37, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вообще да, любопытно Сам ARM вообще-то любит понтоваться mips watt технично под... текст свёрнут, показать
     
     
  • 14.63, Michael Shigorin (ok), 02:42, 17/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Понимаю, но даже не помню, какая именно это борда была -- надо уточнить, сейчас ... текст свёрнут, показать
     
     
  • 15.64, Аноним (-), 17:25, 17/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Да я этом к тому что миллион запросов сам по себе - нечто сферическое и в вакуум... текст свёрнут, показать
     
  • 8.25, Аноним (-), 08:57, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Да в общем-то это никакой не парадокс 124 gzip иногда ускоряет работу како... текст свёрнут, показать
     
     
  • 9.37, Аноним (-), 17:42, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Очень уж иногда, ибо 2-стадийный LZ Huffman, который по определению не будет чем... текст свёрнут, показать
     
  • 8.45, Admin1 (?), 21:46, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    вот насчет атома не могу сказать, но eepc700 проц celeron 600mzh ram 512 работ... текст свёрнут, показать
     
  • 2.6, Просто прохожий (?), 22:50, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +5 +/
    zswap - технология сжатия данных, предназначенных для своппинга, перед их сбросом на блочное устройство.
    zram - сжатое блочное устройство в памяти.

    Работают на разных уровнях.

     
     
  • 3.50, Led (ok), 02:26, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >zswap - технология сжатия данных, предназначенных для своппинга, перед их сбросом на блочное устройство.
    >zram - сжатое блочное устройство в памяти.

    ...а также может выступать в качестве компрессирующего прокси для свопа на диске.

     
  • 2.10, Аноним (-), 23:09, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > zRam

    Написано же - не путайте. Суть похожая но реализация весьма разная.

     

  • 1.4, 3draven (?), 22:42, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Я вот, то же подумал...боян же...не? zram был давненько и в чем разница? Можно было и tmpfs заюзать ранее. zram я пользовался года полтора наверное, потом памяти до 8Гб нарастил и забил как то на нее. Нипонятно мне.
     
     
  • 2.5, rshadow (ok), 22:50, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • –4 +/
    анналогично =)
     
     
  • 3.13, Аноним (-), 23:16, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +7 +/
    > анналогично =)

    Может не обязательно публично тупить на форуме и демонстрировать безграмотность? Это вас обоих касается :)

     
     
  • 4.54, Аноним (-), 09:23, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Явно же шпилька со стороны Привидения была, мистер урезониватель )
     

  • 1.8, Нанобот (?), 22:52, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    помню, была похожая программа для windows 3.1, qemm называлась
     
     
  • 2.9, Andrey Mitrofanov (?), 22:55, 14/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > помню, была похожая программа для windows 3.1, qemm называлась

    Нет, 4dos.

     

  • 1.11, 3draven (?), 23:10, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Прога была 4дос, а запускался с нее виндус, когда она была в config.sys залита и autoexec.bat :)
     
  • 1.14, YetAnotherOnanym (ok), 23:16, 14/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Только, наверное, не совсем правильно называть это "кэшированием раздела подкачки".
     
     
  • 2.18, pro100master (ok), 01:16, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    правильно. Это скорее менеджер сжатых страниц с сомнительной областью применения. В упомянутых выше мобильных девайсах и так сильная нехватка процессорной мощности, что упаковка-распаковка там лишняя, в серверах/станциях память не такой ресурс, на котором экономят. Остаются только нетбуки/ноуты с с быстрым SSD, которым тоже, в общем то по-барану )
     
     
  • 3.23, Аноним (-), 08:37, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > выше мобильных девайсах и так сильная нехватка процессорной мощности,

    Мощность проца которая тратится на работу с контроллером SD карты или NAND флеша может спокойно перевесить затраты на сжатие.

     
     
  • 4.32, Аноним (-), 15:19, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    наоборот
     
     
  • 5.38, Аноним (-), 17:44, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > наоборот

    И в скольких девайсах вы это меряли? У меня вот есть девайс с столь медленным I/O что при записи в флеш он упирается в ... 100% CPU usage. Ежику понятно что у легкого сжатия там все шансы скостить нагрузку.

     

  • 1.19, sasa (??), 02:33, 15/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    > Примечание: не следует путать Zswap с похожей по смыслу технологией zRAM (ранее
    > compcache), при которой в памяти создается блочное устройство на которое производится
    > своппинг со сжатием.

    Так чего тут путать - и то и дугое абсолютно бесполезная херня.

     
     
  • 2.20, ILYA INDIGO (ok), 04:10, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Для ПК на x86_64 с 4Гб+ оперативой согласен, но для всяких смартфонов, планшетников и прочих ARM-ок вполне может сгодиться.
     
     
  • 3.27, sasa (??), 10:29, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • –5 +/
    > Для ПК на x86_64 с 4Гб+ оперативой согласен

    Еще бы не согласиться - греть воздух вместо того чтобы сбалансированно подбирать железо

    > для всяких смартфонов, планшетников и прочих ARM-ок вполне может сгодиться

    там есть контроллеры NAND на скоростной шине так вот лучше бы поддержку DMA реализовали в ФС - и jffs2 и ubufs компрессию "на лету" уже поддерживают, к тому же другие скоростные интерфейсы типа sata или ddr mmc давно уже не редкость на армах

     
     
  • 4.40, Аноним (-), 17:55, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > там есть контроллеры NAND на скоростной шине так вот лучше бы поддержку DMA реализовали

    Простите, уже выпущена туева хуча чипов. Они такие какие есть. Если при прочих равных удается выжать больше - EPIC WIN.

    > в ФС - и jffs2 и ubufs компрессию "на лету" уже поддерживают,

    При том - IIRC там довольно тормозной zlib.

    > к тому же другие скоростные интерфейсы типа sata
    > или ddr mmc давно уже не редкость на армах

    Они конечно не редкость, но в мобилах и планшетах как вы понимаете sata никто не юзает. А механические диски не любят seek. А чипы флеша просто тормозные на запись. А ставить массив параллельно работающих чипов флеша как в SSD для ускорения процесса в телефонах тупо некуда. А также дорого и жруче.

     
     
  • 5.55, sasa (??), 16:15, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • –3 +/
    >  Они такие какие есть. Если при прочих равных удается выжать больше - EPIC WIN.

    вот ты горе-аналитик, такие как ты и разрабатывают Linux, головкой своей подумай что лучше - копировать за счет процессора или за счет контроллера DMA.

    > При том - IIRC там довольно тормозной zlib

    неповезло вам - у меня lzo там

    > Они конечно не редкость, но в мобилах и планшетах как вы понимаете sata никто не юзает.

    но там ставят eMMC с DDR

    > А чипы флеша просто тормозные на запись. А ставить массив параллельно работающих чипов флеша как в SSD для ускорения процесса в телефонах тупо некуда

    ты хотя бы uSD видел (для справки там NAND внутри с аппартаным контроллером) ? чего и куда некуда

     
     
  • 6.58, Аноним (-), 18:12, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вы, наверное, Д Артаньян Да, линукс разрабатывают практики Которым надо е... текст свёрнут, показать
     
     
  • 7.62, sasa (??), 22:25, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Хотя извращенцев которые бы свопились на файл в JFFS я все-таки не встречал.

    Я вообще не встречал чтобы на ARM использовали swap - поэтому говорю что это бесполезные затеи, а если тебе так нужно - можно свопиться в файл на быстром носителе типа nand.

    > Да, там NAND и контроллер. Но это не значит что там впихнут 16 чипаков NAND вкалывающих

    параллельно и топовый контроллер как в SSD.

    ты уже наконец погугли что такое eMMC а то все какую херню несешь про ssd.

     
     
  • 8.65, Аноним (-), 17:34, 17/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Зато это встречал я На NAND, кстати И мне совершенно не понравилось как это ра... текст свёрнут, показать
     
     
  • 9.66, sasa (??), 12:58, 18/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Правильно ли я понял что их заводская прошивка штатно использует swap Если э... текст свёрнут, показать
     
     
  • 10.67, Аноним (-), 22:01, 20/01/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Да, для возможности запускать больше программ в ограниченных ресурсах То что св... текст свёрнут, показать
     
  • 2.24, Аноним (-), 08:37, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Так чего тут путать - и то и дугое абсолютно бесполезная херня.

    Ну ты так и скажи что ты это видел только на картинке, а дальше писюка с ...цать гигз оперативы - не видишь.


     

  • 1.21, Loooooker (ok), 05:31, 15/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Сплошные упоминания в новостях про нововведения в 3.8. Похоже, тот еще торт будет! Главное не ставить все это добро сразу в продакшн ;)
     
  • 1.28, Michael Shigorin (ok), 11:29, 15/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > "huge zero_page"

    Думаю, лучше почитать здесь, чем на форониксе: http://lwn.net/Articles/517465/

     
  • 1.29, psevdozebra (?), 12:43, 15/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Похоже скоро будем ждать аппаратных решений
     
     
  • 2.35, Crazy Alex (ok), 17:30, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    ну его на фиг, такое - это ж маркетолухи такого понапишут - не поймёшь,сколько реально памяти в железке... Нет уж, мне разных даблспейсов хватило в своё время
     

  • 1.30, Аноним (-), 13:02, 15/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Примечание: не следует путать Zswap с похожей по смыслу технологией zRAM (ранее compcache), при которой в памяти создается блочное устройство на которое производится своппинг со сжатием.

    Им бы названиями поменяться.;d

     
  • 1.31, Аноним (-), 13:55, 15/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    А вот интересно, а что если заюзать вот этот Zswap вмcете с ZRAM?
     
     
  • 2.34, pavlinux (ok), 17:29, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    тогда наступит сингулярность
     
  • 2.41, Аноним (-), 17:58, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > А вот интересно, а что если заюзать вот этот Zswap вмcете с ZRAM?

    Подобные извращения рассмотрены в списке рассылки с прикидками что получится и какая конфигурация для этого нужна.

     
     
  • 3.43, pavlinux (ok), 21:32, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> А вот интересно, а что если заюзать вот этот Zswap вмcете с ZRAM?
    > Подобные извращения рассмотрены в списке рассылки с прикидками что получится и какая
    > конфигурация для этого нужна.

    Как вариант - плющить данные на лету легким режимом xz,
    и отправлять в ZRAM, как отложенную запись, доплющиватся хардкорным LZMA.

     
     
  • 4.51, Led (ok), 02:31, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Как вариант - плющить данные на лету легким режимом xz,

    xz эффективен на больших размерах блока, а не на блоках размером в страницу.

     
  • 4.59, Аноним (-), 18:16, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Как вариант - плющить данные на лету легким режимом xz,
    > и отправлять в ZRAM, как отложенную запись, доплющиватся хардкорным LZMA.

    Павлин, xz это и есть LZMA, просто у остроконечников и тупоконечников как обычно нет единства насчет того в каком формате сжатый поток оформлять. Это единственное отличие в всех этих подвидах, сам LZMA лежащий в их основе - одинаковый :)

     
  • 2.48, kai (??), 01:28, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    Толку не будет: попробуйте повторно архивировать архив. Я когда-то пробовал ^_^
     
     
  • 3.49, pavlinux (ok), 02:07, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +/

    :)
     
  • 3.60, Аноним (-), 18:35, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Толку не будет: попробуйте повторно архивировать архив. Я когда-то пробовал ^_^

    В сильно некоторых случаях может удасться отыграть немного :)

    Например зипуете файл на несколько гигз состоящий из нулей. А потом зипуете такой зип. Сожмется.

     

  • 1.33, Аноним (-), 16:05, 15/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ждем в ванильном и в основных дистрах!
     
  • 1.42, Аноним (-), 19:13, 15/12/2012 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    На диск тоже лучше сжатое класть. Диск сейчас узкое место, а не проц.
     
     
  • 2.44, pavlinux (ok), 21:34, 15/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    > Диск сейчас узкое место, а не проц.

    Диск ВСЕГДА был узким местом. Хуже диска, только диски на USB и COM-порты.


     
     
  • 3.52, Led (ok), 02:33, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >Диск ВСЕГДА был узким местом. Хуже диска, только диски на USB и COM-порты.

    Да. Вот только посмотри во сколько раз возросла скорость записи на диск и в память за последние 10-15 лет. Подсказка: сравнение не в пользу дисков.

     
     
  • 4.53, pavlinux (ok), 02:39, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +/
    >>Диск ВСЕГДА был узким местом.
    > Подсказка: сравнение не в пользу дисков.

    Эм, см выше 0:)

     
     
  • 5.56, Crazy Alex (ok), 16:43, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ок, сейчас диск стал более узким местом.
     
  • 3.61, Аноним (-), 18:38, 16/12/2012 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Диск ВСЕГДА был узким местом.

    Просто как-то так вышло что раньше процы были дохлее а скоростные алгоритмы сжатия не настолько развиты. По поводу чего сжатие если и применялось то не с целью выиграть в скорости а скорее место на диске сэкономить. На данный момент оно может убить 2 зайцев сразу. LZO/lz4/... могут жать с настолько зубодробильной скоростью что сжатая запись окажется быстрее за счет сокращения I/O. А уж чтение и подавно - такие алгоритмы дико быстры в распаковке. В ряде случаев они могут обогнать memcpy() за счет снижения объема читаемых данных при равном объеме записи ;)

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



    Спонсоры:
    MIRhosting
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

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