Технология сжатой памяти в OS X 10.9 Mavericks

Компания Apple рассказала о новой возможности OS X 10.9 Mavericks, призванной максимизировать использование памяти, жесткого диска и процессора, увеличив при этом энергоэффективность. Новая возможность получила название – сжатой памяти.

14.06.2013 00:41
Технология сжатой памяти в OS X 10.9 Mavericks

Больше ресурсов, меньше потребление

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

Новая возможность идеально подходит под направление разработок Apple для мобильных продуктов, вроде новых MacBook Air. Целью разработок является увеличение времени работы от батарей посредством SSD-накопителей (в противоположность механическим жестким дискам), что, впрочем, никак не увеличивает потенциал RAM.

Текущие модели MacBook Air в минимуме сейчас предлагают 4GB RAM, тогда как за $100 опционально можно получить уже 8GB. Тем не менее, более ранние модели, которые смогут работать с OS X Mavericks, предлагают пользователю лишь 2GB RAM.

Технология сжатой памяти в OS X 10.9 Mavericks

Чтобы добиться максимума от такого ограниченного объема оперативной памяти, Apple будет применять динамическое сжатие памяти, призванное уменьшить в памяти размер того контента, который был в нее загружен, но который не нужен в данный момент.

Подобную роль в OS X всегда исполняла виртуальная память. Виртуальная память позволяет OS X выгружать менее важный контент на диск (на жесткий диск или SSD), и затем подгружать его в память при необходимости. Однако, такой подход также значительно нагружает CPU и накопитель. И чем больше пользователь загружает в память данных, тем больше система вынуждена их сбрасывать на накопитель.

Теперь же OS X, похоже, научилась сжимать память на лету и более эффективно, уменьшив необходимость в использовании виртуальной памяти. Это позволяет более часто отключать CPU и накопитель, сберегая драгоценную энергию батарей.

Супер-быстрое, супер-эффективное сжатие

“Чем больше памяти имеет в своем распоряжении ваш Mac, тем быстрее он работает”, заявила Apple на страничке OS X Mavericks.

Но при одновременной работе несколько приложений, ваш Mac использует больше памяти. Сжатая память в OS X Mavericks позволяет вашему Mac высвободить память, когда она больше всего нужна. По мере приближения Mac к имеющемуся лимиту памяти, OS X автоматически сжимает данные неактивных приложений, увеличивая объем доступной памяти.

OS X 10.9 Mavericks - работа с памятью
   До и после сжатия памяти

Также Apple заявила, что новая возможность автоматически сжимает самые давно использовавшиеся данные в памяти, уменьшая их размер примерно вдвое. При необходимости, их можно мгновенно разжать.

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

Для сжатия, Apple использует технологию WKdm, которая, со слов компании, настолько эффективна в упаковке данных, что цикл их сжатия и извлечения “быстрее, чем чтение и запись на диск”.

Новая старая технология сжатия данных

В сжатии данных в памяти и на накопителе, в целом, нет ничего нового. В 1980-х, инструменты, вроде DiskDoubler, позволяли сжимать файлы на диске на лету, а не упаковывать их в архивы (которые появились еще на заре компьютеров). В тоже время инструмент RAM Doubler то же самое делал с памятью (в конце 90-х эта техника была, по сути, заменена на виртуальную память).

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

Еще в OS X 10.6 Snow Leopard, Apple добавила технологию сжатия HFS+ Compression, выдав ее за возможность экономии места на диске. Преимущества HFS+ были ограничены тем фактом, что предыдущие версии OS X не умели работать с такими сжатыми файлами, и поэтому сжатие применялось лишь к файлам системы.

Windows также использует в NTFS сжатие файлов, как делает и Linux Btrfs, но в общем все это ведет к потере производительности, что делает основным преимуществом сжатия – лишь увеличенное место на диске (ценой потери производительности).

Сжатие контента изменчивой системной памяти, вместо сжатия данных диска, осталось в еще более экспериментальной стадии. Хотя оно по умолчанию включено во многих виртуализационных продуктах, вроде VMWare ESX.

В проекте Linux Compcache пытаются использовать подобное сжатие памяти посредством алгоритма LZO. Преимущества от него есть, хотя они не всегда стоят потраченных на них средств. Кроме того, у разработчиков появляются дополнительные проблемы, вроде усложненного пробуждения из режима гибернации.

Современные решения

Сегодня же комбинация быстрых, зачастую отдыхающих ядер CPU; больших объемов данных; более дорогих SSD-накопителей и требований эффективности мобильных компьютеров сделали сжатие памяти идеальным решением различных проблем (если, конечно, использованные технологии сжатия соответствуют типы выполняемых задач).

Ученые Мэтью Симпсон (Matthew Simpson) из Clemson University и Ражив Баруа (Rajeev Barua) и Сурапа Бисвас (Surupa Biswas) из Maryland University исследовали использование различных типов сжатия памяти еще десять лет назад, в частности в отношении встроенных систем, где памяти зачастую не хватает.

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

Результаты тестирования алгоритмов
Результаты тестирования алгоритмов

По технологии WKdm, которую сейчас и использует Apple (по сути, это гибридная технология, основанная как на словарно, так и на статистическом сжатии), был сделан вывод, что она обеспечивает высокую эффективность и быстрые скорости как сжатия, так и извлечения.

Заряженная виртуальная память

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

По словам Apple, если вашему Mac необходимо сбросить файлы на диск (посредством виртуальной памяти), сжатые объекты сохраняются в полноразмерных сегментах, что улучшает эффективность чтения/записи и снижает износ SSD и флэш-накопителей. Также Apple заявляет, что ее техника сжатия снижает размер давно неиспользовавшихся данных в памяти более чем на 50 процентов, и добавляет, что сжатая память является невероятно быстрой, выполняющей сжатие и извлечение страницы памяти всего лишь за несколько миллионных секунды.

В отличие от традиционной виртуальной памяти, сжатая память также использует преимущества параллельных вычислений на нескольких ядрах, что позволяет достигать очень высокой производительности, как в высвобождении памяти, так и в доступе к редко использованным объектам в памяти.

OS X 10.9 Mavericks - работа с памятью

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

К слову, представленные выше диаграммы были получены на 13” ноутбуках MacBook Air с процессором 1,8GHz Intel Core i5, 256GB флэш-накопителем, 4GB RAM и предрелизовыми версиями OS X 10.9 и OS X 10.8.4. Производительность может варьироваться в зависимости от системы, использующихся приложений и других факторов.

Оцените материал:  
(Голосов: 8, Рейтинг: 3.63)

Каждый вечер мы будем присылать вам одно письмо со всеми опубликованными за день материалами. Нет материалов - нет писем, просто и удобно (другие варианты).

Материалы по теме


Комментарии (1)

Andry, 07.10.2014 05:04
Вам нужно авторизоваться, чтобы голосовать Вам нужно авторизоваться, чтобы голосовать

Если читать и думать о том, что читаешь - то часть статьи - просто бред. "что CPU и накопитель работают меньше" - накопитель понятно. а CPU? Кто данные в памяти сжимает - они сами? Любая технология сжатия использует сильно или не так CPU... Н
Если читать и думать о том, что читаешь - то часть статьи - просто бред. "что CPU и накопитель работают меньше" - накопитель понятно. а CPU? Кто данные в памяти сжимает - они сами? Любая технология сжатия использует сильно или не так CPU... Н