RAID0 из пары SSD с интерфейсом PCIe на LGA1151: сделать можно… но зачем?

Методика тестирования накопителей образца 2018 года

Подход Intel к подключению всей периферии массовых платформ через чипсет (по умолчанию) имеет как свои недостатки, типа ограниченной пропускной способности связки чипсета с процессором/памятью, так и определенные достоинства. Например, буквально сразу после появления SSD с интерфейсом PCIe (независимо от поддерживаемого протокола) оказалось, что топовые чипсеты Intel способны создавать из них RAID-массивы — точно так же, как из SATA-устройств. А вот для того, чтобы «прикрутить» подобную функциональность к «процессорным» контроллерам HEDT-платформ, понадобилось время. Причем VROC (Virtual RAID on CPU) — вообще отдельная технология, и по умолчанию владельцам плат с LGA2066 (более ранние не поддерживаются) доступен только RAID0 — для активации других режимов придется покупать специальный (и, надо заметить, недешевый) ключ. Можно, конечно, просто создать «программный» RAID (благо и в случае VROC он все равно будет программным), но придется решать вопросы с загрузкой и т. п.

Технология же Rapid Storage никаких новых вопросов перед пользователем не ставит — просто с определенного момента любые накопители с интерфейсом PCIe, подключенные к чипсету, можно использовать точно так же, как SATA: поодиночке, попарно… и т. п. В общем, сам процесс создания и использования массива не зависит от интерфейса накопителей — только смешивать их нельзя. Другой вопрос, что практическая польза от создания таких массивов не слишком прослеживается.

Поэтому мы ранее обходили эту возможность стороной — тем более, что не было «на руках» пары одинаковых SSD для максимальной корректности экспериментов. Но потом было решено попробовать с разными. Ведь это производительность разных SATA-накопителей (даже твердотельных, не говоря уже о «механических») различается не слишком заметно — а в данном случае величины скорости могут иметь даже разный порядок. И если с «зеркалом» все понятно (распараллеливать чтение в этом режиме RST «не умеет», а запись определяется самым медленным из пары устройств — так надежнее), а «сложные» уровни — вообще экзотика для персональных компьютеров, то RAID0… Может ли с его помощью пара относительно медленных SSD одинаковой емкости «догнать» быстрый SSD пропорционально большей емкости? Это мы и решили проверить. В конце концов, просто интересно.

Методика и объекты тестирования

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

Для реализации озвученной выше цели сначала мы решили взять Intel SSD 600p и WD Black первого поколения по 512 ГБ, благо оба работают не слишком быстро, и сравнить их с одним современным Samsung 970 Evo Plus емкостью 1 ТБ. Сравнили… задумались.

Заменили Intel на Samsung 960 Pro. Потом первый Black — на второй. На этом решено было успокоиться, поскольку… Сами увидите.

Поскольку сегодняшнее тестирование достаточно специфично, мы не стали заносить результаты тестов в общую таблицу: они доступны в отдельном файле в формате Microsoft Excel. Так что желающие покопаться в цифрах (тем более, что не все они попадают на диаграммы) могут скачать его и удовлетворить любопытство.

Производительность в приложениях

С точки зрения баллов «высокого уровня», объединение пары NVMe-накопителей не просто бесполезно, а попросту вредно — производительность массива зависит от его компонентов, но всегда строго ниже, чем у самого медленного в паре устройства. На что, впрочем, можно не обращать особого внимания, поскольку тут-то все протестированные конфигурации (и одиночные, и «двойные») демонстрируют очень близкие результаты, но тенденция, как минимум, неприятная.

На низком уровне картина не меняется — просто становится еще более вопиющей: ладно бы, от создания RAID0 скорость не увеличивалась, но фактически она еще и снижается. Причем еще и сложно считать это следствием наличия какого-то «узкого места» в самом чипсете — именно в него бы мы и «уперлись» с одинаковым результатом, а не разными.

Предыдущая версия пакета, оперирующая более легкими нагрузками, впрочем, с таким пессимизмом согласна лишь отчасти — производительность массива из двух «медленных» SSD оказывается хоть немного, но более высокой, чем каждый из них демонстрирует в одиночку. Правда и размер прироста таков, что… не стоит возни. А обе «асимметричные» конфигурации с участием 960 Pro медленнее, чем он сам.

Последовательные операции

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

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

Случайный доступ

В принципе, все, что нужно знать про объединение двух разноскоростных устройств — ни один массив с участием Samsung 960 Pro не может «догнать» одиночный Samsung 960 Pro в любых сценариях. Что же касается пары из «медленных» Intel и WD, то иногда таковая оказывается быстрее любого из участников, а иногда — только самого медленного из них. В любом случае, если вдруг хочется получить максимум производительности — проще быстрый SSD и взять. Причем одного его будет вполне достаточно. Да и ситуация с емкостью давно уже «исправлена» сравнительно с положением дел десятилетней давности, когда из SSD могло понадобиться городить массив просто для получения 200-300 ГБ «одним куском».

Довольно любопытная картинка — с одной стороны, массив, хотя бы, ничего не портит, с другой — практически ничего и не дает. Понятно почему — в этом сценарии вообще очень сложно разделить накопители на «быстрые» и «медленные». А учитывая то, что в прикладном ПО подобных операций немало, нет ничего удивительно и в том, что разные (иногда даже существенно-разные) SSD в бенчмарках высокого уровня ведут себя одинаково.

Работа с большими файлами

В однопоточном режиме скорость массива Intel+WD оказывается равной сумме скоростей его компонентов, что, казалось бы, хорошо. Однако переход к 32 потокам чтения заставляет массив работать со скоростью самого медленного устройства в паре. А в «асимметричных» конфигурациях с участием Samsung 960 Pro более медленный SSD фактически его только замедляет, но не наоборот.

Запись — слабое место первой волны NVMe-накопителей на базе TLC-памяти, но объединив пару таковых в массив мы проблему не решим. А объединив быстрый накопитель с более медленным — «ускорим» только медленный.

И вновь видим, что какой-то смысл объединять пару медленных накопителей в RAID-массив есть — но очень небольшой. Возможно, что-то интересное можно получить от пары быстрых (и одинаковых) SSD — по крайней мере, в теории. А разные точно заставлять работать вместе не стоит.

Рейтинги

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

И общая оценка наглядно демонстрирует бессмысленность того, чем мы сегодня занимались 🙂

Итого

В общем и целом, оно работает, только непонятно, зачем это нужно. Впрочем, какого-либо иного результата ожидать было сложно: все-таки твердотельный накопитель (особенно топовый) и по внутреннему устройству тяготеет к распараллеливанию нагрузки, а PCIe 3.0 x4 до сих пор является избыточным для большинства сценариев интерфейсом работы. Для «более последовательных» винчестеров актуальным когда-то было внедрение хоть какого-то параллелизма, а тут это просто не нужно. Для SATA SSD могло работать уменьшение зависимости от «узкого» интерфейса путем его виртуального удвоения — тут это тоже не нужно. Да, в каких-то случаях массив оказывается быстрее своих составляющих, но куда большего эффекта можно добиться, взяв один быстрый SSD большей емкости. А в некоторых сценариях производительность массива только снижается, так что тут и думать нечего.