Быстро, быстрее, еще быстрее. Разгоняем Intel Optane

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Обзор | HDD, SSD, флешки, прочие носители информации

Пожалуй, мало кто будет спорить с тем, что появление накопителей на базе флэшпамяти на замену традиционным жестким дискам является одним из наиболее ярких этапов развития вычислительных систем за последнее время. Кардинальное уменьшение времени случайного доступа и увеличение скорости на последовательных операциях заметно невооруженным взглядом и без специальных тестов. Если взять за точку отсчета Intel X25-M, то за прошедшие десять лет мы были свидетелями революции роста объемов и производительности с одновременным снижением стоимости за мегабайт. Напомним, что тогда эта модель имела объем 80 ГБ,  интерфейс SATA 3 Гбит/с и предлагалась примерно за $600.

Участвующие в гонке производители совершенствовали контроллеры и использовали новые технологии флэшпамяти, так что кроме банального увеличения объемов, ограниченного на массовом рынке скорее покупательской способностью, также обеспечивало и рост скорости. В какой-то момент для последней стало тесно в интерфейсе SATA 6 Гбит/с. После некоторых метаний, определился новый лидер –  NVMe, работающий с прямым подключением к шине PCI Express. Одновременно был стандартизирован и новый формат устройств –  M.2 (NGFF), который позволил заметно сократить физические размеры, что полезно не только для мобильных устройств.

И вот в этом году компания Intel, один из признанных лидеров индустрии, представила SSD накопитель с новым типом памяти – 3D XPoint. Причем речь идет именно о реальном продукте, доступном на массовом рынке, а не лабораторной разработке. Кстати, заявленная стоимость Intel Optane SSD 900P на 480 ГБ составляет все те же $600, как было десять лет назад за Intel X25-M на 80 ГБ. На страницах сайта iXBT.com уже был подробный обзор этого устройства и в нем оно показало себя с наилучшей стороны по производительности. Но конечно надо понимать, что в реальности использование такой модели «из будущего» может быть оправдано финансово только при наличии соответствующих задач или сценариев использования, которые далеки от запросов массового потребителя и скорее характерны для высоконагруженных серверов, виртуализации, баз данных и всего такого «серьезного».  Основными особенностями решения, которыми оно существенно отличается от других продуктов, является высокая скорость случайного доступа и стабильная производительность в отсутствие необходимости сборки мусора. В существенные недостатки можно записать высокую стоимость за мегабайт, а  относительно невысокая максимальная емкость и формально большое энергопотребление скорее являются особенностями решения.

В этой статье я попробую пару трюков для повышения производительности накопителя SSD, причем делать это будут под Debian. В качестве тестовой платформы выступает система на материнской плате Asus Z170-P с процессором Intel Core i7-6700K и 32 ГБ оперативной памяти. Эта уже немолодая по меркам ИТ-индустрии платформа и сегодня вполне подходит для создания высокопроизводительной рабочей станции, при условии, что вас устраивают ее ограничения по процессору, памяти, наличию слотов и всего такого. ОС Debian 9 во всеми актуальными обновлениями была установлена на отдельный SSD. На плате есть «процессорный» слот PCIe 3.0 x16 и «чипсетный» PCIe 3.0. Тестировался накопитель Intel Optane SSD 900P объемом 280 ГБ. Он выполнен в виде платы PCIe, в комплекте идет сменная планка для низкопрофильных корпусов. Интерфейс устройства – PCIe 3.0 x4. Радиатор на плате не занимает соседних слотов, так что при желании в правильные сервера или рабочие станции можно поставить много таких накопителей.

Для тестирования используется неразмеченный том и утилита fio. Проверяются шаблоны последовательного чтения и записи с блоком 256 КБ и случайные операции с блоком 4 КБ для нескольких вариантов  параметра iodepth. В результатах оцениваем скорость в мегабайтах в секунду для последовательных операций, в IOPS для случайных операций, а также средние задержки (clat).

Первая конфигурация (на графиках «chipset») – просто устанавливаем SSD в чипсетный слот PCIe.  Второй вариант – дополнительная оптимизация системы прерываний в Linux. Рассматриваемый накопитель поддерживает восемь виртуальных линий прерываний и в конфигурации по умолчанию все они обслуживаются первым (нулевым) ядром процессора. Установка параметров Affinity позволяет выбрать, какие ядра процессора будут обрабатывать какие прерывания. Осуществляется эта операция через команды формата «echo “2” > /proc/irq/149/smp_affinity», где «2» — маска ядер, а 149 – номер прерывания. В результате можно добиться такого результата (см. «cat /proc/interrupts»):

На графиках эта конфигурация подписана «chipset+irq». Третий вариант – переставляем SSD в слот, который обслуживается процессором, и оставляем распределение прерываний по ядрам («cpu+irq»). Ну и напоследок к последней схеме добавляем фиксацию частоты ядер процессора на максимальном значении базовой частоты 4 ГГц («cpu+irq+4ghz»).

На первой паре графиков приводятся результаты для операций последовательного чтения.

В этом сценарии заметно отстает от других только первый вариант и преимущественно при небольшой нагрузке. При ее увеличении разница сокращается до стабильных 100-120 МБ/с.  Задержки также отличаются только если идет работа в один или два потока. Если их больше – можно считать цифры одинаковыми.

На последовательной записи ситуация иная – первая конфигурация при росте нагрузки ограничивает производительность на уровне 1 500 МБ/с, тогда как остальные способны показать более 2 200 МБ/с. Задержки также при числе потоков 64 и выше оказываются больше почти в полтора раза (хотя в абсолютном значении не превышают 45 мс).

Случайное чтение блоками по 4 КБ все конфигурации выполняют примерно на одной скорости. В IOPS это соответствует значениям около 580 000, а в мегабайтах в секунду – 2 300 МБ/с. Как раз этим Intel Optane 900P и может быть интересен – скорость случайного чтения практически не отличается от скорости последовательного чтения. По задержкам (обратите внимание, что на этом и следующем графике используются нс, против мс для последовательных операций) разницы тоже почти нет, с минимальным опережением выигрывает максимально «разогнанный» вариант.

В случайной записи первый раз в этой статье мы видим три группы – отставание первой конфигурации, идущие рядом вторую и третью и четвертую с небольшим отрывом при глубине очереди до 32. Абсолютные значения IOPS в этом тесте достигают 520 000, а скорость превышает 2 000 МБ/с. Аналогичная расстановка сил и на графике задержек.

По результатам проведенных тестов можно сделать несколько выводов. Во-первых, накопитель можно эффективно использовать и в достаточно старых системах. Во-вторых, он неплохо чувствует себя и на чипсетной шине PCIe. Так что при необходимости (например, если нужно поставить сразу несколько штук или в рабочей станции мало слотов), их можно использовать и в такой конфигурации. Единственное, на что стоит обратить внимание – на настройку распределения прерываний. Во-третьих, особого смысла разгонять процессор для повышения скорости работы диска нет (конечно, если речь идет об обычной работе, а не соревнованиях «на цифры»). Но если число потоков невелико, фиксация высокой частоты ядер имеет заметный эффект.

Напоследок приведем аналогичные цифры на том же оборудовании и программном обеспечении для конфигурации «chipset+irq» NVMe-накопителя Intel 760p объемом 256 ГБ, выполненного в виде платы расширения M.2.

По скорости разница более чем заметна. Впрочем, как и по стоимости – 6 500 руб против 28 000 руб.

Автор не входит в состав редакции iXBT.com (подробнее »)

14 комментариев

avaddon
троллейбус из буханки.жпг имхо…
A
Цитата: «накопитель поддерживает восемь виртуальных линий прерываний и в конфигурации по умолчанию все они обслуживаются первым (нулевым) ядром процессора».
Автор — красавчик! Только укрепил меня в моём предположении о подобном ограничении. Вот объясните мне, кто-нибудь, зачем для дисковых операций ограничивать обработку потоков 1 (одним!!) ядром ЦПУ? Только не отвечайте идиотскими «это кроме тебя больше никому не нужно». И, ведь, такое же делает даже софт для Рамдрайва (рамдиска). Любой. Я в тестах вместо ожидаемых разумных, ну, хотя бы 70% от теоретической ПСП (у меня это ~100 GB/s по Аиде), я получаю только 10%. Всего 10%, Карл! /фейспалм.жпг/ Ладно, мне повезло и хоть один найденный Рамкеш этим не страдал и вместе с ним я в итоге получил-таки вменяемые цифры (под 50%). Эксперименты с Рамдрайвом я поэтому отложил в сторонку (иначе, как я спокойно людям буду в глаза смотреть и объяснять, почему и зачем Рамкеш стоит сверху на вешать Рамдрайв, ЛОЛ), т.к. Рамкеш почти также эффективен и верхом на nvme диске. Вот такие дела…
А за статью и эксперимент, автору — большой респект! Ещё бы у нас на overclockers.ru это опубликовали (там с недавних пор приплачивают за подобное).
Kirill Kochetkov
На самом деле нельзя говорить о том, что описанная технология полезна всегда и везде. В определенных конфигурациях могут быть непростые особенности ее реализации, что может приводить и к снижению производительности. Вопрос, как всегда, в конкретных сценариях и задачах. Учитывая, что дело в программной настройке, можно всегда проверить разные варианты и выбрать наиболее подходящий.
A
Да я и не пытался заявить об исключительной полезности. Мои эксперименты лишь показали, что что-то действительно не так. А вы позволили копнуть эту тему глубже. Я нужных мне программных настроек не увидел (не нашёл). На то и посетовал. И я бы, конечно, вполне спокойнее на всё отреагировал, если бы разница не составляла в разы. На такое не обратить внимание авторам утилит/драйверов или же не просто заметить — это уж, извините. ;)
v
Спасибо за статью! Было б интересно узнать примеры задач данной рабочей станции, для которых имеет смысл установка нескольких Optane-накопителей да еще и с тюнингом производительности, но хватает скромного процессора на десктопной MB без ECC RAM?
Kirill Kochetkov
Использованный для тестов компьютер сложно назвать «рабочей станцией» в общепринятом смысле этого термина. И конечно приведенные тесты скорее являются «побочным результатом», но не выбрасывать же цифры. Вдруг кому пригодятся. На самом деле, Optane первоначально планировался для сценария «RAM tool small» (см. пункт 2 в https://www.anandtech.com/show/11953/the-intel-optane-ssd-900p-review/2). Однако по факту данная история потерпела полное фиаско. Так что если хочется более 64 ГБ — просим в совсем другой класс оборудования. Ну или оптимизировать модели, что б влезали в 64 ГБ.
v
Спасибо за ссылку: и сам Billy Tallis с трудом притянул лишь второй пункт, предоставленный Интеловским PR-отделом, и обсуждение на первой странице там интересное :) Пользователи SideFX Houdini, учитывая стоимость пакета и решаемые в нем задачи, вряд ли клюнут на «быстрый» Optane-своп — скорей возьмут нормальную рабочую станцию с сотнями GB RAM и будут сдавать проекты в срок. Похоже, Optane пройдет не только мимо меня (как на десктопах, так и на серверах), но даже за других пользователей со специфичными задачами (нет таких?) порадоваться не придется. А жаль.
Kirill Kochetkov
Да, с рабочими станциями сложно. Как вариант — можно попробовать использовать для сервера виртуализации.
Yurius
Optane вроде как и для кеша неплох, например для полки HDD. Ну и посмотрим, что там Intel пилит за DIMM на Optane.
Kirill Kochetkov
Для кэша полки HDD любой накопитель на флеше полезен. Optane конечно тут должен выступить лучше других благодаря своей скорости. Вот только объема может не хватить (полка 12 дисков по 10 ТБ в RAID6 — это 90 ТБ (с учетом «двоично-десятичности» измерений).
Kirill Kochetkov
Немного не так. Я имел ввиду, что если массив на HDD на много десятков терабайт, то Optane может быть не очень эффективен в роли кэша из-за своей относительно небольшой емкости.
Kirill Kochetkov

Ответ Guest_N на комментарий
Иначе говоря в интерпрайз сегменте оптан это не про дружбу с HDD.

В целом да. Слишком большая пропасть между ними по объемам и скорости. Хотя конечно дружба разная бывает. Сценариев/конфигураций/вариантов в любом случае не меньше, чем заказчиков.

Добавить комментарий

Сейчас на главной

Новости

Публикации

Orico M.2 AM2C3-G2: корпус для NVMe SSD, с быстрым извлечением накопителя, и внешним радиатором

Ранее я уже делал обзор нескольких корпусов Orico M.2 SSD. Но то были SATA. Герой же сегодняшнего обзора, это более быстрый NVMe. Помимо этого он ещё отличается возможностью быстрой смены...

Профессиональная камера в среднем классе: обзор смартфона OPPO Reno11 F

В сегодняшнем обзоре мы подробно разберем горячую новинку под названием OPPO Reno11 F. Это крепкий представитель среднего класса, который предлагает большой 6.7'' безрамочный Amoled-экран,...

Как выбрать тент для автомобиля: ключевые аспекты

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

Где найти самую длинную аллею в мире

От каменных дорог древних цивилизаций до современных мегаполисов, аллеи служат не только путеводителями, но и свидетелями истории. Среди них выделяется одна удивительная дорога — самая...

Оценка криптовалют с точки зрения стоимостного инвестирования

В мире финансов и инвестиций криптовалюты представляют собой относительно новый и динамично развивающийся класс активов. Вместе с тем алгоритмы оценки активов и принятие решений об инвестировании,...

NASA испытает новый вид космического двигателя: солнечный парус

Человечество издавна мечтало о покорении космических просторов, и эта мечта неуклонно воплощается в реальность. Однако, традиционные методы космических путешествий, основанные на реактивном...