Оптимизация работы SSD диска под Windows. Достоинства и недостатки технологии Intel Smart Response

Традиционная система хранения подразумевает размещение данных на жестких дисках HDD и твердотельных дисках SSD. В последние годы емкости HDD растут стремительными темпами. Однако, скорость их при случайном доступе по-прежнему мала. Для некоторых приложений, таких как базы данных, облачные технологии или виртуализация, требуется как высокая скорость доступа, так и большой объем. Получается, что использование только HDD не приемлемо, а использование SSD неоправданно дорого. Использование SSD только в качестве кэша является лучшим соотношением цена/производительность для системы в целом. В этом случае сами данные будут располагаться на емких HDD, а дорогие SSD будут давать прирост производительности при случайном доступе к этим данным.

Чаще всего SSD-кэш будет полезен в следующих случаях:

  1. Когда скорость работы HDD в IOPS при чтении является узким местом.
  2. Когда операций ввода/вывода на чтение существенно больше, чем на запись.
  3. Когда объем часто используемых данных меньше размера SSD.

Решение

SSD-кэширование – это дополнительный кэш для увеличения производительности. Один или несколько SSD должны быть назначены виртуальному диску (луну) для использования в качестве кэша. Обратите внимание, что эти SSD будут недоступны для хранения данных. В настоящее время размер SSD-кэша ограничен 2.4ТБ.

Когда производится операция чтения/записи, копия данных помещается на SSD. В следующий раз любая операция с этим блоком будет производиться напрямую с SSD. В итоге это уменьшит время реакции и, как следствие, увеличит общую производительность. Если, к несчастью, SSD откажет, то данные не потеряются, т.к. в кэше содержится копия данных с HDD.

SSD-кэш делится на группы – блоки, каждый блок делится на субблоки. Характер операций ввода/вывода для виртуального диска определяет выбор размера блока и субблока.

Заполнение кэша

Чтение данных с HDD и запись их на SSD называется заполнением кэша. Эта операция выполняется в фоновом режиме сразу же после того, как хост производит операции чтения или записи. Работа кэша ограничена двумя параметрами:

  • Populate-on-read threshold
  • Populate-on-write threshold

Эти значения больше нуля. Если они равны нулю, то кэш на чтение или запись не работает. В соответствии с этими значениями каждый блок соотносится с его счетчиком чтения или записи. Когда хост производит операцию чтения, и данные расположены в кэше, счетчик чтения увеличивается. Если в кэше нет данных и счетчик чтения больше или равен значению Populate-on-read threshold, то данные копируются в кэш. Если же значение счетчика меньше Populate-on-read threshold, то данные читаются мимо кэша. Для операций записи ситуация аналогична.

Сценарии работы SSD-кэша

Тип ввода/вывода

Тип ввода/вывода определяет конфигурацию SSD-кэша. Эта конфигурация выбирается администратором и определяет параметры блока, субблока, populate-on-read threshold и populate-on-write threshold. Имеются три заранее определенные конфигурации согласно типам ввода/вывода: базы данных, файловая система и web-сервисы. Администратору необходимо выбрать конфигурацию SSD-кэша для виртуального диска. В процессе работы можно сменить тип конфигурации, но в этом случае содержимое кэша будет сброшено. Если предопределенные конфигурации не подходят под используемый профиль нагрузки, то имеется возможность задать собственные значения параметров.



Размер блока влияет на время «прогрева» кэша, т.е. когда наиболее востребованные данные переместятся на SSD. Если данные расположены на HDD близко друг к другу, то лучше использовать блок большого размера. Если же данные расположены хаотично, то логичнее использовать блок малого размера.

Размер субблока также влияет на время прогрева кэша. Больший его размер уменьшает время заполнения кэша, но увеличивает время реакции на запрос с хоста. Помимо этого, размер субблока также влияет на загрузку процессора, пропускную способность памяти и канала.


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

  • Т – время прогрева кэша в секундах
  • I – значение IOPS для HDD при случайном доступе
  • S – размер блока ввод/вывода
  • D – количество HDD
  • C – полный объем SSD
  • P - populate-on-read threshold или populate-on-write threshold

Тогда T = (C*P) / (I*S*D)
Для примера: 16 дисков с 250 IOPS, один SSD 480ГБ в качестве кэша, характер нагрузки – web-сервисы (64КБ) и populate-on-read threshold = 2.
Тогда время прогрева будет Т = (480ГБ*2) / (250*64КБ*16) ≈ 3932 сек ≈ 65.5 мин

Тестирование

Для начала рассмотрим процесс создания SSD-кэша

  1. После создания виртуального диска нажмите ↓, затем Set SSD Caching
  2. Выберите Enable
  3. Выберите конфигурацию из ниспадающего списка
  4. Нажмите Select Disks и выберите SSD, которые будут использоваться в качестве кэша
  5. Нажмите ОК

Ограничения

  • Только SSD могут использоваться в качестве кэша
  • SSD может быть назначен только одному виртуальному диску в каждый момент времени
  • Поддерживается до 8 SSD на один виртуальный диск
  • Поддерживается общий объем до 2.4ТБ SSD на систему
  • Для SSD-кэширования требуется лицензия, которая приобретается отдельно от системы

Результаты

Тестовая конфигурация:

  • HDD Seagate Constellation ES ST1000NM0011 1TB SATA 6Gb/s (x8)
  • SSD Intel SSD DC3500, SSDSC2BB480G4, 480GB, SATA 6Gb/s (x5)
  • RAID 5
  • I/O Type Database Service (8KB)
  • I/O pattern 8KB, random read 90% + write 10%
  • Virtual disk 2TB

Согласно формуле время прогрева кэша T = (2ТБ*2) / (244*8КБ*8) ≈ 275036 сек ≈ 76.4 ч




Традиционными способами ускорения ПК считаются апгрейд или разгон процессора и видеокарты, а также расширение объема оперативной памяти. При этом зачастую без внимания остается не менее важная часть компьютера — дисковая подсистема. Ее скорость влияет на быстродействие ПК не менее чем мощный CPU или пара лишних гигабайт ОЗУ — как-никак, если жесткий диск «тормозит», все сверхскоростные компоненты будут вынуждены терпеливо ждать его, а вместе с ними — и пользователь.

Способов ускорения дисковой подсистемы до недавнего времени было фактически три: замена HDD более быстрой моделью, сборка RAID-массива или переход на SSD, и у каждого из этих подходов есть свои недостатки. С выходом чипсета Intel Z68 процессорный гигант предложил пользователям ПК еще один путь — промежуточное кэширование данных, с которыми активно работает система, на небольшом SSD. Технология получила название Smart Response. К слову, мы не зря уточнили, что Intel предложила эту технологию именно для ПК: на самом деле SSD-кэширование было предложено еще в 2009 году компанией Adaptec для высокоуровневых серверных тяжелонагруженных RAID-массивов (Adaptec MaxIQ), а затем подобные решения представили и другие игроки рынка enterprise-СХД. Что характерно, как в корпоративном сегменте за первопроходцем последовали конкуренты, так и в пользовательском произошло то же самое, и сегодня мы рассмотрим один из аналогов Intel Smart Response на примере твердотельного накопителя OCZ Synapse Cache. Преимущество подобных гибридных систем над жесткими дисками очевидно: часто используемые данные переносятся на радикально более быстрый SSD. А относительно самостоятельных твердотельных накопителей эта модель использования более выгодна за счет того, что не приходится жертвовать емкостью — как-никак, стоимость гигабайта у SSD и HDD пока различается на порядок.

Участники тестирования

В качестве «точки отсчета» для оценки производительности традиционного жесткого диска будет выступать Western Digital VelociRaptor WD1500HLHX.

WD VelociRaptor


Это младшая 150-гигабайтная модель из последнего поколения «рапторов», отличающаяся поддержкой SATA 6 Гбит/с и буфером емкостью 32 МБ. Как и у всего семейства «хищников» WD, ключевая особенность данного диска — скорость вращения шпинделя 10000 об/мин и форм-фактор 2,5" (хотя физически HDD установлен на крупный 3,5-дюймовый радиатор). За счет большей частоты вращения и меньшего размера пластин достигается рост линейной скорости и, в особенности, снижение времени доступа по сравнению с традиционными моделями на 7200 об/мин, не говоря уже о более медленных «зеленых» сериях. В итоге мы получаем самый быстрый из доступных на рынке SATA-накопителей для ПК и рабочих станций.

Вторым участником тестирования станет массив RAID-0 из двух VelociRaptor — посмотрим, какие дивиденды приносит простое приобретение второго диска к уже имеющемуся и сборка массива на чипсетном контроллере.

Третье устройство в тесте — SSD-накопитель OCZ Vertex 3 Max IOPS емкостью 120 ГБ.


На сегодняшний день это, фактически, самый быстрый твердотельный накопитель среди устройств в форм-факторе 2,5" (маргинальные устройства с интерфейсами PCI Express x4 и HSDL в расчет брать не будем). SSD основан на топовой модификации контроллера SandForce второго поколения — SF-2281, использует 25-нанометровую память NAND производства Micron. Заявленная производительность составляет 550 МБ/с при линейном чтении, 500 МБ/с — при записи, время доступа — 0,1 мс. Максимальная производительность при обращении на запись 4-килобайтными блоками со случайной адресацией — до 85000 IOPS.

Четвертым и пятым участниками тестирования станут гибридные конфигурации Intel Smart Response из одиночного WD VelociRaptor в тандеме с OCZ Vertex 3 Max IOPS. Отличаться они будут лишь режимами работы кэширования. Что такое Intel Smart Response? Как мы уже упоминали выше, ее суть сводится к кэшированию на SSD активно используемых данных с жестких дисков (которые, как бы они ни были быстры и совершенны, в разы уступают твердотельным по ряду параметров). Система в фоновом режиме анализирует, к каким файлам ОС и ПО пользователя обращаются наиболее часто, и перемещает их на SSD-накопитель. К сожалению, маркетологи Intel не дают возможности воспользоваться этой опцией всем пользователям платформы компании — Smart Response доступна только на чипсете Z68. Для работы в составе подобных гибридных массивов компания предлагает собственный SSD Intel 311 (Larson Creek), оптимизированный специально для этих целей (он основан на SLC-чипах, которые стоят на порядок больше MLC, но и «живут» значительно дольше). К счастью, хотя бы тут ограничений нет, потому мы используем обычный OCZ Vertex 3.

Настройка Intel Smart Response

Процедура настройки Intel Smart Response довольно проста, хотя и не лишена «подводных камней». Первая сложность, с которой может столкнуться пользователь уже собранной и работающей системы, пожелавший ускорить свой HDD, — необходимость перевести контроллер в режим RAID. Естественно, без некоторых ухищрений безболезненно это проделать не удастся — ОС перестанет загружаться. Решается проблема либо заменой драйверов стандартными от Microsoft и правкой реестра, либо «инъекцией» драйверов RAID через установщик Windows 7 или Acronis True Image Plus Pack.

Вторая сложность — после вышеописанных процедур управляющая утилита Intel Rapid Storage все равно не отображает возможность организации Smart Response. Проблема решается переустановкой драйверов (и, вероятно, в будущем будет исправлена в новой версии пакета).

Создаем гибридный массив Intel Smart Response


Статус созданного массива


Итак, после установки в систему SSD в центре управления Intel Rapid Storage появляется вкладка Accelerate (ускорить), в которой можно выбрать, какой объем SSD мы хотим отдать под кэширование (13,6 ГБ или максимально возможные 64 ГБ), и в каком режиме будет работать Smart Response — улучшенном (Enhanced) или максимальном (Maximum). Отличаются они характером кэширования: улучшенный подразумевает буферизацию только тех данных, к которым производятся активные запросы на чтение (исполняемые файлы, библиотеки и т.п.), а максимальный кэширует еще и операции записи. Соответственно, значительно ускорится и работа со всевозможными временными файлами, контейнерами (например, scratch-файлом Adobe Photoshop или каталогом Lightroom), но в случае отключения питания или выхода SSD из строя данные неизбежно будут потеряны, т.к. физически, пока к ним не прекратится активный доступ, они не будут перенесены на HDD.

Если же настройку Smart Response предполагается осуществить с нуля, и потом ставить на гибридный массив ОС, то процедуру можно произвести и в конфигурационном меню дискового контроллера, которое выводится сразу после POST.

Оставшаяся часть SSD доступна пользователю


Отметим, что неиспользуемая технологией Smart Response часть SSD остается доступной пользователю — на нее можно установить, например, программное обеспечение.

Наконец, шестой участник — OCZ Synapse Cache емкостью 120 ГБ.


От собрата под маркой Vertex (как и от серии Agility) он, фактически, отличается лишь прошивкой.

OCZ Synapse Cache


Основой данного накопителя все так же является SandForce SF-2281, однако firmware этой модели, в первую очередь, ориентирована на долговечную работу. Для этого степень over-provisioning (резервирования ячеек для подменного фонда на случай их постепенного выхода из строя) составляет целых 50%.

Плата накопителя


Фактически, у 120-гигабайтной модели доступны для работы только 60 ГБ, а у младшей модификации емкостью 60 ГБ — всего 30. Очевидно, что использовать Synapse Cache в качестве обычного SSD нет никакого смысла.

Задняя крышка


Изменения в прошивку внесены неспроста. Synapse Cache предназначен для работы с лицензированной OCZ утилитой Dataplex от американской компании NVELO. Как и драйвер Intel Rapid Storage, эта утилита «на лету» анализирует все дисковые операции, происходящие на компьютере, и в фоновом режиме переносит «горячие» данные на SSD. Однако, есть и отличия: во-первых, после ее установки SSD полностью пропадает из системы и становится недоступен пользователю. Во-вторых, Dataplex не требует работы в режиме RAID и, следовательно, совместима и с материнскими платами, контроллеры HDD которых не поддерживают эту технологию. Основной же «плюс» этого решения — полная совместимость со всеми чипсетами, а не только с Intel Z68.

К сожалению, без ограничений не обошлось: Dataplex работает только в Windows 7 и на данный момент не поддерживает жесткие диски емкостью свыше 2 ТБ (что планируется исправить до конца года). Кроме того, кэширует он только обращения к системному HDD, таким образом, если вы хотите установить ПО или игры на другой жесткий диск, они «ускоряться» не будут.

Особенность технологии в том, что она всегда кэширует и чтение, и запись данных. Безопасного промежуточного режима вроде Enhanced в Smart Response у нее нет. Естественно, это заставляет опасаться за сохранность пользовательских данных, однако поэтому-то у OCZ Synapse Cache и 50% резервной области, а не 6,25%, как у Vertex 3.

Прелесть Dataplex в невероятной простоте ее настройки: нужно лишь подключить SSD, загрузить с сайта OCZ утилиту (предварительно зарегистрировавшись), установить ее, введя код, расположенный на инструкции к накопителю и его корпусе, и перезагрузить ПК. Всё.

Вот и вся конфигурационная утилита


Поразительно, но больше никаких манипуляций производить не надо, никаких настроек у системы нет, и они не нужны. В меню «Пуск» есть только утилита проверки состояния Dataplex, которая бодро рапортует о том, что кэширование активно.

Что же, посмотрим, что окажется лучше.
Методика тестирования

Тестирование проводилось на тестовом стенде следующей конфигурации:

  • материнская плата: Sapphire Pure Platinum Z68 (Intel Z68 Express);
  • процессор: Intel Core i3-2100;
  • оперативная память: Kingston KVR1333D3N9 (2x2 ГБ, DDR3-1333);
  • видеокарта: Palit GeForce GTX 480;
  • накопители: WD VelociRaptor WD1500HLHX x2, OCZ Vertex 3 Max IOPS 120 GB, OCZ Synapse Cache 120 GB;
  • монитор: LG W3000H;
  • блок питания: Huntkey X7-900 (900 Вт);
  • операционная система: Microsoft Windows 7 Ultimate x64, Intel RST Driver 10.8.0.1003.
Использовался следующий набор тестовых приложений:
  • CrystalDiskMark 3.0.1 x64 — синтетическая оценка линейной скорости накопителя, скоростей в многопоточном режиме с глубиной очереди 64 запроса, при случайном доступе блоками по 4 КБ, а также времени доступа;
  • AS SSD Benchmark 1.6.4237.30508 — синтетическая оценка линейной скорости накопителя, скоростей в многопоточном режиме с глубиной очереди 64 запроса, при случайном доступе блоками по 4 КБ, а также времени доступа;
  • HD Tune 5.0 — снятие диаграммы линейного чтения с накопителей;
  • Futuremark PCMark Vantage HDD Suite — набор тестовых трасс, эмулирующих работу пользователя в наиболее популярных типах приложений;
  • Futuremark PCMark 7 System Storage — аналогично PCMark Vantage, представляет собой набор тестовых трасс, ориентированный на оценку системного накопителя ПК;
  • Retouch Artists Photoshop Benchmark — автоматизированный набор фильтров для Adobe Photoshop, предназначенный для оценки быстродействия ПК;
  • DriverHeaven Photoshop Benchmark — аналогичный предыдущему набор фильтров для Adobe Photoshop;
  • PPBM5 — бенчмарк для Adobe Premiere CS5, представляющий собой проект из трех различных видеорендеров, один из которых критичен к производительности жесткого диска.
Также оценивались:
  • время запуска ОС с помощью утилиты BootRacer (фиксирует время между стартом ядра ОС и полной загрузкой всех служб и программ в автозагрузке);
  • время запуска ОС с помещенными в автозагрузку Microsoft Word, Excel и PowerPoint 2010, открывающими текстовый документ размером 4,2 МБ (4208 страниц), таблицу размером 50,6 МБ (65187 строк) и презентацию размером 72 МБ (69 слайдов), соответственно;
  • время запуска тестовой сцены Crysis 2 в режиме DirectX 11 с High Resolution Texture Pack (от нажатия Start в Adrenaline Crysis 2 Benchmark Tool до старта сцены);
  • время запуска тестовых сцен S.T.A.L.K.E.R. Call of Pripyat Benchmark (сумма времен от появления заставки игры до начала тестовой сцены).
Все тесты проводились 5 раз для того, чтобы дать возможность всем кэширующим алгоритмом добиться максимальной производительности.

CrystalDiskMark

WD VelociRaptor WD1500HLHX


2x WD VelociRaptor RAID-0









Первый синтетический тест сразу, ожидаемо, отдает предпочтение SSD-накопителям, и это неудивительно: устройства на базе мощнейших контроллеров SandForce второго поколения могут похвастать не только минимальным временем доступа (что и является основным козырем твердотельных накопителей), но и огромными показателями линейных скоростей. В результате OCZ Vertex 3 с огромным отрывом опережает WD VelociRaptor и RAID-0 на его базе. Однако есть и интересные результаты: во-первых, заметно, что Intel Smart Response имеет довольно значительные накладные расходы. В частности, в режиме Enhanced мы наблюдаем великолепный прирост производительности в режиме чтения, однако показатели при записи оказываются даже ниже относительно одиночного жесткого диска при линейном доступе. Еще больше сказывается переход в режим Maximized: система теряет еще 40 МБ/с при чтении, однако скорость записи, естественно, несравнимо вырастает, особенно на мелких блоках. Правда, в линейном доступе Smart Response не может сравниться даже с RAID-0 из «рапторов», не то что с одиночным OCZ Vertex 3. Однако тут нужно понимать, что в данном случае запись происходит не на сам SSD, а «сквозь» него на жесткий диск, и наблюдаемый прирост — это усредненное значение, полученное за счет резких всплесков скорости при записи на твердотельный накопитель.

Второе интересное наблюдение: система с OCZ Synapse Cache в синтетическом тесте значительно уступает обоим режимам Intel SRT. По линейным скоростям она сравнима с RAID-0, а при работе с мелкими блоками уступает Intel SRT вплоть до 50%. Сложно сказать, чем объясняются такие результаты: с одной стороны, в синтетических тестах подобные алгоритмы кэширования и должны вмешиваться как можно меньше, чтобы не изнашивать ячейки NAND, с другой, вряд ли NVELO удалось разработать более «умный» алгоритм, чем Intel. Вполне вероятно, просто сказываются накладные расходы на обработку шквала запросов, которые генерируют CrystalDiskMark и аналогичные утилиты, и у Dataplex они оказываются выше, чем у Intel Smart Response.

AS SSD Benchmark


WD VelociRaptor WD1500HLHX



2x WD VelociRaptor RAID-0






WD VelociRaptor + OCZ Vertex 3 Max IOPS (Intel SRT Enhanced)



WD VelociRaptor + OCZ Vertex 3 Max IOPS (Intel SRT Maximized)



WD VelociRaptor + OCZ Synapse Cache


Несмотря на однотипность утилит CrystalDiskMark и AS SSD Benchmark, они основаны на разных алгоритмах тестирования, в частности, последняя оценивает быстродействие SSD намного более скрупулёзно, и суммарный объем записываемых на них данных доходит до 3 ГБ за один проход. В результате мы получаем довольно интересную картину.

Обратите внимание на занимательные показатели прироста производительности при переходе от одного HDD к RAID-0. В режиме линейного чтения и записи он, как и ожидается, составляет около 80—90%. Однако при нагрузке массива мелкими запросами в многопоточном режиме он начинает работать более чем вдвое быстрее одиночного диска! Объяснение этому простое: логика драйвера Intel Rapid Storage отлично справляется с кэшированием, а отлаженные прошивки VelociRaptor успешно переупорядочивают очередь запросов. Эти HDD разрабатываются именно для работы в таких условиях, и неудивительно, что их потенциал лучше раскрывается именно в RAID, а не в одиночном режиме.

Отметим, что AS SSD, в отличие от CrystalDiskMark, не обнаруживает значительного падения скорости чтения в режиме Intel SRT Maximized относительно режима Enhanced, хотя оба они работают примерно на 20% медленнее самостоятельного SSD. Также интересно, что в режиме Enhanced поток запросов AS SSD на чтение не полностью переносится на кэширующий твердотельный диск: в паттерне 4K 64Thrd (доступ блоками по 4 КБ со случайной адресацией в 64 одновременных потока) в этом режиме массив демонстрирует 18200 IOPS против 45500 IOPS в режиме Maximized.

Что касается OCZ Synapse Cache, то с ним показатели сохраняются — он почти вдвое медленнее при чтении, чем Intel SRT, однако с записью (в особенности многопоточной) справляется намного лучше. Вероятнее всего, тут снова сказываются особенности работы Dataplex: с одной стороны, этот алгоритм менее активно кэширует запросы на чтение, с другой — лучше справляется с записью.

HD Tune

WD VelociRaptor WD1500HLHX


2x WD VelociRaptor RAID-0



WD VelociRaptor + OCZ Vertex 3 Max IOPS (Intel SRT Enhanced)


WD VelociRaptor + OCZ Vertex 3 Max IOPS (Intel SRT Maximized)


WD VelociRaptor + OCZ Synapse Cache


Наконец, изучение графиков чтения всех шести вариантов подсистем хранения данных, рассматриваемых нами, дает примерное представление, почему предыдущие два теста вели себя так необычно. Как видно на графиках обоих режимов Intel SRT, при обращении к HDD на чтение в линейном режиме драйвер начинает что-то делать, вероятнее всего, активно кэшировать хранимые по выбираемым тестовым приложением адресам данные. В итоге мы наблюдаем заметный «провал» в скорости. Как только занятое пространство заканчивается (а в нашем случае резкий скачок на графике до нормального уровня как раз примерно приходится на границу занятой ОС и тестовым пакетом области) — все приходит в норму. Кроме того, график чтения системы с одиночным OCZ Vertex 3 также показывает, что этот SSD в фоновом режиме очень активно проводит служебные операции над занятой зоной.

График чтения системы с OCZ Synapse Cache вообще объяснению не поддается, судя по всему, характер обращений HD Tune просто непонятен Dataplex. Фактически при используемом HD Tune формате доступа к HDD (линейно блоками по 1 МБ) Dataplex даже снижает производительность относительно чистой скорости, обеспечиваемой жестким диском.
Futuremark PCMark Vantage HDD Suite










PCMark Vantage в первую очередь критичен к времени доступа накопителя на чтение, потому OCZ Vertex 3 тут занимает доминирующую позицию. Аналогично это сказывается и на результатах RAID-массива из двух WD Velociraptor: несмотря на выросшую вдвое скорость линейного чтения и записи и более чем вдвое — скорость случайной записи, результаты у этой конфигурации лишь на 400 баллов выше, чем у одиночного «раптора». По той же причине и массив Smart Response Maximized лишь ненамного превосходит конфигурацию Enhanced — большинство операций, проводимых тестовым пакетом, направлены на чтение. Отметим, что в общем зачете OCZ Synapse Cache отстает от Intel SRT лишь на 10% — значительно меньше, чем в синтетических тестах.

Интересно, что Dataplex справляется с подтестами Windows Media Center, Windows Media Player и загрузкой приложений лучше, чем Intel SRT в режиме Enhanced — это прямое свидетельство преимущества, получаемого от кэширования операций записи. В то же время в Windows Photo Gallery и Windows Defender альтернативная технология безнадежно проигрывает, за счет чего и оказывается позади решения Intel.

Также отметим, что в PCMark Vantage мы столкнулись со странным поведением OCZ Synapse Cache, или, скорее, технологии Dataplex. После первого прохода тестов последующие неизбежно показывали очень низкие результаты, причем систему проследить оказалось невозможно: за один проход массив мог получить 15000 баллов, за второй — 7000, а за третий и вовсе 3000. Вернуть показатели до ожидаемых 30000 удавалось только повторным проходом любого из синтетических тестов (перезагрузка не помогала). Очевидно, что в данном случае мы имеем локальную недоработку ПО, которую, вполне вероятно, NVELO ее исправит в следующем релизе. Впрочем, ни в одном другом тесте такое поведение на обнаруживалось, так что можно считать это единичным случаем, не влияющим на общий результат.

Futuremark PCMark 7 System Storage Suite









Переработанный тестовый пакет PCMark Vantage 7 System Storage Suite еще больше полагается на время доступа, однако и линейной скорости уделяется несколько больше внимания при подсчете конечного результата. В итоге RAID-массив уже опережает одиночный HDD не на 5%, а на целых 20%. В то же время значительно меньшая скорость линейного чтения, показываемая OCZ Synapse Cache относительно Intel Smart Response, оказывает этой технологии медвежью услугу: она получает на 45% меньший результат, нежели SRT в режиме Maximized. Если смотреть результаты в каждом из тестов, то видно, что абсолютно везде Dataplex значительно уступает не только OCZ Vertex 3 Max IOPS, но и обоим режимам Intel Smart Response, в то время как в PCMark Vantage эта технология у них иногда выигрывала.

Время запуска ОС

Run 1 Run 2 Run 3 Run 4 Run 5
WD1500HLHX 28 25 20 20 20
2x WD1500HLHX RAID-0 31 20 17 17 17
OCZ Vertex 3 Max IOPS 120 GB 12 12 9 9 9
31 14 13 10 10
24 9 10 9 9
27 11 11 11 11

Переходим от специализированных тестов к оценке того, что же дает применение каждого из тестируемых сегодня вариантов в реальной жизни. Первым будет загрузка ОС Windows 7 SP1 64-бит. Замер производился при пяти последовательных перезагрузках.

Как видим, Microsoft постаралась минимизировать влияние медленной дисковой подсистемы в условиях, когда пользователь запускает один и тот же набор ПО: уже на второй загрузке технологии Windows Prefetcher и SuperFetch, перемещающие наиболее активно используемые исполняемые файлы и библиотеки в начало диска (наиболее быструю его часть) и автоматически загружающие их в ОЗУ при старте, обеспечивают снижение времени старта на 12% для одиночного WD VelociRaptor и 55% (!) — для RAID-0. К третьему рестарту они уже достигают своей максимальной эффективности, и время сокращается еще сильнее — на 40% и 82%, соответственно!

Переход с HDD на SSD, ожидаемо, очень сильно снижает время загрузки — с OCZ Vertex 3 Max IOPS Windows 7 стартует всего за 12 секунд, а после того как SuperFetch «выкинет» из предзагрузки все лишнее — и вовсе за 9. И вот тут приходит время удивляться быстродействию гибридных массивов: как видим, первый запуск системы оказывается примерно таким же, как и с HDD, однако уже на второй раз время старта снижается радикально. Что интересно, минимального значения системы Intel SRT Maximized и Dataplex достигают уже на втором перезапуске, а Enhanced для этого требуются три старта.

Время запуска ОС и пакета MS Office

Run 1 Run 2 Run 3 Run 4 Run 5
WD1500HLHX 60 62 29 23 26
2x WD1500HLHX RAID-0 29 26 28 28 31
OCZ Vertex 3 Max IOPS 120 GB 14 15 12 15 13
WD1500HLHX + OCZ Vertex 3 SR Enhanced 21 16 12 19 12
WD1500HLHX + OCZ Vertex 3 SR Maximized 20 21 15 15 15
WD1500HLHX + OCZ Synapse Cache 128 GB 31 14 16 17 13

Добавление в автозагрузку «тяжелых файлов» Microsoft Word, Excel и PowerPoint значительно увеличивает время загрузки ОС, и тем явнее становится эффект от кэширования. Как видим, одиночный HDD при третьем рестарте получает более чем двукратный прирост быстродействия от SuperFetch и Prefetcher, в то время как на RAID-0 эти технологии вообще не сказываются, в отличие от загрузки чистой системы. Очевидно, в случае двух VelociRaptor операционная система со всем ПО и так умещается на наиболее скоростных внешних дорожках пластин, и технологии Microsoft просто уже не могут сделать загрузку быстрее.

Аналогичная ситуация наблюдается и с OCZ Vertex 3: все пять проходов этого теста демонстрируют примерно одинаковое время загрузки, хотя и наблюдаются колебания в пределах трех секунд. В целом же Vertex 3 Max IOPS вдвое быстрее RAID-0 и вчетверо — одиночного WD VelociRaptor.

На фоне предыдущих трех участников особенно эффектно выглядят гибридные массивы. Intel SRT Enhanced уже при первом же запуске показывает меньшее время, чем одиночный HDD (очевидно, часть компонентов ОС и ПО дублируются, и перенос их на SSD уже дает прироста скорости), а при третьем — достигает максимальной производительности, идентичной OCZ Vertex 3. Впрочем, как и с одиночным SSD, у этой конфигурации наблюдаются колебания от прохода к проходу аж до 7 секунд. Аналогичная ситуация наблюдается и с Dataplex: массив с OCZ Synapse Cache загружает ОС и офисный пакет на пару секунд медленнее, нежели Intel SRT, и его показатели тоже не отличаются стабильностью. Единственной конфигурацией, порадовавшей повторяемостью результатов, стала Intel Smart Response Maximized — третий рестарт она прошла за 15 секунд и в дальнейшем не замедлялась ни разу.

PPBM5 (Adobe Premiere Pro CS5) Disk Test

Run 1 Run 2 Run 3 Run 4 Run 5
WD1500HLHX 142 142 144 143 142
2x WD1500HLHX RAID-0 135 135 134 134 134
OCZ Vertex 3 Max IOPS 120 GB 136 135 133 133 133
WD1500HLHX + OCZ Vertex 3 SR Enhanced 139 135 136 136 136
WD1500HLHX + OCZ Vertex 3 SR Maximized 138 145 141 137 136
145 135 136 137 143

Дисковый тест из бенчмарка PPBM5 представляет собой рендеринг 13-гигабайтного ролика AVI из большого числа исходных файлов, что должно обеспечивать большую нагрузку на дисковую подсистему. На практике же мы видим, что в основном он критичен к пропускной способности диска: все конфигурации, достигающие около 250 МБ/с в линейном режиме, справляются с рендерингом за примерно одинаковое время. Отстают от лидеров лишь одиночный WD VelociRaptor (что естественно) и гибридный массив с OCZ Synapse Cache, который, как мы уже видели по синтетическим тестам, оказывается значительно медленнее Intel SRT и OCZ Vertex 3 по скорости линейного чтения.

Retouch Artists Photoshop Benchmark (Adobe Photoshop CS5 Extended)

Run 1 Run 2 Run 3
WD1500HLHX 21,5 21,8 21,2
2x WD1500HLHX RAID-0 19,5 19,7 19,6
OCZ Vertex 3 Max IOPS 120 GB 22,4 20 20,8
WD1500HLHX + OCZ Vertex 3 SR Enhanced 20,7 20,8 20,8
WD1500HLHX + OCZ Vertex 3 SR Maximized 21,2 20,4 20,2
WD1500HLHX + OCZ Synapse Cache 120 GB 20,6 20,2 20,9

Этот тест представляет собой набор фильтров и операций, автоматически применяемых к тестовому изображению. Как видно из таблицы, все шесть конфигураций справляются с ним примерно одинаково быстро, с разрывом примерно в 1,5 секунды. Отметим, что в данном случае количество проходов теста на скорости никак не сказывается (для проверки он специально был проведен на Intel Smart Response Maximized 10 раз — безрезультатно).

HardwareHeaven Photoshop Benchmark (Adobe Photoshop CS5 Extended)

Run 1 Run 2 Run 3
WD1500HLHX 200,6 201,2 200,5
2x WD1500HLHX RAID-0 187,9 187,7 188,1
OCZ Vertex 3 Max IOPS 120 GB 198 197,5 198,4
WD1500HLHX + OCZ Vertex 3 SR Enhanced 198,2 197,9 198,2
WD1500HLHX + OCZ Vertex 3 SR Maximized 199,2 198,5 198,3
WD1500HLHX + OCZ Synapse Cache 128 GB 198,8 198,1 198,3

Как и предыдущий тест, этот набор фильтров и операций (хоть и значительно более сложный и ресурсоемкий) не получает прироста производительности от SSD-кэширования. Из всех участников стоит выделить только двоих: одиночный WD VelociRaptor оказывается заметно медленнее всех других конфигураций (хотя «заметно» — это всего 3 секунды), а вот RAID-0 неожиданно намного опережает и гибридные конфигурации, и даже SSD. Учитывая, что по всем скоростным параметрам он должен им уступать, единственное логичное объяснение этому факту — больший объем, используемый Photoshop для scratch-файла (во всех конфигурациях ему отводилось все свободное пространство).

Crysis 2

Run 1 Run 2 Run 3 Run 4 Run 5
WD1500HLHX 64 62 63 40 39
2x WD1500HLHX RAID-0 52 40 41 40 39
OCZ Vertex 3 Max IOPS 120 GB 45 39 39 42 38
WD1500HLHX + OCZ Vertex 3 SR Enhanced 55 49 48 41 40
WD1500HLHX + OCZ Vertex 3 SR Maximized 57 39 40 40 39
WD1500HLHX + OCZ Synapse Cache 120 GB 67 44 39 40 41

Наконец, перейдем к играм. Crysis 2 с набором текстур высокого разрешения занимает 12,5 ГБ на диске и грузится довольно долго. Судя по минимальным результатам, показываемым всеми шестью конфигурациями в тесте, наш стенд способен запускать бенчмарк примерно за 40 секунд, однако тут есть оговорки.

Во-первых, в реальных условиях скорость диска влияет на время загрузки уровней и локаций, что игрок делает не раз в минуту (если его, конечно, не убивают постоянно в одном и том же месте). Следовательно, преимущества SuperFetch, наблюдаемые нами на примере VelociRaptor и RAID-0, чаще всего будут не так заметны — за время игры от уровня к уровню с диска будет считано достаточно данных, чтобы предзагрузчик «загрязнил» этот кэш, и он не показал максимальной эффективности. С гибридными комбинациями такая ситуация произойти не должна, т.к. объем буферного SSD будет достаточен для всего, что будет происходить. Особенно значительный прирост будет наблюдаться в случае дублирования элементов между локациями: тогда первая загрузка займет, к примеру, 30 секунд, а вторая вполне может произойти и за 10.

Возвращаясь к нашим результатам, видим, что ко второй загрузке максимальной эффективности достигают RAID-0, Intel SRT в режиме Maximized и, естественно, OCZ Vertex 3. OCZ Synapse Cache показывает заветные 40 секунд при третьем перезапуске, а Intel SRT Enhanced и одиночный WD VelociRaptor — при четвертом.

S.T.A.L.K.E.R. Call of Pripyat

Run 1 Run 2 Run 3 Run 4 Run 5
WD1500HLHX 123 126 121 121 124
2x WD1500HLHX RAID-0 113 97 97 98 97
OCZ Vertex 3 Max IOPS 120 GB 104 98 99 98 99
WD1500HLHX + OCZ Vertex 3 SR Enhanced 118 99 102 101 100
WD1500HLHX + OCZ Vertex 3 SR Maximized 117 99 100 99 101
WD1500HLHX + OCZ Synapse Cache 120 GB 150 99 99 98 100

Как и в случае с Crysis 2, S.T.A.L.K.E.R. Call of Pripyat от ускорения дисковой подсистемы масштабируется не слишком хорошо: минимальное суммарное время загрузки всех четырех тестов в этом бенчмарке составляет около 97—98 секунд. Тем не менее, эффект от кэширования заметен и тут, причем в полной мере достигается он уже при втором запуске всех систем, кроме одиночного WD VelociRaptor. В отличие от других участников теста, этот жесткий диск не получает прибавки в скорости от систем кэширования Windows и уступает более быстрым системам порядка 25 секунд. Отдельно подчеркнем, что гибрид с OCZ Synapse Cache справился с этим тестом ничуть не хуже Intel Smart Response.

Выводы

Быстрая дисковая подсистема не менее важна, чем разогнанный процессор или мощная видеокарта. Более того, разогнать ее нельзя — можно лишь заменить или дополнить. С появлением гибридных технологий вроде Intel Smart Response и NVELO Dataplex пользователи получили новую возможность повысить производительность ПК, и, как показывает тестирование, в большинстве случаев она оказывается отнюдь не компромиссом. Бесспорно, одиночный SSD обеспечивает более высокую производительность, чем «гибриды», однако его стоимость при ограниченной емкости не позволяет большинству пользователей устанавливать всё, что душе угодно, не обращая внимания на объем данных. Учитывая, что современные игры или профессиональное ПО с легкостью могут занять десяток-другой гигабайт, SSD наиболее популярной емкости в 120 ГБ хватит всего на 8—10 таких инсталляций. В то же время гибридный массив из скоростного жесткого диска и SSD на 60 ГБ обойдется примерно в такую же сумму, однако будет несравнимо более комфортным в использовании, хоть и немного более медленным.

Возвращаясь к сегодняшнему тестированию, можно сделать вывод, что Intel Smart Response на данный момент превосходит разработки других компаний по эффективности. NVELO Dataplex, используемая OCZ для своих SSD Synapse Cache, также хорошо справляется со своими задачами, однако заметно уступает разработке Intel. Впрочем, судя по тому, что в некоторых случаях она все же вырывается вперед, речь идет не о фундаментальном недостатке, а о банальном несовершенстве ПО, которое, как известно, можно исправить и улучшить. Учитывая, что NVELO в первую очередь позиционирует Dataplex как решение для серверных систем, в активном развитии программной части можно не сомневаться.

И, наконец, сравнивая Intel Smart Response и OCZ Synapse Cache, можем сказать лишь одно: их сравнивать попросту не нужно. Smart Response работает только на Intel Z68, и на этом чипсете организация именно этого массива будет лучшим решением. На всех других платформах такой возможности попросту нет, и там Synapse Cache будет великолепным способом получить отзывчивость системы с SSD, не жертвуя емкостью HDD.

Оборудование для тестирования было предоставлено следующими компаниями:

  • Серверная оптимизация ,
  • Системное администрирование ,
  • Хранение данных ,
  • Хранилища данных
  • В статьях про СХД из "конспекта админа" практически не рассматривались технологии софтовой организации дискового массива. Кроме того, за кадром остался целый пласт относительно дешевых сценариев ускорения хранилищ с помощью твердотельных дисков.


    Поэтому в этой статье рассмотрю три неплохих варианта использования SSD-дисков для ускорения подсистемы хранения.

    Почему просто не собрать массив из SSD – немного теории и рассуждений на тему

    Чаще всего твердотельные накопители рассматривают просто как альтернативу HDD, с большей пропускной способностью и IOPS. Однако, такая замена "в лоб" часто стоит слишком дорого (брендовые диски HP, например, стоят от $2 000), и в проект возвращаются привычные накопители SAS. Как вариант, быстрые диски просто используются точечно.


    В частности, удобным выглядит использование SSD для системного раздела или для раздела с базами данных – с конкретным выигрышем в производительности можно ознакомится в . Из этих же сравнений видно, что при использовании обычных HDD узким местом является производительность диска, а в случае SSD сдерживать будет уже интерфейс. Поэтому замена одного лишь диска не всегда даст такую же отдачу, как комплексный апгрейд.


    В серверах используют SSD с интерфейсом SATA, либо более производительные SAS и PCI-E. Большинство представленных на рынке серверных SSD с интерфейсом SAS продаются под брендами HP, Dell и IBM. К слову, даже в брендовых серверах можно использовать диски OEM-производителей Toshiba, HGST (Hitachi) и других, которые позволяют сделать апгрейд максимально дешевым при схожих характеристиках.


    С широким распространением SSD был разработан отдельный протокол доступа к дискам, подключенным к шине PCI-E – NVM Express (NVMe). Протокол разработан с нуля и значительно превосходит своими возможностями привычные SCSI и AHCI. С NVMe обычно работают твердотельные диски с интерфейсами PCI-E, U.2 (SFF-8639) и некоторые M.2, которые быстрее обычных SSD более чем вдвое . Технология относительно новая, но со временем она обязательно займет свое место в самых быстрых дисковых системах.


    Немного про DWPD и влияние этой характеристики на выбор конкретной модели.

    При выборе твердотельных дисков с интерфейсом SATA следует обращать внимание на параметр DWPD, который определяет долговечность диска. DWPD (Drive Writes Per Day) – это допустимое количество циклов перезаписи всего диска в сутки на протяжении гарантийного периода. Иногда встречается альтернативная характеристика TBW/PBW (TeraBytes Written, PetaBytes Written) – это заявленный объем записи на диск на протяжении гарантийного периода. В SSD для домашнего использования показатель DWPD может быть меньше единицы, в так называемых "серверных" SSD - 10 и более.


    Такая разница возникает из-за разных типов памяти:

      SLC NAND . Самый простой тип – в каждой ячейке памяти хранится один бит информации. Поэтому такие диски надежны и обладают хорошей производительностью. Но приходится использовать больше ячеек памяти, что негативно влияет на стоимость;

      MLC NAND . В каждой ячейке хранится уже два бита информации – самый популярный тип памяти.

      eMLC NAND . То же самое что и MLC, но повышена устойчивость к перезаписи благодаря более дорогим и качественным чипам.

    • TLC NAND . В каждой ячейке хранится по три бита информации – диск максимально дешев в производстве, но обладает наименьшими производительностью и долговечностью. Чтобы компенсировать потери по скорости, для внутреннего кэша часто используется память SLC.

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


    Считается, что использование RAID совместно с SSD – не лучшая идея. Теория основывается на том, что SSD в RAID изнашиваются синхронно и в определенный момент могут выйти из строя все диски разом, особенно при ребилде массива. Однако, с HDD ситуация точно такая же. Разве что, испорченные блоки магнитной поверхности не дадут даже прочитать информацию, в отличие от SSD.

    По-прежнему высокая стоимость твердотельных накопителей заставляет задуматься об альтернативном их использовании, помимо точечной замены или использования СХД на базе одних лишь SSD.

    Расширяем кэш RAID-контроллера

    От размера и скорости кэша RAID-контроллера зависит скорость работы массива в целом. Расширить этот кэш можно с помощью SSD. Технология напоминает решение от Intel.


    При использовании подобного кэша данные, которые используются чаще, хранятся на кэширующих SSD, с которых производится чтение или дальнейшая запись на обычный HDD. Режимов работы обычно два, аналогично привычному RAID: write-back и write-through.


    В случае write-through ускоряется только чтение, а при write-back – чтение и запись.


    Подробнее об этих параметрах вы можете прочитать под спойлером.

      При настройке кэша write-through запись проводится как в кэш, так и на основной массив. Это не влияет на операции записи, но ускоряет чтение. К тому же, перебои питания или всей системы для целостности данных уже не так страшны;

    • Настройка write-back позволяет записывать данные сразу в кэш, что ускоряет операции чтения и записи. В RAID-контроллерах эту опцию можно включить только при использовании специальной страхующей энергонезависимую память батарейки, либо при использовании флэш-памяти. Если же применять в качестве кэша отдельный SSD, то проблема с питанием уже не стоит.

    Для работы обычно требуется специальная лицензия или аппаратный ключ. Вот конкретные названия технологии у популярных на рынке производителей:

      LSI (Broadcom) MegaRAID CacheCade. Позволяет использовать до 32 SSD под кэш, суммарным размером не более 512 ГБ, поддерживается RAID из кэширующих дисков. Есть несколько видов аппаратных и программных ключей, стоимость составляет около 20 000 р;

      Microsemi Adaptec MaxCache. Позволяет использовать до 8 SSD в кэше в любой конфигурации RAID. Отдельно лицензию покупать не нужно, кэш поддерживается в адаптерах серии Q;

    • HPE SmartCache в серверах ProLiant восьмого и девятого поколения. Актуальная стоимость доступна по запросу.

    Схема работы SSD-кэша предельно проста – часто используемые данные перемещаются или копируются на SSD для оперативного доступа, а менее популярная информация остается на HDD. Как итог, скорость работы с повторяющимися данными значительно возрастает.


    В качестве иллюстрации работы RAID-кэша на базе SSD можно привести следующие графики:



    StorageReview – сравнение производительности разных массивов при работе с базой данных: использованы обычные диски и их альтернатива на базе LSI CacheCade.


    Но если есть аппаратная реализация, то наверняка существует и программный аналог за меньшие деньги.

    Быстрый кэш без контроллера

    Помимо программного RAID существует и программный SSD-кэш. В Windows Server 2012 появилась интересная технология Storage Spaces, которая позволяет собирать RAID-массивы из любых доступных дисков. Накопители объединяются в пулы, на которых уже размещаются тома данных – схема напоминает большинство аппаратных систем хранения. Из полезных возможностей Storage Spaces можно выделить многоярусное хранение (Storage Tiers) и кэш записи (write-back cache).



    Storage Tiers позволяет создавать один пул из HDD и SSD, где более востребованные данные хранятся на SSD. Рекомендованное соотношение количества SSD к HDD 1:4-1:6. При проектировании стоит учитывать и возможность зеркалирования или четности (аналоги RAID-1 и RAID-5), так как в каждой части зеркала должно быть одинаковое количество обычных дисков и SSD.


    Кэш записи в Storage Spaces ничем не отличается от обычного write-back в RAID-массивах. Только здесь необходимый объем "откусывается" от SSD и по умолчанию составляет один гигабайт.

    Рассмотрим несколько различных вариантов построения дисковой подсистемы сервера с целью сравнения их по цене и быстродействию. В качестве величины полезной емкости дискового хранилища выберем значение 10TB. Во всех вариантах предполагается использование аппаратного RAID-контроллера с кэш-памятью 2GB.

    Бюджетный вариант - два жестких диска 3,5" объемом 10TB с интерфейсом SATA и скоростью вращения шпинделя 7200 об./мин., объединенных в массив RAID1. Быстродействие такого массива не превысит 500 операций в секунду (IOPS) при чтении и 250 IOPS при записи. Дополнительный плюс этого решения – возможность кратного увеличения емкости хранилища за счет добавления новых дисков в свободные отсеки дисковой корзины сервера.

    Производительный вариант - 12 HDD 2,5" 10’000RPM емкостью 1,8TB в RAID10 (RAID5 или RAID50 в два раза медленнее на операциях записи). Здесь мы получим на чтении около 5’000 IOPS, а на записи 2’500 IOPS - в 10 раз больше по сравнению с первым вариантом. Однако и обойдутся эти диски примерно в шесть раз дороже.

    Максимальное быстродействие обеспечит массив RAID10 из SSD-накопителей, например, 12 штук Intel DC S4600 1,9TB. Производительность такого массива составит 800’000 IOPS на операциях чтения и 400’000 IOPS на операциях записи, то есть быстрее второго варианта в 160 раз, но дороже по сравнению с ним в 4 раза, а с первым вариантом – в 24 раза. Выбор SSD-накопителей большего размера даст примерно такие же цифры по стоимости и немного ниже – по производительности.

    Вариант
    массива
    Чтение
    (IOPS)
    Запись
    (IOPS)
    Во сколько
    раз быстрее
    Во сколько
    раз дороже
    HDD 10TB x 2 500 250
    HDD 1,8TB x 12 5’000 2’500 X 10 X 6
    SSD 1,9TB x 12 800’000 400’000 X 1600 X 24

    В общем, чем дороже, тем быстрее. И даже скорость обгоняет цену.

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

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

    Идея SSD-кэширования основана на концепции «горячих» данных.

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

    Таким образом, в дисковой подсистеме сервера имеются блоки данных, к которым контроллер обращается значительно чаще, чем к другим блокам. Такие «горячие» блоки контроллер, поддерживающий технологию SSD-кэширования, хранит в кэш-памяти на SSD-накопителях. Запись и чтение этих блоков с SSD выполняются гораздо быстрее, чем чтение и запись с жестких дисков.

    Понятно, что разделение данных на «горячие» и «холодные» достаточно условно. Однако как показывает практика, использование для кэширования «горячих» данных даже пары SSD-накопителей небольшого объема, объединенных в массив RAID1, дает очень большой прирост производительности дисковой подсистемы.

    Технология SSD-кэширования применяется как для операций чтения, так для операций записи.

    Алгоритм SSD-кэширования реализуется контроллером, он довольно простой и не требует от администратора никаких усилий по настройке и сопровождению. Суть алгоритма в следующем.

    Когда сервер посылает контроллеру запрос на чтение блока данных

    Если да, контроллер читает блок из SSD-кэш.

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

    Когда сервер посылает контроллеру запрос на запись блока данных , контроллер проверяет, находится ли данный блок в SSD-кэш.

    Если да, контроллер записывает данный блок в SSD-кэш.

    Если нет, контроллер записывает данный блок на жесткие диски и в SSD-кэш. При следующем запросе на запись данного блока, он будет записываться только в SSD-кэш.

    Что произойдет, если при очередном запросе на запись блока, которого нет в SSD-кэш, там для него не окажется свободного места? В этом случае самый «старый» по времени обращения блок в SSD-кэш будет записан на жесткий диск, а его место займет «новый» блок.

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

    Если SSD-кэширование планируется использовать только для чтения, в качестве кэш-памяти на SSD можно использовать одиночный SSD-накопитель или массив RAID0 из SSD-накопителей, поскольку SSD-кэш будет хранить только копии блоков данных, хранящихся на жестких дисках.

    Если SSD-кэширование планируется использовать для чтения и записи, то «горячие» данные будут храниться только в кэш-памяти на SSD. В этом случае необходимо обеспечить резервирование таких данных, для чего использовать в качестве кэш-памяти два или более SSD-накопителей, объединенных в RAID-массив с избыточностью, например, RAID1 или RAID10.

    Давайте посмотрим, как технология SSD-кэширования работает на практике, а заодно сравним эффективность ее реализации на контроллерах двух разных производителей – Adaptec и LSI.

    Тестирование

    Основной дисковый массив: RAID10 из шести HDD SATA 3,5" 1TB. Полезный объем массива 2,7TB.

    SSD-кэш: RAID1 из двух SSD Intel DC S4600 240GB. Полезный объем массива 223GB.

    В качестве «горячих» данных мы использовали первые 20 миллионов секторов, то есть 9,5GB, основного массива RAID10. Выбранный небольшой объем «горячих» данных принципиально ничего не меняет, но позволяет значительно сократить время тестирования.

    Тестируемые контроллеры: Adaptec SmartRAID 3152-8i и BROADCOM MegaRAID 9361-8i (LSI).

    Нагрузка на дисковую подсистему создавалась при помощи утилиты iometer. Параметры нагрузки: размер блока 4K, случайный доступ, глубина очереди 256. Мы выбрали большую глубину очереди, чтобы сравнивать максимальные показатели производительности, не обращая внимания на время задержки.

    Производительность дисковой подсистемы фиксировались при помощи системного монитора Windows.

    Adaptec (Microsemi) SmartRAID 3152-8i с технологией maxCache 4.0

    Этот контроллер по умолчанию поддерживает технологию SSD-кэширования maxCache 4.0 и имеет 2GB собственной кэш-памяти c защитой от потери питания в комплекте.

    При создании основного массива RAID10 мы использовали установки контроллера по умолчанию.

    Массив RAID1 кэш-памяти на SSD был установлен в режим Write-Back, чтобы включить SSD-кэширование на чтение и запись. При установке режима Write-Through все данные будут записываться на жесткий диск, поэтому мы получим ускорение только на операциях чтения.

    Картина тестирования:

    График 1. Тестирование Adaptec maxCache 4.0

    Красная линия - производительность дисковой подсистемы на операциях записи.

    В первый момент наблюдается резкий всплеск производительности до значения 100’000 IOPS – данные записываются в кэш контроллера, который работает со скоростью оперативной памяти.

    После заполнения кэш производительность падает до обычной скорости массива жестких дисков (примерно 2’000 IOPS). В это время блоки данных записываются на жесткие диски, поскольку этих блоков в кэш-памяти на SSD еще нет и контроллер не считает их «горячими». Копия данных записывается в SSD-кэш.

    Постепенно все больше блоков записывается повторно, такие блоки уже есть в SSD-кэш, поэтому контроллер считает их «горячими» и записывает только на SSD. Производительность операций записи при этом достигает 40’000 IOPS и стабилизируется на этой отметке. Поскольку в SSD-кэш данные защищены (RAID1), нет необходимости перезаписывать их в основной массив.

    Отметим, кстати, что заявленная производителем скорость записи для используемых нами здесь SSD-накопителей Intel DC S4600 240GB составляет как раз 38’000 IOPS. Поскольку мы записываем один и тот же набор данных на каждый накопитель из зеркальной пары массива RAID1, можно сказать, что SSD-накопители работают на максимально возможной для себя скорости.

    Синяя линия - производительность дисковой подсистемы на операциях чтения. Левый участок – чтение данных из массива жестких дисков со скоростью примерно 2’000 IOPS, в кэш-памяти на SSD пока нет «горячих» данных. Одновременно с чтением блоков жестких дисков выполняется их копирование в кэш-память на SSD. Постепенно скорость чтения немного растет, поскольку начинают «попадаться» блоки, ранее считанные в SSD-кэш.

    После записи в SSD-кэш всех «горячих» данных их чтение выполняется оттуда со скоростью более 90’000 IOPS (второй синий участок).

    Фиолетовая линия - комбинированная нагрузка (50% чтение, 50% запись). Все операции выполняются только c «горячими» данными на SSD. Производительность в районе 60’000 IOPS.

    Резюме

    Контроллер Adaptec SmartRAID 3152-8i отлично справится с организацией SSD-кэширования. Поскольку контроллер уже включает поддержку maxCache 4.0 и защиту кэш-памяти, необходимо приобрести только SSD-накопители. Контроллер удобен и прост в настройке, установки по умолчанию обеспечивают максимальный уровень защиты данных.

    Видео с записью тестирования Adaptec maxCache 4.0:

    LSI (BROADCOM) MegaRAID 9361-8i

    Этот контроллер поддерживает технологию SSD-кэширования CacheCade 2.0. Для ее использования необходимо приобрести лицензию стоимостью около 20’000 рублей.

    Защита кэш-памяти не входит в комплект поставки, но по результатам тестирования мы выяснили, что для получения максимальных показателей производительности кэш контроллера лучше использовать в режиме Write-Through, который не требует защиты кэш.

    Установки контроллера для основного массива: кэш контроллера в режиме Write-Through; режимы чтения Direct IO, No Read Ahead.

    Кэш-память на SSD-накопителях (массив RAID1) в режиме Write-Back для кэширования операций чтения и записи.

    Картина тестирования (здесь диапазон вертикальной шкалы в два раза больше, чем у Adaptec):

    График 2. Тестирование LSI CacheCade 2.0

    Последовательность тестирования такая же, картина похожая, но производительность CacheCade 2.0 несколько выше, чем maxCache.

    На операциях записи «горячих» данных мы получили производительность почти 60’000 IOPS против 40’000 у Adaptec, на операциях чтения – почти 120’000 IOPS против 90’000 IOPS, на комбинированной нагрузке – 70’000 IOPS против 60’000 IOPS.

    Здесь нет «всплеска» производительности в начальный момент тестирования операций записи, поскольку кэш контроллера работает в режиме Write-Through и не используется при записи данных на диски.

    Резюме

    У контроллера LSI более сложная настройка параметров, требующая понимания принципов его работы. Для использования SSD-кэширования не требуется обязательное наличие защиты кэш-памяти контроллера. В отличие от Adaptec возможно использование SSD-кэш для обслуживания сразу нескольких RAID-массивов. Более высокая производительность по сравнению с контроллерами Adaptec. Требуется покупка дополнительной лицензии CacheCade.

    Видео с записью тестирования LSI CacheCade 2.0:

    Заключение

    Дополним нашу табличку. При сравнении цен учтем, что для массива в 10TB желательна кэш-память большей емкости. Цифры производительности возьмем из нашего тестирования.

    Вариант
    массива
    Чтение
    (IOPS)
    Запись
    (IOPS)
    Во сколько
    раз быстрее
    Во сколько
    раз дороже
    HDD 10TB x 2 500 250
    HDD 1,8TB x 12 5’000 2’500 X 10 X 6
    SSD 1,9TB x 12 800’000 400’000 X 1600 X 24
    HDD 10TB x 2 + SSD 960GB x 2, maxCache 90’000 40’000 X 160 X 2,5
    HDD 10TB x 2 + SSD 960GB x 2, CacheCade 120’000 60’000 X 240 X 3

    При кэшировании записи всегда используйте в качестве SSD-кэш массивы с избыточностью (RAID1 или RAID10).

    Для SSD-кэш используйте только серверные SSD-накопители. Они имеют дополнительную «невидимую» область размером около 20% от заявленного объема. Эта резервная область используется для внутренних операций дефрагментации и «сборки мусора», благодаря чему производительность таких накопителей на операциях записи не падает даже при 100% их заполнении. Кроме того, наличие резервной области экономит ресурс накопителя.

    Ресурс SSD-накопителей для кэш-памяти должен соответствовать нагрузке на подсистему хранения сервера по объему записываемых данных. Ресурс накопителя обычно определяется параметром DWPD (Drive Writes Per Day) – сколько раз в день можно полностью перезаписать накопитель на протяжении 5 лет. Накопители с ресурсом 3 DWPD и более обычно будут подходящим выбором. Измерить реальную нагрузку на дисковую подсистему можно при помощи системного монитора.

    В случае, если возникнет необходимость перенести все данные из кэш-памяти на SSD-накопителях на основной массив, нужно переключить режим работы SSD-кэш с Write-Back на Write-Through и подождать пока данные полностью не перепишутся на жесткие диски. По окончании этой процедуры, но не ранее, контроллер «позволит» удалить том SSD-кэширования.

    Если у Вас появились вопросы или замечания по данному материалу, пожалуйста, направляйте их на .

    В продолжение темы:
    Wi-Fi

    И всеми сопутствующими ей факторами для клиентов «Мегафона » уже относительно давно стало доступно совершать обмен бонусных баллов на деньги (средства на лицевом счёте)....

    Новые статьи
    /
    Популярные