Optane Memory и накопители разных типов: пытаемся ускорить один SSD при помощи другого

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

Технологии Optane Memory мы посвятили достаточно большое количество материалов, так что, казалось бы, закрыли вопрос с ней полностью. То, что началось с теоретического описания работы новой технологии кэширования, в конце концов вылилось в семь статей — своеобразный мини-цикл:

samsung-860-qvo-big.jpg Обзор твердотельного накопителя Samsung 860 Qvo емкостью 1 ТБ на базе QLC-памяти

Однако во всех случаях Optane Memory (равно как и предыдущую разработку компании) мы использовали по прямому назначению — для ускорения работы винчестера. В то же время, раз за разом некоторые читатели просили проверить, что будет, если «оптанизировать» не классический магнитный накопитель, а медленный твердотельный. В конечном итоге победила идея, что лучше один раз такое тестирование провести, нежели регулярно объяснять, почему оно лишено смысла. К тому же, раз мы в конце прошлого года логически завершили цикл материалов использованием «быстрого» настольного и «медленного» ноутбучного винчестера, а в начале этого познакомились с Samsung 860 Qvo емкостью 1 ТБ на базе QLC-памяти, как раз нацеленным в промежуток между жесткими дисками и массовыми SSD, есть смысл подвергнуть и этот накопитель такой же экзекуции. Так сказать, для полноты картины.

optane1_large.jpg Представлен твердотельный накопитель Intel Optane Memory H10: Optane Memory и QLC объемом до 1 ТБ в одном SSD типоразмера M.2

Впрочем, идея впрячь в одну телегу коня и трепетную лань пришла в голову также и Intel. Хотя «наше всё» Пушкин А.С. и утверждал, что таковое неможно, но классик просто не успел познакомиться с гибридными винчестерами. Теперь же стараниями Intel на рынок выходит и первый гибридный SSD — Optane Memory H10, где 16 или 32 ГБ памяти 3D XPoint на плате М.2 2280 соседствуют с 256, 512 или 1024 ГБ «обычной» 3D QLC NAND. Понятно, что логика работы Н10 будет отличаться от гибридизации на базе чипсета, но предыдущие наработки компании в области кэширования наверняка стали базой данной разработки. Заодно и посмотрим, что́ можно было бы переделать: это нам поможет, когда будем тестировать накопитель Intel. Пока же он только объявлен, но еще не поставляется —, а вот Optane Memory в связке с SSD на QLC можно протестировать прямо сейчас.

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

seagate-ironwolf-pro-14tb-big.jpg Винчестер Seagate IronWolf Pro 14 ТБ: обзор нового накопителя максимальной емкости

В упомянутой выше последней статье цикла об Optane Memory среди прочих участников присутствовали относительно старый ноутбучный терабайтник WD Blue WD10JPVX 1 ТБ и топовый nearline-винчестер Seagate IronWolf Pro 14 ТБ. Понятно, что оказаться в обычном ПК хоть «в гордом одиночестве», хоть в паре с Optane Memory без прочих накопителей ему «не светит», но для получения оценки сверху — вполне подойдет: остальные модели на пластинах 3,5″ как минимум не быстрее. Опять же:, а вдруг и при использовании такого накопителя просто для хранения данных есть смысл «пришпорить» его кэшем? Вот этот вопрос уже вполне практический, поскольку на фоне стоимости винчестеров на 10–14 ТБ цены модулей Optane Memory (особенно младших модификаций) заметными не кажутся. Поэтому мы и проверили, как это работает с модулями на 32 и 64 ГБ, благо таковые использовались и совместно с WD Blue.

И их же мы возьмем в путь сегодня —, но уже вместе с Samsung 860 Qvo. Тоже синтетический вариант (чем возиться с кэшированием — проще потратить деньги на Evo или Pro той же емкости), но раз уж некоторым он интересен… Почему бы и нет? :)

Таким образом, у нас получилось девять конфигураций: три испытуемых в трех вариантах — «без ничего», с 32 ГБ и с 64 ГБ. Больше никто из накопителей нам сегодня не понадобится.

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

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

Методика подробно описана в отдельной статье. Там можно познакомиться с используемым аппаратным и программным обеспечением. Единственное, что нам пришлось в очередной раз сделать — переключить режим работы дискового контроллера и установить Intel RST.

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

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

В общем-то, на этом тему можно закрывать. Производительность тестов высокого уровня зависит от кэшируемого накопителя (что мы уже знаем), так что QLC+Optane оказывается самой быстрой конфигурацией, но… Но и одного 860 Qvo на практике более чем достаточно для того, чтобы производительность начала определяться другими компонентами системы вместо накопителя, а ускорить его можно менее чем на 5%. Очевидно, что заметить это невооруженным взглядом не сможет никто. Настольные же винчестеры «пришпориваются» в удачных условиях в полтора раза, а ноутбучные — во все два. Вот это уже ощущается очень хорошо.

Потенциально позиции связки QLC+Optane еще более привлекательны, однако относительно «голого» SSD кэширование увеличивает производительность лишь в 3–4 раза —, а не в 25–35 раз, как в случае винчестеров. За второе можно и доплатить (вдруг пригодится), а за первое — не имеет смысла.

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

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

Специфика работы низкоуровневых утилит такова, что «рабочий» файл они создают непосредственно перед использованием — так что с большой вероятностью он окажется именно в кэше. В итоге до самого́ «основного» накопителя есть шансы не добраться, и для этого достаточно модуля на 32 ГБ. Во всяком случае, это справедливо при выбранном нами «рабочем объеме» в 16 ГБ («умолчальный» для этих утилит 1 ГБ позволит наслаждаться высоким количеством попугаев и владельцам модулей на 16 ГБ). А вот дальнейшее увеличение «рабочего объема», напротив, может устранить эффект от кэширования. Но поскольку сами модули Optane Memory на данный момент не так чтоб совсем «реактивные» (из-за интерфейса PCIe x2), драматично это только для винчестеров, причем медленных ноутбучных: их производительность в этом сценарии на порядок ниже, чем у кэширующего накопителя. Для «хорошего» же SSD разница сокращается до двух-трех раз — тоже немало, но уже не столь принципиально.

С записью же все еще интереснее. Модули Optane Memory на 32 ГБ в этом сценарии пишут лишь около 300 МБ/с. Это намного больше, чем «может» WD Blue, но уже лишь сопоставимо с быстрыми настольными винчестерами и меньше, чем скорость записи в SLC-кэш Samsung 860 Qvo (а его у представителей этой линейки — несколько десятков гигабайт). Соответственно, для 860 Qvo «внешнее» кэширование даже вредно (при использовании более быстрых модулей на 64 ГБ — тоже практически бесполезно). Повторимся: нет эффекта низкой базы — нет и вау-эффекта.

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

Задержки у памяти типа 3D XPoint ниже, чем у NAND-флэш, так что весомый прирост производительности от кэширования есть и здесь. Но не настолько радикальный, как у винчестеров — все-таки латентность NAND в сравнении с ними тоже уменьшается раз в 20, так что и ускорение получается в разы, а уже не на порядки. С одной стороны, лишним не будет. С другой — зачем увеличивать производительность, когда ее и так на практике хватает. «Возня» с винчестерами же имеет смысл именно потому, что им не хватает. Но и простое снижение задержек со сменой носителя уже снимает эту проблему — дальше можно не напрягаться. Тем более, что есть и тревожные звоночки: из-за увеличившихся накладных расходов (поскольку ПО кэширования пытается балансировать нагрузку) производительность оказывается более низкой, чем дают «оптанизированные винчестеры» (в случае которых ПО ничего такого сделать не пытается).

А при записи и от ускорения на коротких очередях ничего не остается — «собственный» SLC-кэш 860 Qvo справляется с работой лучше, чем «внешний» Optane.

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

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

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

Запись больших объемов данных — слабое место SSD на базе QLC-памяти. К сожалению, помочь ему кэшированием почти невозможно — именно потому, что объемы большие. При наличии Optane Memory на 64 ГБ (сейчас это официальный максимум для поставляемых кэширующих модулей, но не для технологии) система пытается «схитрить» (особенно в многопоточном режиме), записывая часть данных в кэш, но результирующий эффект невелик. Увеличить его можно, разве что используя кэширующий модуль принудительно и всегда (так работала технология Smart Response в режиме Maximized), однако для этого его объем нужно будет увеличить еще больше. Тогда уж проще (да и дешевле) емкость SLC-кэша наращивать.

Запись одновременно с чтением, да еще и по (псевдо)случайным адресам — очень плохой сценарий для винчестеров. Настолько плохой, что тут даже кэшированием части операций можно заметно увеличить производительность. Но 860 Qvo справляется с такой нагрузкой в 3–5 раз быстрее — и этого достаточно, чтобы ничего улучшить уже было нельзя (собственно, и «оптанизированный» винчестер до такого уровня не дотягивает). «Слабым местом» подобных SSD нужно считать, скорее, невысокую производительность на смешанных операциях с последовательным доступом —, но на них и винчестеры-то никак «подстегнуть» не удается, не говоря уже о SSD.

Рейтинги

В принципе, некоторые операции ускорить кэшированием удается: если «подменить» основной накопитель более быстрым кэширующим, получатся и более высокие результаты. Но это если повезет. Причем, как мы видели выше, иногда производительность может по тем или иным причинам даже снизиться. С винчестерами такое почти не случалось, поскольку их собственное быстродействие в любых сценариях ниже (и намного), чем у Optane Memory. Для твердотельного же накопителя это справедливо не всегда —, а вот накладные расходы растут всегда, и иногда могут стать заметными. Усредненный результат — да, улучшается… Однако винчестеры можно ускорить (хотя бы теоретически) в 25–50 раз, и это будет заметно — опять же, не всегда это будет выполняться, но удачных случаев окажется достаточно, чтобы вообще возиться с кэшированием. А вот SSD в лучшем случае ускорится в пару раз, и платить за это уже совершенно не интересно: можно просто купить всюду (и стабильно) более быстрый SSD.

Эта диаграмма еще более наглядна. Винчестерам кэширование нужно, чтоб «дотянуться» до уровня бюджетных твердотельных накопителей. SSD (даже самым дешевым) это не требуется — они как раз и есть те самые [бюджетные] твердотельные накопители. Ускорить их работу в части сценариев, впрочем, можно —, но это всегда будет количественным (и не всегда заметным) улучшением, а не качественным.

Итого

Ускорять твердотельные накопители внешним кэшированием — значит, ремонтировать то, что и не ломалось. В части сценариев у них с производительностью все и без того неплохо, а где не слишком хорошо — там и кэш не поможет (собственно, «не хорошо» зачастую как раз потому, что не справляется «внутреннее» SLC-кэширование). Соответственно, нет смысла тратить деньги на ускорение медленного SSD — лучше уж пустить бюджет на приобретение быстрого.

Из этого, однако, не стоит делать выводы о бесполезности гибридных SSD — в них можно использовать другие алгоритмы работы, благо все компоненты изначально рассчитаны на совместную работу. В частности, память 3D XPoint может использоваться как замена SLC-кэша — бесплатного, но не всесильного. Возможна и оптимизация распределения данных по областям. Но все это будет иметь смысл проверить на практике, когда к нам попадет гибридный Optane Memory H10. Вопрос же использования модулей Optane Memory для ускорения системы с «обычным» SATA SSD, как нам кажется, можно закрывать.

Полный текст статьи читайте на iXBT