Технология Intel Optane Memory и ее влияние на типовые «дисковые» операции: продолжение исследования эффективности

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

Совсем недавно мы изучали винчестер Seagate FireCuda ST2000LX001 и вообще вопрос производительности ноутбучных винчестеров. Сравнив ее с моделями пятилетней давности, пришли к однозначному выводу: производительность, в отличие от емкости, за это время в целом не увеличилась. Таким образом, «механика» может рассматриваться исключительно как средство долговременного хранения данных, но не как накопитель для их обработки. Производительность же системы хранения данных следует увеличивать другими способами — обычно используя накопители разных типов. В принципе, можно и в одном корпусе — тот же ST2000LX001 от «классического» WD Blue WD10JPVX в низкоуровневых сценариях отличался не слишком заметно (и не всегда в лучшую сторону), а вот по общему баллу (учитывающему также результаты тестов высокого уровня) обогнал его примерно вдвое благодаря наличию 8 ГБ флэш-памяти, куда в процессе работы и должны попадать часто используемые данные. Но 8 ГБ по нынешним временам не слишком много, интерфейс остается достаточно медленным, операции записи не кэшируются вообще…

Системы «внешнего» кэширования позволяют избавиться от этих недостатков, но имеют и собственные — в первую очередь, необходимость использования двух физических накопителей. При этом и сфера их применения более ограниченная: для гибридного винчестера достаточно наличия всего-то одного привычного разъема SATA и любой операционной системы, а вот, например, Optane Memory работает лишь на чипсетах Intel последних двух поколений (и то не всех) и только под Windows 10. Но при этом, как мы уже установили, имеет достаточно высокую эффективность с точки зрения пользовательских сценариев. Эти вопросы мы рассматривали в серии материалов:

Кроме того, мы давно собирались прогнать «оптанизированный» винчестер в том числе и в низкоуровневых тестах, по стандартной методике тестирования. И вот пришла пора выполнить это наше намерение. Тем более, что появилась пара поводов ускорить работу: во-первых, мы протестировали современный гибридный винчестер, который нам послужит ориентиром, а во-вторых, выяснилось, что для кэширования подходят не только специальные модули Optane Memory, но и накопители серии Optane SSD 800P, имеющие бо́льшую емкость. После появления модулей Optane Memory на 64 ГБ младший 800Р в роли кэширующего перестал быть интересен (хотя иногда в рознице он встречается по более низкой цене, чем можно воспользоваться), но ничего аналогичного старшему пока нет. И пусть он стоит достаточно дорого — зато в его случае емкости теоретически достаточно для того, чтобы закэшировать вообще все, что нужно. Можно, конечно, использовать его и просто «под систему» (в этом случае и проблем с совместимостью меньше), однако при таком подходе «закэшируется» и то, что не нужно (типа редко используемых файлов Windows и приложений), а что-то нужное придется перемещать на устройство руками.

Основной же плюс Optane Memory, как уже не раз было сказано — отсутствие этой самой ручной работы. Модуль к системе можно даже просто добавить — ничего не переустанавливая и не настраивая. При этом с точки зрения приложений (и пользователя) в компьютере так и остается один большой «диск Ц», куда все и будет валиться. Иными словами, если человек привык держать целые сезоны любимого сериала на рабочем столе — покупка маленького SSD его с большой вероятностью отучит от подобной практики (если, конечно, не выносить профиль пользователя на другой накопитель; что все-таки работу с ним замедлит, а иногда этого желательно избежать), а использование кэширования сохранит привычки. В т. ч. и вредные, но удобные. Правда, производительность в этом случае, конечно, может оказаться более низкой. А вот какой — можно проверить непосредственно.

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

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

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

Единственное, что нам пришлось сделать — переключить режим работы дискового контроллера и установить Intel RST (но это все равно понадобилось для тестирования массива RAID0 из Optane SSD 800P). А больше никаких сложностей не возникло — данный пакет (в отличие от SetupOptaneMemory) позволяет включать кэширование любого накопителя, а не только системного.

И, как уже было сказано выше, как RST, так и SetupOptaneMemory на данный момент не видят разницы между Optane Memory и накопителями серии Optane SSD 800P. Разве что емкость чуть по-разному отображают: для модуля на 16/32 ГБ это и есть 16/32 ГБ (скорее всего, и для самой новой модификации, емкостью 64 ГБ, это будет верно), а старший и младший 800Р распознаются как 55 и 110 ГБ соответственно. Т. е. какая-никакая разница между устройствами этих семейств есть, несмотря на одинаковый контроллер, но работе это не мешает. Тестам тоже:)

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

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

В этом тесте гибридный винчестер обгонял обычный почти в полтора раза — отличный результат, имеющий высокое значение на практике. Однако на фоне успеха Optane Memory он просто меркнет: один и тот же накопитель удается «подстегнуть» почти в два с половиной раза. При этом конкретная емкость кэширующего модуля в данном случае значения не имеет: результаты «настоящих» ОМ и 800Р попарно практически одинаковые. Впрочем, это верно для «рафинированных» условий — на практике же чем больше кэширующий накопитель, тем больше данных может быть закэшировано. Т. е. тем ближе реальные результаты к синтетическим в большем количестве случаев.

Собственно, «попарная одинаковость» повторяется и в низкоуровневой оценке, дающей представление о потенциальном быстродействии СХД. При этом в обоих случаях («родные» ОМ или 800Р) устройство меньшей емкости демонстрирует немного более высокий результат. Однако изучать небольшие флуктуации не интересно — даже в самом медленном случае расхождение с гибридным винчестером на порядок, а с обычным и вовсе на все два. Собственно, ради чего все и затевается. Другой вопрос, что, как уже не раз было сказано, полностью утилизировать такие потенциальные скорости современное программное обеспечение не может. Но вот винчестеров и ему маловато. Поэтому и выходит, что поведение системы на обычном твердотельном накопителе крайне сложно отличить от работы Optane Memory без использования тестовых утилит, а вот «тормоза» механики ощущаются невооруженным глазом. И обычная «внутренняя» гибридизация от них далеко не всегда спасает — в терминах этого теста желательно иметь порядка 100 МБ/с «пропускной способности» СХД. Optane Memory это обеспечивает с запасом, в отличие от.

Предыдущая версия тестового пакета ведет себя сходным образом за одним единственным исключением — самый емкий вариант ощутимо быстрее прочих. На самом деле, он в точности равен производительности самого Optane SSD 800P 118 ГБ с точностью до погрешности измерения, т. е. получив кэширующий модуль такой емкости, PCMark 7 уже работает исключительно в его пределах — вообще «не дергая» винчестер. Вот и ответ на вопрос — зачем нужны кэширующие модули большой емкости :)

  16 ГБ 32 ГБ 55 ГБ 110 ГБ
Windows Defender (RAW) 2,1 (39,2) 0,6 (14,5) 0,2 (4,7) 0,3 (14,4)
Importing Pictures (RAW) 1,2 (3,7) 1,4 (5,5) 2,2 (8,8) 0,1 (0,6)
Video Editing (RAW) 4,1 (23,3) 3,9 (23,2) 4,1 (25,2) 0 (0,2)
Windows Media Center (RAW) 0,2 (3,6) 0,1 (1,6) 0,3 (5,6) 0 (0,5)
Adding Music (RAW) 0 (2,4) 0,2 (11,3) 0,1 (17) 0 (0,4)
Starting Application (RAW) 20,8 (47,9) 5,5 (9,2) 19,3 (51,8) 0 (0,1)
Gaming (RAW) 3,6 (24,1) 1,9 (11,9) 2,1 (13,3) 0 (0,2)
Overall scores (RAW) 4,6 (20,6) 1,9 (11) 4 (18,1) 0,1 (2,3)

Еще точнее на него отвечает разброс результатов (в процентах) по прогонам теста. Как видим, результаты самой емкой модели практически стабильны. С остальными хуже, причем (вопреки обычной для кэширующих систем логике) самым медленным может оказаться вовсе не первый прогон — например, так вела себя трасса Starting Application на 800Р 58 ГБ: по трем прогонам получалось нечто вроде 95, 64, 63. Мы пробовали запускать тест несколько раз, в промежутках выключая кэширование (чтобы все данные вытеснились на винчестер и заполнялись потом заново) — получили высокую повторяемость результатов. Т. е. это именно особенности внутренней логики системы, выбирающей оптимальную стратегию в зависимости от емкости кэширующего модуля. Во всяком случае, это верно для младших моделей — все-таки использование 800Р для кэширования винчестера является недокументированной возможностью. Но если вопросы к нему и возникают, то только в случае младшей модификации — старшая ведет себя так, как и должно быть с точки зрения житейской логики, «загоняя на себя» максимум информации. Поскольку емкость позволяет.

В остальном же результаты были предсказуемыми и по предыдущим тестированиям — что PCMark явно благосклонен к Optane Memory, мы уже знали и давно. Разве что характер этой благосклонности нужно было уточнить.

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

А вот низкоуровневыми утилитами мы ранее такие системы не пытали. Впрочем, некоторыми и смысла нет — тот же HD Touch рассчитан непосредственно на винчестеры, так что кэширующие системы в идеале не должны на нем никак сказываться. Во всяком случае, если не работать поверх файловой системы.

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

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

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

Запись же чаще всего немного, но замедляется. Что тоже объяснимо — накладные расходы есть, поскольку системе приходится решать: нужно ли помещать какие-то данные в кэш или нет. А иногда и по-ошибке их помещать, а потом все равно вытеснять на винчестер, поскольку… новые надо записывать. Впрочем, отрицательный эффект выражен вообще очень слабо, а модулей большой емкости вовсе не касается.

Зато подобные операции способны ускоряться. Опять же — ничего неожиданного: ведь в ряде случаев пропадает необходимость «дергать» винчестер параллельными запросами. Пусть себе спокойно читает данные с той скоростью, с которой может и не отвлекается на запись — ее на себя возьмет кэширующий модуль. Но, естественно, емкость последнего должна быть достаточной для такого применения. Если это условие соблюдается, получаем мы существенное ускорение операций — вплоть до двукратного в «случайном» режиме (чистой механике вообще противопоказанного). И, кстати, вполне возможно, что такой кэш может нивелировать и проблемы черепичной записи.

Рейтинги

По результатам (особенно при их сравнении с «чистым» 800Р) хорошо заметно, что в Intel выбрали весьма агрессивный подход к кэшированию. С учетом высокого ресурса и низких задержек новой памяти — могли себе позволить. Но, разумеется, срабатывает это только тогда, когда ее емкость достаточна «для всего». А это будет выполняться тем чаще, чем больший модуль мы возьмем. Тем более, что на компьютере обычно используется намного больше программ, нежели несколько тестовых утилит и их данных :) Поэтому в среднем эффект от ускорения будет менее заметным, чем возможно в теории. Но чем больший кэширующий накопитель мы возьмем — тем больше будет «хороших» случаев и меньше «плохих».

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

Итого

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

А в системах минимальной стоимости — и вместо. Поскольку, например, покупка твердотельного накопителя на 120 ГБ (а именно такие напрямую конкурируют по цене с Optane Memory 16 ГБ, оказываясь в среднем даже дороже) предполагает и некоторые неудобства: в данном случае придется вручную разбираться, что́ помещать на SSD, а что́ — на винчестер (без которого все равно не обойтись). Optane Memory не гарантирует высокой производительности вообще всегда, зато и ручной настройки не требует никогда. А по мере снижения цен можно будет воспользоваться и хорошей масштабируемостью данной технологии — тем более, что замена накопителя на больший по объему никаких сложностей не несет и никакой квалификации от пользователя не требует. Так что перспективы технологии вполне прослеживаются —, но зависеть они будут, разумеется, от цены. Пока тот же Optane SSD 800Р 118 ГБ стоит на уровне «обычного» твердотельного накопителя на 512 ГБ, радость от возможности использовать его для кэширования (и от удобства этого) остается чисто теоретической. А дальше — посмотрим.

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