RAID-массивы из SSD: тестирование масштабируемости производительности на платформе Intel Z87

Автор: Gavric
Дата: 14.10.2013
Все фото статьи

Введение


Смещение интересов производителей компьютерной техники в сторону мобильных устройств и гаджетов привело к явному замедлению прогресса в сфере традиционных настольных систем: это, пожалуй, замечают даже далёкие от компьютерного рынка люди. Если ещё недавно модернизацию компьютера приходилось проводить хотя бы раз в два года, то теперь вполне конкурентный уровень производительности могут предлагать и системы, собранные несколько лет тому назад. Нетрудно заметить, что вычислительные и графические процессоры сбавили темп своего развития. Более того, их совершенствование в современном мире во многом направлено в сторону улучшения экономичности, вопросы же быстродействия отошли на второй план: это мы постоянно выявляем в наших тестах.

К счастью, подобные изменения пока обошли стороной системы хранения данных: здесь никакого замедления технологического прогресса не произошло. Напротив, в течение последних лет на передовые позиции вышли основанные на NAND-памяти твердотельные накопители, которые смогли совершить революцию в сегменте высокопроизводительных персональных компьютерах. По сравнению с традиционными жёсткими дисками они предлагают принципиально более низкое время доступа к данным, благодаря чему системы, оснащённые SSD, обладают чрезвычайно быстрой реакцией на действия пользователя и дают в работе совершенно другие ощущения. Энтузиасты быстро уловили этот момент, и теперь никакая актуальная платформа, претендующая на звание высокопроизводительной, не может обойтись без твердотельного накопителя, хотя бы используемого под системный раздел.

Впрочем те, кто уже достаточно давно перевёл свои компьютеры на SSD, вновь оказываются в своеобразном тупике: дальнейшую модернизацию дисковой подсистемы провести уже не столь просто. К сожалению, развитие потребительских твердотельных накопителей упёрлось в недостаточно высокую пропускную способность SATA-интерфейса, и потому выход более скоростных моделей накопителей задерживается по меньшей мере до тех пор, пока на материнских платах не появятся перспективные разъёмы SATA Express. Пока же можно предложить лишь два обходных пути: либо использование флеш-дисков с интерфейсом PCI Express, либо строительство RAID-массивов.

Однако и тот, и другой подход, хотя они и способны дополнительно поднять скорость доступа к пользовательским данным, имеют большой набор подводных камней. Например, SSD в PCI Express формате, это – обычно серверные накопители, обладающие соответствующим ценником. Те же немногие модели, которые ориентированы на рынок энтузиастов, на самом деле представляют собой RAID-массив уровня 0, построенный на базе какого-либо внешнего контроллера и скомпонованный на одной печатной плате. Иными словами, так или иначе, всё сводится к RAID из SSD, который логичнее собирать самостоятельно.

Но многочисленные вопросы возникают и здесь. В первую очередь сомнения вызывает надёжность такого решения, ведь при выходе в массиве RAID 0 из строя хотя бы одного диска, сразу теряются все данные. Эту проблему можно решить организацией более сложных массивов уровней 5 или 10 с резервными SSD: в этом случае не будет никаких поводов для переживаний относительно низкой надёжности хранения информации, но возрастёт общая стоимость массива. К тому же, не очень понятно, насколько хорошо в этом случае будет решена главная задача – масштабирование производительности.

Чтобы отделаться от всех этих сомнений, мы решили провести специальное тестирование и сравнить, как работают различные RAID-массивы из SSD в современных платформах. Ранее такое исследование не имело бы особого смысла: самая популярная платформа для десктопных компьютеров, LGA 1155, использующая набор логики Intel Z77, могла предложить лишь два порта SATA с пропускной способностью 6 Гбит/с, то есть, казалось подходящей для формирования только RAID 0 массивов из пары SSD. При подключении же к чипсетному контроллеру дополнительных накопителей их скорость зарезалась бы на уровне интерфейса, и весь массив работал бы не в полную силу. К счастью, ситуация изменилась: новый набор логики Intel Z87 предлагает уже шесть полноценных портов SATA 6 Гбит/с, раскрывая перед обладателями платформы LGA 1150 широкие возможности для использования RAID различных уровней, собранных на базе самых современных и быстродействующих твердотельных приводов. Именно этим мы и воспользовались в наших тестах, в которых поэкспериментировали с различными конфигурациями RAID, составленными из двух, трёх и четырёх накопителей Intel SSD 520 120 Гбайт.

Тестовые платформы и особенности использования RAID-массивов из SSD



Intel Z87

Основное внимание в этом материале мы уделяем работе RAID-массивов в системах на базе набора логики Intel Z87. Этот чипсет наконец-то получил полную поддержку портов SATA 6 Гбит/с. Более ранние интеловские наборы системной логики как для платформы LGA 1155, так и для LGA 2011, позволяли подключение лишь двух накопителей SATA 6 Гбит/с, а остальные порты работали в режиме SATA 3 Гбит/с. Теперь же все шесть чипсетных портов поддерживают скоростную версию SATA-интерфейса. Таким образом, к современным материнским платам для процессоров в LGA 1150-исполнении, не прибегая к услугам дополнительных SATA-контроллеров, возможно подключить до шести скоростных приводов.


Надо сказать, что, планомерно улучшая аппаратные характеристики своего встраиваемого в наборы системной логики SATA-контроллера, Intel не забывает и о развитии его программной части. За последние несколько лет она претерпела существенные изменения, и теперь, официально именуясь Intel Rapid Storage Technology, она может предложить достаточно любопытную расширенную функциональность. Например, входящий в состав этой технологии компонент Smart Response Technology предлагает организацию из небольшого по объёму SSD и ёмкого HDD некого подобия быстрого гибридного накопителя с хорошей скоростью, приемлемой ценой и достаточным объёмом. Dynamic Storage Accelerator может поднять производительность некоторых SSD за счёт адаптированной схемы управления их энергосберегающими режимами. А Rapid Recovery Technology позволяет оперативно создавать резервные копии критически важных файлов.

Однако сегодня в фокусе нашего внимания находятся не дополнительные «навороты», а канонические функции по организации RAID-массивов. На данный момент набор логики Intel Z87 позволяет создавать четыре типа массивов: уровня 0 (дисковый массив с чередованием), 1 (зеркальный дисковый массив), 5 (дисковый массив с чередованием и проверкой чётности) и 10 (массив RAID 0, построенный из массивов RAID 1).

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


Впрочем, если хочется иметь не только производительный, но и отказоустойчивый массив данных, в котором с выходом из строя одного из дисков потери информации не произойдёт, внимание следует уделить RAID-массивам уровня 5 или 10. В RAID 5 сохраняемые данные чередуются, как в RAID 0, но дополнительно накрываются контрольной суммой (на базе операции сложения по модулю два), позволяющей восстановить исходную информацию при утрате одного диска. Для такого массива требуется как минимум три накопителя, а его общий объём складывается из суммы ёмкостей входящих в него приводов за вычетом объёма, требуемого на хранение контрольных сумм – ёмкости одного накопителя.


RAID 10 ещё более отказоустойчив, поскольку это массив с одновременным чередованием и дублированием информации. Для его создания нужно четыре или большее количество приводов, но зато целостность данных сохраняется при выходе из строя до половины входящих в него дисков. Отрицательная сторона RAID 10 – низкий общий объём массива, составляющий лишь половину от суммарной ёмкости всех входящих в него накопителей.


Отказоустойчивые конфигурации можно собирать и из двух накопителей, но в этом случае вариант лишь один – простое зеркалирование или RAID 1. В этом случае ёмкость массива из пары дисков равна объёму одного из них. При этом современные контроллеры могут обеспечивать некоторое увеличение производительности по сравнению с одиночным приводом, достигаемое за счёт использования техники чередования обращений при операциях чтения.


Поставляемое вместе с интеловскими наборами логики программное обеспечение Intel Rapid Storage Technology предлагает очень простую процедуру создания RAID-массивов из среды Windows. На начальном этапе необходимо выбрать тип массива.


Затем выбираются накопители для включения в массив, а также его базовые параметры – размер блока чередования и объём.


Массив готов. Далее можно поменять опциональные параметры: например, включить дополнительное кэширование операций записи в драйвере.


Очень приятно, что за последние годы технология Intel Rapid Storage была «вылизана» разработчиками до зеркального блеска. Особенно сильно радуют такие мелочи, как хорошо продуманные установки по умолчанию, выбираемые при создании RAID из SSD. Для таких массивов рекомендуется использовать блоки чередования небольшого размера, и программное обеспечение делает именно так: для двух дисков используются 16-килобайтные страйп-блоки, для четырёх – 32-килобайтные, а в случае трёхдискового массива оптимальный размер блока – 16 или 32 Кбайт – выбирается исходя из типа массива.

Более того, Intel смогла даже добиться того, что объединение накопителей в RAID-массив не лишает возможности наблюдения за их состоянием. Доступ к SMART-статусу дисков остаётся открытым, продолжают нормально работать и фирменные утилиты производителей SSD. Ещё совсем недавно объединение накопителей в RAID лишало возможности мониторинга их состояния, а теперь интеловский контроллер делает RAID-массивы прозрачными настолько, что можно даже обновлять им прошивку!

Ещё одно большое достижение разработчиков интеловского драйвера Rapid Storage Technology заключается в появившейся, начиная с его 11-й версии, поддержке для SSD, входящих в массив, команды TRIM. Это – очень важное свойство при использовании в массиве именно твердотельных накопителей, которое спасает такой RAID от деградации производительности при его интенсивной эксплуатации. Заслуга Intel кажется ещё значительнее, если принять во внимание, что на данный момент подобной функциональностью не могут похвастать никакие другие RAID-контроллеры потребительского уровня.

Intel Z77

Для сравнения с SATA RAID контроллером набора логики Intel Z87 мы в первую очередь выбрали аналогичный контроллер из чипсета предыдущего поколения, Intel Z77. Количество SATA-портов в Z77 ровно такое же, их шесть, но протокол SATA 6 Гбит/с поддерживается только первыми двумя портами. Это означает, что массивы, в которых участвует более двух SSD, в системах на базе Intel Z77 получаются не совсем полноценными, часть участвующих в них дисков вынуждены работать с более медленным интерфейсом SATA 3 Гбит/с. Это, естественно, отрицательно сказывается и на общей производительности RAID, но других вариантов у пользователей LGA 1155-систем всё равно нет.


Однако в остальном SATA-контроллер Intel Z77 мало отличается от своего последователя. Он работает с тем же драйвером и программным обеспечением, а также поддерживает тот же самый набор RAID-массивов: 0, 1, 5 и 10. Соответственно, сохраняются и все программные достижения, описанные нами выше, вплоть до прозрачного мониторинга SMART-состояния входящих в массив накопителей и поддержки TRIM. Иными словами, платформа на базе Intel Z77 включена в тесты в качестве точки отсчета, просто для подтверждения более высокой производительности нового набора логики Intel Z87.

AMD A85X

А что же AMD? Наборы логики этой компании для платформы Socket AM3+ или Socket FM2 обладают шестью или даже восемью SATA 6 Гбит/с портами с поддержкой RAID-массивов уже давно. Обходить их стороной мы не стали, однако уже после тестирования одного из чипсетов этой компании стало понятно, что с Intel по производительности и возможностям встроенного RAID-контроллера они на равных соперничать не могут. Поэтому в рамках этого материала мы ограничились тестированием лишь одной платформы Socket FM2, построенной на наборе системной логики AMD A85X.

A85X относится к числу наиболее современных чипсетов разработки компании AMD, и формально он поддерживает восемь SATA-портов. Причём, все они способны работать в режиме SATA 6 Гбит/с, так что на первый взгляд кажется, что возможности платформ AMD по организации дисковых подсистем как минимум не хуже, чем у актуальных предложений Intel. Да и список поддерживаемых уровней RAID-массивов выглядит вполне достаточным, в него входит стандартный набор: 0, 1, 5 и 10.


Неплохо выглядит и ситуация с программной поддержкой. Для управления чипсетным RAID-контроллером AMD предлагает специальную утилиту RAIDXpert, имеющую сходный с Intel Rapid Storage набор свойств. Отличие лишь в том, что утилита эта имеет web-интерфейс, предполагая тем самым даже возможность удалённого администрирования RAID-массивов.

Процесс создания томов RAID из среды операционной системы на платформе AMD примерно такой же, как и у Intel, – трёхступенчатый. Сначала выбирается тип массива.


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


На третьем этапе можно задать всякие опциональные настройки.


Всё готово – можно пользоваться.


Однако захочется ли связываться с таким массивом, вопрос уже не столь однозначный. В процессе общения с RAID, построенным на базе чипсетного SATA-контроллера набора логики AMD A85X, мы встретили целый ряд неприятных проблем. Первая из них видна уже на приведённых выше скриншотах. По умолчанию SATA-контроллер A85X устанавливает объём страйп-блока в 64 Кбайт. Это – вполне подходящий размер для обладающих достаточно высоким временем случайного доступа накопителей на магнитных дисках, однако для SSD он явно великоват. То есть, AMD пока не задумывалась об оптимизации своего программного обеспечения для твердотельных накопителей. Но главная неприятность не в этом, в конце концов, настройки можно было бы и поправить при инициализации массива, только в случае AMD A85X это – невозможно. Дело в том, что 64 Кбайт – минимальный размер блока: меньшие значения просто не поддерживаются контроллером. Получается, AMD искусственно ограничивает производительность RAID-массивов из SSD уже на начальном этапе.

Но проблемы на этом не заканчиваются. RAID из SSD-накопителей будет чувствовать себя в Socket FM2-системе инородно ещё и потому, что AMD совершенно не задумывается над поддержкой для включённых в массив накопителей команды TRIM. Это значит, что производительность массивов в компьютерах на базе процессоров AMD будет необратимо деградировать по мере исчерпания ресурса чистых страниц во флеш-памяти накопителей. Учитывая сказанное, странным уже не кажется, что организация любого RAID-массива полностью закрывает сервисный доступ к входящим в него приводам, и в платформе AMD нет никакой возможности ни проконтролировать SMART-параметры накопителей из массива, ни уж тем более обновить им прошивку.

Вполне закономерным финалом рассказа о недостатках реализации RAID в AMD A85X, выявляемых при объединении в массив нескольких твердотельных накопителей, будет упоминание о том факте, что мы так и не смогли добиться полной стабильности режима RAID 5. При объединении в такой массив трёх или четырёх SSD тестовая платформа, построенная на базе материнской платы с чипсетом AMD A85X, вела себя очень капризно, периодически вываливаясь при высокой интенсивности дисковых операций в «синий экран». Всё это означает, что RAID-драйвер компании AMD нуждается в серьёзной доработке, в первую очередь с учётом современных реалий, предполагающих желание пользователей объединять в массивы не только традиционные механические диски, но и флеш-приводы. А пока же мы вынуждены отказаться от подробного знакомства с другими платформами AMD: платформа Socket FM2 – наиболее современная, так что другие чипсеты AMD, скорее всего, работают с RAID-массивами из SSD ещё хуже.

Тестовая система


В итоге, различные RAID-массивы, образованные из твердотельных накопителей, испытывались с интегрированными SATA-контроллерами трёх чипсетов: Intel Z87, Intel Z77 и AMD A85X. Соответственно, в составе тестовых конфигураций были использованы следующие комплектующие:

Процессоры:

AMD A10-6800K (Richland, 4 ядра, 4,1-4,4 ГГц, 2 x 2 Мбайта L2);
Intel Core i5-4670K (Haswell, 4 ядра, 3,4-3,8 ГГц, 4 x 256 Кбайт L2, 6 Мбайт L3);
Intel Core i5-3570K (Ivy Bridge, 4 ядра, 3,4-3,8 ГГц, 4 x 256 Кбайт L2, 6 Мбайт L3);

Процессорный кулер: Noctua NH-U14S.
Материнские платы:

ASUS F2A85-V Pro (Socket FM2, AMD A85);
ASUS P8Z77-V Deluxe (LGA1155, Intel Z77 Express);
Gigabyte Z87X-UD3H (LGA1150, Intel Z87 Express).

Память: 2 x 2 Гбайт DDR3-1600 SDRAM DIMM 8-8-8-24-1T;
Системный накопитель: Crucial m4 256 Гбайт (CT256M4SSD2);
Тестовые накопители: Intel SSD 520 120 GB (SSDSC2CW120A3K5);
Блок питания: Corsair AX760i (80 Plus Platinum, 760 Вт).

Тестирование выполнялось в операционной системе Microsoft Windows 7 SP1 Ultimate x64, использовался следующий набор драйверов:

AMD Chipset Drivers 13.9;
AMD Catalyst Graphics Driver 13.9;
AMD Raid Driver 13.9;
AMD RAIDXpert Utility 3.3.1540.19;
Intel Chipset Driver 9.4.0.1017;
Intel® Iris and HD Graphics Driver 15.31.17.64.3257;
Intel Management Engine Driver 9.5.0.1345;
Intel Rapid Storage Technology 12.8.0.1016.

Во всех тестовых системах использовались интегрированные в процессоры видеоускорители.

RAID-массивы и TRIM


Начать тестирование мы решили с проверки того, как работает команда TRIM с накопителями, объединёнными в RAID. Правильная обработка этой подаваемой операционной системой команды обеспечивает неизменность характеристик RAID-массива из SSD, в противном случае на практике приходится сталкиваться с тем, что входящие в массив твердотельные накопители существенно теряют в производительности операций записи в течение своего использования и это, естественно, отрицательно сказывается на быстродействии всего массива. Причина данного эффекта состоит в том, что по мере исчерпания свободных страниц во флеш-памяти, SSD приходит к необходимости проводить перед сохранением данных операции очистки блоков страниц, которые добавляют существенные задержки. Поэтому, алгоритмы работы современных твердотельных накопителей строятся таким образом, чтобы память освобождалась предварительно, а не во время выполнения операций записи. Направленные на это процедуры обычно проводятся во время простоя. В это время флеш-диск может целиком или полностью восстановить быстродействие своей памяти, упреждающе освободив её неиспользуемые страницы. Это и есть главная идея алгоритма Idle-Time Garbage Collection (сборка мусора), реализация которого оказывает очень сильное влияние на быстродействие накопителей в реальной жизни.

К сожалению, твердотельный накопитель сам по себе не располагает информацией о том, какие из блоков страниц действительно хранят данные пользователя, а какие – содержат данные, считаемые операционной системой стёртыми. Это связано с тем, что в файловых системах операции удаления файлов не предполагают физического стирания информации, а лишь размечают соответствующие сектора как доступные для перезаписи. Поэтому без помощи операционной системы контроллер SSD может предварительно очистить лишь страницы из предусмотренной производителем резервной области (если она есть), которые операционная система в своё распоряжение не получает. Однако для более успешного решения этой проблемы в современных операционных системах предусмотрена команда TRIM, позволяющая увеличить эффективность работы сборки мусора. Благодаря ей SSD передаётся информация о допустимости физического избавления от тех или иных данных, которые операционная система считает ненужными. В результате, флеш-диск получает возможность существенно пополнить пул зачищенных блоков страниц, и при последующих операциях записи пользователь снижения производительности не заметит.

В случае использования в системе одиночных SSD проблем с функционированием TRIM обычно не возникает. Современные операционные системы давно научились правильно взаимодействовать с твердотельными накопителями, поэтому всё работает именно таким образом, как описано выше. Однако в том случае, если накопители объединены в RAID-массив, работоспособность TRIM начинает зависеть не только от операционной системы и собственно SSD, но и от SATA-контроллера. Дело в том, что операционная система воспринимает массив как единый том и передаёт команду TRIM для него целиком. Но дойдёт ли эта команда до составляющих RAID-массив приводов, решает уже SATA-контроллер, который должен разобрать переданный операционной системой список разрешённых к освобождению логических блоков и сформировать на его основе раздельные списки для входящих в массив SSD. Это – достаточно нетривиальная процедура, реализовать которую, в действительности, не так-то просто.

Поэтому-то похвастать поддержкой TRIM для RAID-массивов могут лишь избранные контроллеры и лишь для RAID отдельных уровней. В частности, на данный момент достоверно известен единственный пример – работа TRIM в RAID 0 массивах, собранных на интеловском чипсетном контроллере, работающим под управлением драйвера Intel Rapid Storage Technology одиннадцатой или двенадцатой версии.

Впрочем, никто не мешает проверить, как обстоит дело с нашими тестовыми платформами на практике, и деградирует ли со временем производительность массивов, отличных от RAID 0. Тестирование работы TRIM проводилось по методике SNIA SSSI TWG PTS, суть которой состоит в последовательном измерении скорости операций записи в четырёх случаях. Вначале – для «свежего» состояния накопителей. Затем – после полного двукратного заполнения накопителей информацией. Далее – после получасовой паузы, дающей контроллеру возможность частично восстановить производительность за счёт внутренних алгоритмов реорганизации данных и сборки мусора. И в завершение – после «логической» очистки SSD в операционной системе с активированной поддержкой TRIM.

Измерения производятся при помощи синтетического бенчмарка IOMeter 1.1.0 RC1, в котором мы отслеживаем скорость случайной записи при работе с выровненными относительно страниц флеш-памяти блоками данных объёмом 4 Кбайта с глубиной очереди запросов 32 команды. При тестировании используется псевдослучайное заполнение. На следующей диаграмме показана история изменения скорости, где за 100 процентов принимается производительность накопителя в состоянии «из коробки».


В первую очередь напомним, что для экспериментов мы пользуемся накопителями Intel SSD 520 120 GB, основанными на контроллере LSI SF-2281. Приводы, основанные на этой платформе, отличаются тем, что их производительность полностью не восстанавливается до первоначального уровня даже после подачи команды TRIM, так что наблюдаемое во всех случаях падение производительности – это вполне закономерная картина. Обратить же внимание надо на те ситуации, когда измеренное быстродействие не увеличивается после подачи TRIM вообще. А таких случаев, оказывается, очень много. Так что если вы решили использовать RAID из SSD, то должны понимать, что без TRIM остаться очень легко. В следующей таблице мы расшифровали данные с диаграммы и указали, в каких случаях обладатели RAID-массивов могут рассчитывать на отсутствие деградации производительности дисковой подсистемы.


Итого: команда TRIM работает в RAID массивах исключительно на интеловских платформах и только в том случае, когда используется RAID 0. В других разновидностях массивов поданная операционной системой команда TRIM своих адресатов не достигает. Как это ни прискорбно, но TRIM не поддерживается даже для RAID 1, где, казалось бы, реализация обработки этой команды в SATA-контроллере должна быть совершенно элементарной.

Что же касается RAID 0, то интеловские инженеры справились с поддержкой TRIM в этом случае на отлично. Производительность восстанавливается ровно так же, как и у одиночных накопителей. Причём, всё работает не только в самом распространённом случае двухдискового массива, но и тогда, когда RAID состоит из большего числа флеш-дисков.

Производительность



Скорость случайного и последовательного чтения/записи

Для измерения скорости случайного и последовательного чтения и записи мы решили обратиться к Anvil's Storage Utilities 1.0.51. Встроенный в этот программный пакет синтетический бенчмарк очень удобен для получения общего представления о скорости работы RAID-массивов, так как позволяет экспериментально оценить широкий набор ключевых скоростных характеристик. Приведенные в этом разделе результаты тестов производительности относятся к «свежему» (FOB - Fresh Out-of-Box) недеградировавшему состоянию накопителей, включённых в массивы. Отметим также, что измерение скоростей мы проводим с некомпрессируемым потоком данных.


С точки зрения RAID-массива, последовательное чтение больших объёмов данных – это идеальный случай, где он может максимально полно использовать чередование обращений и, соответственно, раскрыть все свои сильные стороны. Поэтому на графике мы видим воистину идиллическую картину, где скорость работы масштабируется с количеством накопителей, составляющих RAID, почти кратно.

Однако так дело обстоит лишь в случае Intel Z87. Более старый интеловский чипсет, очевидно, не может обеспечить аналогичной масштабируемости результатов, так как к нему по скоростному интерфейсу SATA 6 Гбит/с можно подключить лишь два SSD. Так что явный прирост производительности у Intel Z77 заканчивается двухдисковыми массивами.

С платформой же AMD ситуация ещё более запутанна. Наилучшую производительность обеспечивают массивы RAID 0, но даже простое чередование не обеспечивает кратный прирост скорости чтения при увеличении количества накопителей. Что же касается других уровней RAID, то, судя по всему, алгоритмы их работы ограничивает сверху быстродействие логики SATA-контроллера. В результате, двухдисковый RAID 0 почти дотягивает по скорости последовательного чтения до четырёхдискового RAID 5, хотя с точки зрения здравого смысла такого быть не должно.


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




Ситуация существенно меняется в том случае, если из запросов на случайные чтения можно выстроить очередь. Хотя масштабируемость не такая явная, как при последовательных операциях, она всё же прослеживается. Так, в RAID-массивах, собранных на интеловских платформах, скорость работы дисковой подсистемы с ростом числа накопителей явно увеличивается. Причём, ограниченность пропускной способности интерфейса у части портов Intel Z77, как видим, на результате практически не сказывается.

А вот в RAID-массивах на чипсете AMD A85X ситуация, как можно видеть, несколько интереснее. Вновь возникает подозрение, что встроенный в этот набор логики SATA-контроллер обладает не столь высокой мощностью, как интеловские SATA-контроллеры, поэтому с увеличением сложности массива наблюдается нарастающее отставание от аналогичных конфигураций, собранных на платформе Intel. Причём, наибольшие проблемы у AMD A85X почему-то вызывает RAID уровня 1.


Результаты измерения производительности при случайных 32-килобайтных чтениях показывают, чем важно умение контроллера использовать страйп-блоки небольшого объёма. В реальной жизни такие запросы вполне могут встречаться, и RAID-массивы, где размер блока составляет 32 Кбайт и более, заметно отстают от массивов с 16-килобайтными страйп-блоками. Именно этим и обусловлены невысокие показатели различных конфигураций RAID в системе на базе набора логики AMD.


И даже если объём единовременных случайных обращений возрастает до 128 Кбайт, RAID-массивы, использующие встроенный в AMD A85X контроллер, часто выглядят слабее, чем аналогичные конфигурации на интеловских чипетах. Впрочем, у Intel высокой производительностью отличается лишь RAID 0, а, например, RAID 5, с такой нагрузкой справляется плохо.


В операциях последовательной записи расстановка сил существенно меняется, хотя признаки кратной масштабируемости производительности при увеличении количества накопителей в массиве сохраняются. Правда, верно это лишь для RAID 0. RAID 1 по понятным причинам более высокую производительность, чем единичный накопитель, выдать не может, а вот RAID 5 в интеловских платформах оказывается совсем плохо приспособленным для операций записи. Необходимость дополнительных расчётов контрольных сумм, хоть они и представляют собой простые операции XOR, снижает скорость работы этого массива, и, в результате, трёх- или четырёхдисковый массив уровня 5 работает существенно медленнее двухдискового RAID 0.

Попутно обратим внимание и на ещё одну особенность. SATA-контроллер чипсета AMD A85X как будто специально оптимизирован под выполнение операций записи. В этом тесте ему зачастую удаётся обойти обе интеловские платформы, которые, кстати, несмотря на свои отличия в скорости портов, выдают очень близкие показатели. Поэтому можно предположить, что в драйвере своего контроллера компания AMD реализовала какое-то дополнительное кэшировние.


Любопытно, но операции случайной записи сильно не нравятся RAID-массивам, построенным на интеловских контроллерах. Любая конфигурация RAID-массива показывает более низкую производительность, нежели одиночный накопитель. Особенно сильное падение скорости наблюдается в RAID 5. Это кажется странным вдвойне, если принять во внимание противоположное поведение массивов, работающих с SATA-контроллером чипсета AMD A85X.




Однако если операции записи формируют очередь запросов, как это обычно и бывает, то интеловские RAID-массивы работают лучше конфигураций, собранных на платформе AMD. Если же смотреть на скорости RAID 0, то у SATA-контроллеров чипсетов Intel Z77 и Z87 с ростом числа накопителей заметна хорошая масштабируемость, коей и не пахнет в случае AMD A85X. Впрочем, низкая скорость RAID 5 никуда не исчезает: массивы такого типа хорошо проявляют себя лишь в случае чтений. Не слишком хорошей скоростью обладает и RAID 10: он зачастую медленнее, чем двухдисковый RAID 0. Всё это подводит нас к невесёлому выводу: забота об отказоустойчивости кроме необходимости задействования дополнительных SSD приводит и к заметному падению производительности на операциях записи.

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


Картина меняется кардинально. Но самое главное: массивы RAID 0 на интеловских чипсетах, где есть поддержка TRIM, предлагают значительно лучшее быстродействие при последовательной записи, нежели все остальные варианты. Ну а наиболее удручающее впечатление производят RAID-массивы, собранные в системе на базе набора логики AMD A85X. В них скорость последовательной записи оказывается даже ниже, чем у одиночного накопителя.


Случайные записи без очереди запросов вновь выявляют уже отмеченные нами ранее проблемы с массивами RAID 5, собранными на базе интеловских контроллеров. Иными словами, качественно картина остаётся такой же, как и со свежими накопителями, с коррекцией на общее падение скорости записи в SandForce-приводах по мере их использования.




Диаграммы, полученные при измерении производительности RAID-массивов при операциях случайной записи с различной очередью запросов, как нельзя лучше указывают на важность поддержки TRIM. Именно благодаря ей RAID 0 в интеловских платформах способен обеспечить в разы более высокое быстродействие, причём с очень хорошей масштабируемостью. Кстати, обратите внимание: если в большинстве случаев мы не замечали существенных отличий в скорости RAID-массивов на платформах Intel Z77 и Z87, то при записи с очередью запросов средней величины отсутствие поддержки SATA 6 Гбит/с у всех портов Z77 заметно сказывается на скорости четырёхдискового RAID 0.

Тесты в Futuremark PCMark 8

С выходом новой версии тестового пакета Futuremark PCMark 8 мы перешли на использование встроенного в него бенчмарка дисковой подсистемы. Как и раньше, он имеет не синтетическую природу, а, напротив, основывается на том, как работают реальные приложения. В процессе его прохождения воспроизводятся настоящие сценарии-трассы задействования диска в распространённых задачах, и замеряется скорость их выполнения. Новая версия по сравнению с PCMark 7 привнесла новый расширенный набор трасс, которые взяты из реальных игровых приложений и программных пакетов компаний Abobe и Microsoft. Итоговый же результат исчисляется не в виде рейтинга, который не слишком наглядно иллюстрирует различия в производительности разных дисковых подсистем, а в виде усреднённой скорости, которые показывают накопители.

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


Результаты PCMark 8, создающего реальные модели нагрузки, показывают, насколько важны все аспекты производительности, о которых мы говорили выше. Если повергнуть анализу быстродействие различных режимов RAID, собранных на контроллере чипсета Intel Z87, то выводы получаются следующими. RAID 1 – самый плохой режим с точки зрения производительности: скорость такого массива может быть даже хуже, чем у одиночного накопителя. Максимальное же быстродействие даёт RAID 0. Причём, даже двухдисковый массив с простым попарным чередованием выигрывает у четырёхдисковых массивов, осложнённых технологиями повышения надёжности. При этом с ростом количества дисков в составе RAID 0 быстродействие растёт, но наибольший выигрыш получается при переходе от одного диска к двухдисковому массиву. Если же смотреть на скорость режимов RAID с обеспечением надёжности, то лучший по скорости вариант – это RAID 10.

Для Intel Z77 эти же выводы сохраняют свою силу с той лишь разницей, что скорость любых массивов, построенных на этом чипсете, ниже. Это касается не только конфигураций с тремя или четырьмя накопителями, где в ход идут порты с урезанной пропускной способностью, но и двухдисковых режимов. Очевидно, SATA-контроллер этого набора логики лишён каких-то оптимизаций, сделанных в более новом чипсете.

Несколько удивительными выглядят при этом показатели производительности AMD A85X. Несмотря на то, что в синтетических тестах мы отмечали невысокую скорость этого решения, по интегральному показателю PCMark 8 этот чипсет оказался чуть ли не наилучшим вариантом. Однако на самом деле столь высокий результат получается благодаря феноменально высокой скорости SATA-контроллера из AMD A85X всего лишь в одном приложении – Adobe Photoshop – мы это увидим ниже.

Поэтому немного углубимся в подробности. Итоговый индекс PCMark 8 – это некая усреднённая метрика для производительности. Больше пищи для размышлений могут дать результаты, показанные массивами из флеш-дисков при прохождении отдельных тестовых трасс, моделирующих различные варианты реальной нагрузки.




















В среднем, использование RAID 0 из двух накопителей в системе на базе Intel Z87 позволяет получить примерно 38-процентный прирост скорости работы дисковой подсистемы в реальных приложениях, трёхдисковый RAID 0 даёт преимущество в 58 процентов, а четырёхдисковый – позволяет получить 60-процентный прирост по сравнению с одиночным SSD. К сожалению, варианты RAID 5 не дотягивают до этих показателей, обеспечивая лишь преимущество на уровне 6 и 13 процентов при задействовании трёх или четырёх накопителей. Не радует и скорость RAID 10, который, казалось бы, должен быть как минимум быстрее двухдискового RAID 0. Но, увы, он даёт лишь 32-процентное преимущество над одиночным накопителем.

Что же касается других платформ, то они, в целом, медленнее Z87, и это хорошо видно по диаграммам. Превосходство же RAID-массивов, собранных в системе на базе AMD A85X, в графическом редакторе напрямую связано с тем, что SATA-контроллер этого чипсета показывает неожиданно высокую скорость при случайных записях без очереди запросов. К сожалению для AMD, других приложений с подобным характером нагрузки, очень мало.

Скорость копирования файлов

Для тестирования скорости копирования файлов разного типа мы воспользовались бенчмарком AS SSD версии 1.7.4739.38088. Копирование выполняется в пределах одного раздела, созданного на полном объёме тома RAID-массива. Как и ранее, измерения проводятся с накопителями, находящимися в устоявшемся использованном состоянии.






Лучшей иллюстрации важности работы TRIM в RAID массивах нельзя было и желать. Совершенно очевидно, что интеловские RAID 0-конфигурации позволяют получить намного более высокую скорость элементарных файловых операций, и всё благодаря тому, что SSD, их составляющие, постоянно находятся в боевом тонусе. Сокрушаться приходится лишь из-за того, что TRIM в других типах массивов, например в RAID 5, не работает, и никакой активности по преодолению этой неприятности в недрах Intel, похоже, не ведётся. Поэтому даже при увеличении количества накопителей в массиве отказоустойчивые варианты RAID не могут соперничать с примитивным двухдисковым массивом с чередованием.

Что же касается соотношения скоростей аналогичных RAID-массивов, построенных на разных платформах, то новейший чипсет Intel Z87 закономерно выдаёт лучшие результаты. Intel Z77 не располагает необходимым количеством скоростных SATA-портов и обладает менее мощным SATA-контроллером, а AMD A85X заметно проигрывает интеловским чипсетам из-за того, что не умеет работать со страйп-блоками малого объёма.

Выводы


Подведём итоги. Intel Z87 показал себя отличным набором логики для тех пользователей, которые хотят сделать шаг дальше обычных SSD и увеличить производительность своих дисковых подсистем организацией RAID-массивов. Вне всяких сомнений, этот чипсет из имеющихся на данный момент вариантов предлагает самый лучший по всем параметрам SATA RAID контроллер.

И дело не только в том, что в Z87 появилась полноценная поддержка шести портов SATA 6 Гбит/с, которой не было до этого. Как показали тесты, SATA-контроллер этого набора системной логики просто обладает более высокой мощностью, что выливается в его преимущество в производительности перед предшественниками и конкурентами при работе со сложными многодисковыми RAID-массивами. Работа же с SATA 6 Гбит/с накопителями на полной скорости дополнительно гарантирует то, что многодисковые конфигурации не будут тормозиться никакими внутренними интерфейсами. При этом предлагаемых в Z87 шести SATA-портов, скорее всего, будет хватать для любых мыслимых конфигураций дисковой подсистемы. Так что с аппаратной точки зрения к Z87 может быть лишь одна претензия: в нём нет поддержки перспективного интерфейса SATA Express. Впрочем, её пока что нет ни у кого.

Исключительно положительные эмоции вызывает и софтверная функциональность интеловского SATA-контроллера. Предлагаемое фирменное программное обеспечение Intel Rapid Storage Technology имеет массу интересных и полезных возможностей, но самое главное – оно явно заточено под RAID-массивы, формируемые из твердотельных накопителей. Это выражается как в способности работы со страйп-блоками небольшого размера, так и в поддержке команды TRIM для SSD, входящих в массивы. Правда, пока что TRIM работает только в RAID 0, но у других SATA-контроллеров нет и этого. В итоге, массивы нулевого уровня, собранные на базе интеловских чипсетных контроллеров, со временем не теряют в производительности при операциях записи и обеспечивают неизменно высокую скорость работы.

В заключение остаётся ответить на вопрос о том, какие RAID массивы следует предпочитать энтузиастам. Хотя, на самом деле, никакого вопроса здесь и быть не может: совершенно ясно, что удовлетворить желание иметь дисковую подсистему с максимальным быстродействием могут только массивы с чередованием – RAID 0. Причём, чем большее количество SSD будет объединено в таком массиве, тем более высокой окажется итоговая производительность.

Что же касается тех случаев, когда одновременно с высокой производительностью хочется иметь и гарантию надёжности хранения данных, то тут мы бы всё равно посоветовали опираться на массивы RAID 0, но дополнительно настроить банальное периодическое резервное копирование. RAID 0 на сегодня – единственная конфигурация с поддержкой TRIM, и к тому же скорость в таком массиве не проседает на операциях записи из-за необходимости дублирования данных или расчёта контрольных сумм. Использование же любых других вариантов RAID существенно снижает скорость работы дисковой подсистемы и ставит под сомнение основную цель – увеличение быстродействия.

Нам очень жаль, что многообещающий режим RAID 5 не смог оправдать возлагаемых на него надежд и оказался непривлекательным по скорости работы вариантом, хотя он и обеспечивает достаточную для обычных пользователей надёжность. Возможно, что-то изменится с выходом следующих поколений чипсетов или очередных версий драйверов, но на сегодня он – сомнительный выбор.