Обзоры
Стоимость приобретения: SSD против памяти
9

Стоимость приобретения: SSD против памяти

Со старых времен слово «свопинг» у большинства из нас ни с чем хорошим не ассоциируется. В той или иной мере этот процесс имеет место в любом компьютере, но чем больше данных кочует из ОЗУ на диск и обратно, тем больше тормозит компьютер. Активный свопинг – точная примета нехватки оперативной памяти. Это ни для кого не секрет и спорить с этим никто не собирается. Способно ли появление SSD изменить отношение к свопингу, как к «неизбежному злу»?

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

И верно, когда дело касается десктопов, мы, не задумываясь, ставим пару гигабайт ОЗУ, и вряд ли кому-то сегодня придет в голову лезть в настройки Windows чтобы узнать, какой размер файла подкачки система выбрала по умолчанию. А уж манипулировать им ради получения большей производительности… По-моему, последний раз я этим занимался во времена Windows 98. Однако нашлась ситуация, в которой о проблеме свопинга стоит задуматься. Причем не о том, как от него, по возможности, избавиться, а как использовать с выгодой. Последнее стало возможным после появления SSD-накопителей, обладающих более высокой, чем у винчестеров, производительностью по чтению и записи. На IT Galaxy есть интересные заметки «Секреты SSD накопителей Intel», «RAID 0 vs Intel SSD», рекомендую посмотреть для «вхождения в тему».

Идея оценить, способно ли сознательное повышение свопинга оказаться экономически выгодным при использовании SSD, пришла в голову IT-сотрудникам Intel. Сделать это они решили применительно к серверам приложений, используемым в процессе разработки полупроводниковых продуктов корпорации*. На таких серверах в Intel выполняются приложения EDA (Electronic Design Automation), оперирующие с большими объемами данных и, соответственно, требовательные к памяти. Раньше были доступны два варианта подхода к выбору конфигурации для этих систем:
– оснащение ОЗУ, достаточным для выполнения приложений в оперативной памяти; достигается максимальная производительность, но приходится использовать дорогие серверные 8-гигабайтные модули;
– применение более доступных 4-гигабатных модулей, т.е. уменьшение емкости ОЗУ вдвое; экономически решение более выгодное, но в результате свопинга на HDD быстродействие заметно падает.
Так что идея заменить HDD на вдвое более быстрые SSD напрашивалась сама собой.

Во-первых, путем тестирования следовало выяснить, насколько повлияет на производительность сервера свопинг на SSD при реальной рабочей нагрузке. Тестовым стендом стал 2-процессорный сервер на Xeon 5570, работающий под 64-битной Linux. Испытания проводились под тремя видами нагрузки:

Учитывая требования рабочей нагрузки к виртуальной памяти, тестирование проходило на четырех конфигурациях:
– емкость памяти 96 GB (12 x 8 GB DIMM DDR3-1066), без свопинга;
– емкость памяти 48 GB (12 x 4 GB DIMM DDR3-1066), свопинг на HDD-массив RAID 0;
– емкость памяти 48 GB (12 x 4 GB DIMM DDR3-1066), свопинг на SSD Intel X25-E Extreme (SLC);
– емкость памяти 48 GB (12 x 4 GB DIMM DDR3-1066), свопинг на SSD Intel X25-M Mainstream (MLC).

SSD-накопители, построенные по технологии Single-level Cell (SLC), отличаются наилучшей производительностью при чтении и записи, но имеют меньшую емкость и стоят дороже, чем SSD на основе технологии Multi-level Cell (MLC). Подробные характеристики накопителей, использованных для свопинга:

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

Отставание от наибыстрейшей конфигурации с 96 GB памяти для варианта со свопингом на SSD/SLC составило всего 12%. На глаз такие различия практически незаметны, но и в количественном выражении они не выглядят очень существенными. Со всеми задачами, решение которых вписывается на 96-гигабайтной конфигурации в рамки 8-часового рабочего дня, сервер с SSD/SLC справился практически в тех же пределах времени, а при третьем сценарии успел подготовить результаты «к завтраку». Конфигурация со свопингом на SSD/MLC оказалась на треть более производительной, чем при свопинге на HDD, однако обе они не справляются с нагрузкой в рабочего дня (для сценария 2) и суток (для сценария 3).

В общем, наряду с выводами о том, что SSD-накопители с точки зрения свопинга эффективнее HDD на 33% для MLC и на 73% для SLC, следует учитывать, что отставание сервера с SSD/SLC от конфигурации с максимум ОЗУ всего на 12% не должно сказаться на организации труда разработчиков.

Выяснив, что происходит с производительностью, надо оценить экономическую целесообразность применения SSD для свопинга. Хотя SSD/SLC-накопитель Intel X25-E Extreme SATA 64 GB стоит немало (где-то 25-30 тыс. руб.), но и память дорога. Серверные 8-гигабайтные «планки» потянут на 10-12 тыс. руб. за штуку, в то время как 4-гигабайтные обойдутся по 4.5-5 тыс. руб. Несложный расчет наводит на мысль о возможности сэкономить больше 50 тыс. руб. Это у нас, по результатам поиска на Price.ru. А «у них»? Пожалуйста, в таблице приведен расчет, выполненный IT-специалистами Intel (цены взяты по прайс-листам Dell и Intel):

Итак, с учетом результатов тестирования производительности под рабочей нагрузкой получилось, что применение SSD/SLC-накопителя для свопинга при замене модулей памяти 8 GB на 4 GB DDR3-1066 приносит 74% экономии на стоимости сервера. Вот такой красивый свопинг получается.


Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: