Заказ звонка

*
*
Защита от автоматических сообщений
CAPTCHA
Введите слово на картинке*

Тестирование NVMe SSD Intel P3608

09.03.16

Предисловие

Если вы ещё не знакомы с накопителями NVMe, ничего не знаете о различиях между NVMe и другими PCI-E SSD, о преимуществах и форм-факторах NVMe-накопителей, то необходимую информацию можно найти в Википедии и в нашем предыдущем обзоре накопителя HGST SN150.

NVMe-совместимые накопители Intel

750/P3500/P3600/P3700

Компания Intel представила свои собственные NVMe накопители в июле 2014 года.[1] Три линейки корпоративных накопителей — P3500, P3600 и P3700, были выпущены в виде низкопрофильных плат расширения и накопителей 2,5" (форм-фактор U.2) объёмом от 400 до 2000 ГБ. Между собой линейки различались производительностью на запись и ресурсом: 0,3 / 3 / 17 DWPD и 35–175 тыс. IOPS на запись блоками 4 КиБ.[2] При производительности на чтение до 450 тыс. IOPS и последовательном доступе до 2,8/2,0 ГБ/с на чтение/запись, все эти накопители и на сегодняшний день остаются достаточно конкурентоспособными и популярными. Линейка Intel 750, удешевлённая версия для настольного применения, с меньшим ресурсом и без защиты от потери питания, тоже заняла достойные позиции в сегменте быстрых SSD для домашних ПК класса high-end и рабочих станций.

Время не стоит на месте, и через год у популярной средней линейки P3600 появились сильные конкуренты в лице HGST SN100/SN150 и OCZ 6300. При том же ресурсе в 3 DWPD они предлагают большую производительность на чтение и объём до 3,2 ТБ. Естественно, пришло время как-то улучшить Intel P3600. Что может быть лучше одного P3600? Только два P3600 в общем корпусе!

P3608

Каждая из трёх моделей линейки P3608 представляет собой «бутерброд» из двух P3600. Внешний вид карточки практически не изменился — всё тот же сплошной радиатор для охлаждения контроллера и чипов NAND, низкопрофильный форм-фактор и защитная пластина с обратной стороны платы. Вместо четырёх линий PCI-E 3.0 теперь используется восемь линий, что позволяет не ограничивать увеличенную производительность при последовательном доступе.

Мы не стали вскрывать наш экземпляр. Если вас интересует внутреннее устройство, скрытое под радиатором, то подробные фотографии можно увидеть в обзоре The SSD Review.[3] Для подключения двух контроллеров к шине PCI-E используется чип-коммутатор PLX PEX8718. Чипы NAND остались прежними — HET MLC, произведённые по 20 нм процессу. Естественно, потолок энергопотребление двойного накопителя выросло — максимум для модели на 4 ТБ составляет 40 Вт вместо обычных для стандартных NVMe накопителей 25 Вт. Как следствие — Intel P3608 не выпускается в форм-факторе U.2 (2.5").

Характеристики Intel P3608

  • Объём: 1,6 ТБ, 3,2 ТБ, 4 ТБ
  • Форм-фактор: низкопрофильная плата PCI-E
  • Интерфейс: PCI-E 3.0 x8
  • Производительность (для модели 1,6 ТБ)
    • Последовательный доступ (блок 128КиБ): чтение — 5000 МБ/с, запись — 2000 МБ/с
    • Случайный доступ (блок 4 КиБ): чтение — 850000 IOPS, запись — 150000 IOPS, 70/30 чтение/запись — 300000 IOPS
    • Случайный доступ (блок 8 КиБ): чтение — 500000 IOPS, запись — 60000 IOPS, 70/30 чтение/запись — 160000 IOPS
    • Средняя задержка (блок 4 КиБ, случайный доступ, чтение): 120 мкс (99% = 120 мкс, 99,99% = 3 мс)
    • Средняя задержка (блок 4 КиБ, случайный доступ, запись): 30 мкс (99% = 500 мкс, 99,99% = 4,7 мс)
  • Поддержка T10 DIF. Размер сектора: 512/520/528 и 4096/4160/4224 байт
  • Ресурс: 3 DWPD
  • Максимальное энергопотребление: 40 Вт
  • Гарантийный срок: 5 лет

Подробнее — в официальной спецификации.[4]

Управление

Intel P3608 совместим со спецификацией NVMe 1.0.[4] Как и все NVMe-совместимые накопители, он поддерживает работу со стандартным драйвером NVMe и работу с nvme-cli[5], набором утилит для управления NVMe-накопителями с открытым исходным кодом.

Пример вывода команды nvme smart-log:
[root@localhost info]# nvme smart-log /dev/nvme0
Smart Log for NVME device:/dev/nvme0 namespace-id:ffffffff
critical_warning                    : 0
temperature                         : 34 C
available_spare                     : 100%
available_spare_threshold           : 10%
percentage_used                     : 0%
data_units_read                     : 2
data_units_written                  : 0
host_read_commands                  : 136
host_write_commands                 : 0
controller_busy_time                : 0
power_cycles                        : 2
power_on_hours                      : 0
unsafe_shutdowns                    : 0
media_errors                        : 0
num_err_log_entries                 : 0
Critical Composite Temperature Time : 0
Temperature Sensor 1                : 0 C
Temperature Sensor 2                : 0 C
Temperature Sensor 3                : 0 C
Temperature Sensor 4                : 0 C
Temperature Sensor 5                : 0 C
Temperature Sensor 6                : 0 C
Temperature Sensor 7                : 0 C
Temperature Sensor 8                : 0 C

Как и остальные производители Intel предлагает собственную утилиту для управления под Windows и Linux под названием Intel SSD Datacenter Tool (ISDCT). Пример форматирования при помощи isdct (LBA Format=3 соответствует сектору 4096 байт):

isdct start -intelssd 0 Function=nvmeformat LBAFormat=3 SecureEraseSetting=1 ProtectionInformation=0 MetadataSetting=0

Intel предлагает использовать обычный драйвер NVMe для Linux и других ОС, кроме Windows и VMware, для которых предлагается собственный драйвер.

Результаты тестирования

Условия тестирования

Конфигурация тестового стенда:
  • Процессор Intel Xeon E5-2660 V3 (10 ядер, 2,6 ГГц, HT включен)
  • 32 ГБ памяти
  • Системная плата Supermicro X10SRi-F (1x socket R3, Intel C612)
  • CentOS Linux 7.2 X86_64 и Microsoft Windows Server 2012 R2
  • Для генерации нагрузки применялся FIO версии 2.6
  • Драйвер для Windows — 1.3.0.1007
Тестируемое устройство:
  • Intel Intel SSD DC P3608 Series SSDPECME016T4 1,6 ТБ
  • Серийный номер: CVF8542100401P6BGN
  • Прошивка: 8DV10171
  • Объём: 2x 800160657408 байт (2x 745,2 ГиБ)

Использованы модифицированные тесты из SNIA Solid State Storage Performance Test Specification Enterprise v1.1.[6] Данная спецификация описывает алгоритмы различных тестов и формат отчетов. Ниже приведены параметры тестов и отличия от SNIA PTS:

  • IOPS Test. Измеряется количество IOPS (операций ввода-вывода в секунду) для блоков различного размера (1024 КиБ, 128 КиБ, 64 КиБ, 32 КиБ, 16 КиБ, 8 КиБ, 4 КиБ, 0.5 КиБ) и случайного доступа с различным соотношением чтение/запись (100/0, 95/5, 65/35, 50/50, 35/65, 5/95, 0/100). Параметры: 16 потоков с глубиной очереди 16. Отличие от спецификации — из теста был исключён блок 0,5 КиБ (512 байт).
  • Throughput Test. Тестируется пропускная способность при последовательном доступе: чтение и запись блоками 1МиБ и 128КиБ.
  • Latency Test. Измеряется значение средней и максимальной задержки для различных размеров блока (8КиБ, 4КиБ, 0.5КиБ) и соотношений чтение/запись (100/0, 65/35, 0/100) при минимальной глубине очереди (1 поток с QD=1). Отличия от спецификации:
    • исключён блок 0,5КиБ
    • вместо однопоточной нагрузки с очередями 1 и 32 нагрузка варьируется по количеству потоков (1, 2, 4, 8, 16) и глубине очереди (1, 2, 4, 8, 16, 32, 64, 128)
    • вместо соотношения 65/35 используется 70/30
    • приводятся не только средние и максимальные значения, но и перцентили 99%, 99,9% и 99,99%.
    • для выбранного значения количества потоков строятся графики зависимости задержки (99%, 99,99% и среднего значения) от IOPS для всех блоков и соотношений чтение/запись
  • Write Saturation Test. Тестируется изменение производительности (IOPS и задержка) при непрерывной нагрузке (360 раундов по 1 минуте) на случайную запись блоками 4 КиБ. Цель — добиться перехода SSD в режим насыщения, при котором контроллеру приходится непрерывно заниматься сборкой мусора для подготовки пригодных для записи блоков NAND.
  • Host Idle Recovery. Тестируется эффективность работы алгоритмов сборки мусора. После перехода в режим насыщения: непрерывная нагрузка на случайную запись чередуется с облегчённой нагрузкой (5 секунд + паузы 5, 10, 15, 25, 50 секунд). Отличие от спецификации — вместо рекомендованной спецификацией предварительной нагрузки длительностью менее 30 раундов (минут) используется 360 раундов (минут) для обеспечения гарантированного перехода SSD в режим насыщения.

Для первых трех тестов проводится серия замеров из 25 раундов длительностью 1 минута каждый. Перед тестом производится зануление (в данном случае — Secure Erase через isdct), затем — предварительная нагрузка: последовательная запись блоками 128 КиБ до достижения 2-кратной емкости. Далее выбирается по одной из величин окно установившегося состояния (4 раунда), которое проверяется построением графика. Критерии установившегося состояния: линейная аппроксимация в пределах окна не должна выходить за границы 90%/110% среднего значения.

SNIA PTS: IOPS test (IOPS при варьировании размера блока и соотношения чтение/запись)

Для данного теста обе "половины" накопителя были объединены в RAID-0 с использованием mdadm. Размер страйпа в 128 КиБ был выбран в соответствии с рекомендацией Intel. Под Windows Intel рекомендует для построения массивов из NVMe-накопителей собственного производства использовать Intel RSTe.
Сравнение с заявленными характеристиками:
  • 4 КиБ чтение: 880 тыс. IOPS (заявлено 850)
  • 4 КиБ запись: 407 тыс. IOPS (150)
  • 8 КиБ чтение: 525 тыс. IOPS (500)
  • 8 КиБ запись: 212 тыс. IOPS (60)
  • 8 КиБ 65/35 чтение/запись: 282 тыс. IOPS (160 для 70/30)

Intel, как и HGST (см. обзор HGST SN150) добросовестно указывает в спецификации производительность на запись для наихудшего сценария, при котором накопитель переходит в так называемый режим насыщения. Данный тест предполагает лишь выход на установившееся состояние после 2-кратной последовательной записи, и P3608 демонстрирует в два с лишним раза большую производительность на запись в сравнении с заявленной.

Загрузка процессора не превышала 48,3% (100% чтение, 880 тыс. IOPS), в то время как при тестировании SAS HBA Avago 9305-24i на том же 10-ядерном Xeon E5-2660 V3 был достигнут лимит производительности в 1,2 млн. IOPS при 100% нагрузке на процессор. Дело в том, что накопители NVMe за счёт отказа от системы команд SCSI в пользу собственного небольшого набора команд и дополнительных оптимизаций всего стека работы с блочными устройствами позволяют тратить на обработку ввода-вывода существенно меньше процессорных тактов.

SNIA PTS: throughtput test

Пропускная способность при последовательном однопоточном доступе блоками 128 КиБ с глубиной очереди 128. Тест проводился параллельно на двух половинах, результаты складывались.
Сравнение с заявленными характеристиками:
  • 128 КиБ последовательное чтение: 4857,4 МиБ/с (заявлено 4768,4)
  • 128 КиБ последовательная запись: 1975,2 МиБ/с (1907,3)

Для сравнения приведены результаты измерений других PCI-E SSD. Для Intel P3600 данные взяты из официальной спецификации.[7] *

*Intel, как и большинство других вендоров указывает результаты тестов производительности в десятичных мегабайтах (1 МБ = 106 байт), так что был произведен соответствующий пересчёт (1 МиБ = 220 байт).

Накопитель Intel P3608 демонстрирует рекордную производительность последовательного доступа, особенно на чтение. В этом ему помогают два 18-канальных контроллера и шина PCI-E 3.0 x8 — ведь по сути это два Intel P3600 800ГБ на общей плате.

SNIA PTS: latency test

В данных таблицах приведены значения задержки в микросекундах (средняя, максимальная и перцентили 99%, 99.99%) при одном потоке с глубиной очереди 1 в зависимости от размера блока и соотношения чтение/запись (100% чтение, 65/35 чтение/запись, 0/100 = 100% запись). Для Intel P3608 используется новый вариант теста с соотношением чтение/запись 70/30% вместо 65/35%. Из-за силного расхождения результатов между Linux и Windows (см. ниже) данные приведены для Windows (под управлением драйвера NVMe от Intel). В скобках указаны заявленные значения.

HGST SN150 HGST Flashmax IIIIntel P3608Toshiba PX02SM
Задержка4КиБ 8КиБ4КиБ 8КиБ4КиБ 8КиБ4КиБ 8КиБ
Средняя
Чтение 94 104 143 154 67 (120) 101 188 184
Запись 21 24 41 53 16 (30) 18 57 79
Чтение/запись 65/35% (70/30%) 203 269 192 220 92 139 252 287
99%
Чтение 251 175 159 178 125 (120) 153 673 259
Запись 36 39 124 200 31 (500) 31 108 143
Чтение/запись 65/35% (70/30%) 2030 2820 227 630 182 400 550 999
99,99%
Чтение 3962 223 181 329 2832 (3000) 2812 2768 526
Запись 54 62 224 254 79 (4700) 86 3310 7955
Чтение/запись 65/35% (70/30%) 5782 6650 2983 3096 3096 3180 6624 7485

Intel также приводит значения 99% и 99,99% перцентилей задержки для глубины очереди 128 и блока 4 КиБ, их стоит сравнить:

  • 99%, чтение: 753 мкс (заявлено 750)
  • 99%, запись: 809 мкс (заявлено 25000)
  • 99,99%, чтение: 3,2 мс (заявлено 7)
  • 99,99%, запись: 6,7 мс (заявлено 30)

Задержка на запись оказалась существенно ниже заявленной, что обусловлено добросовестным подходом Intel при тестировании производительности — значения в спецификации приводятся для накопителя в режиме насыщения.

Latency vs IOPS test

Полученные значения задержки при однопоточном доступе на запись не соответствовали заявленным. Так как в Intel проводили тестирование под Windows Server 2012 R2, то стоило бы повторить тесты под этой ОС и заодно сравнить производительность при использовании стандартного драйвера NVMe и драйвера NVMe от Intel.

На приведённых ниже графиках сплошные линии соответствуют тесту под управлением CentOS 7.2, длинный пунктир — Windows Server 2012 R2 с драйвером Intel, короткий пунктир — Windows Server 2012 R2 со стандартным драйвером. Данные приведены для одной из половин P3608. Тест проводился с варьированием количества потоков, глубины очереди, размера блоков и соотношения чтение/запись. Данные усреднялись по четырём из 25-ти раундов длительностью 35 секунд (5 «прогревочных» + 30-секундная нагрузка) каждый. Для графиков выбрана серия значений с глубиной очереди от 1 до 128 при четырёх потоках.

На графике средней задержки, как и на остальных можно заметить значительную разницу в производительности на 100% запись и при 30% записи. Производительность под Linux по-прежнему соответствует заявленной, но в Windows мы видим более чем 2-кратное преимущество по 100% записи — больше IOPS при меньших задержках.

99% перцентиль задержки.

99,9% перцентиль задержки. Появляется заметная разница в задержке при 100% чтении блоками 8 КиБ.

99,99% перцентиль задержки.

SNIA PTS: Write Saturation Test (насыщение при случайной записи блоками 4КиБ)

Продолжительность теста составляет 360 минут, так как переход в режим насыщения для большинства SSD происходит не позднее 180-й минуты. Для Intel P3608 тестировались обе половины накопителя, IOPS'ы складывались.

Intel P3608 за счёт своей архитектуры 2-в-1 демонстрирует уверенное преимущество — стоит напомнить, что фактически мы тестируем два Intel P3600. В сравнении со "свежим" накопителем производительность падает в три раза, но всё еще остается на уровне внушительных 160 тыс. IOPS (заявлено 150 тыс.).

На следующем графике представлены задержки — от среднего (в пределах каждого 60-секундного раунда) до максимума, плюс перцентили 99%, 99,9% и 99,99%. Линия максимальной задержки без резких пиков с ростом задержки до сотен миллисекунд свидетельствует от том, что накопитель хорошо справляется с работой в режиме насыщения и отлично подойдёт для тяжелой нагрузки на запись (при условии достаточности ресурса).

SNIA PTS: Host Idle Recovery

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

  • 5 секунд нагрузки + 5 секунд паузы
  • 5 секунд нагрузки + 10 секунд паузы
  • 5 секунд нагрузки + 15 секунд паузы
  • 5 секунд нагрузки + 25 секунд паузы
  • 5 секунд нагрузки + 50 секунд паузы

Intel P3608 быстро восстанавливает производительность — IOPS' с 80 тыс. даже на первом участке с минимальными паузами восстанавливаются до уровня 200–240 тыс.

Средняя задержка перестаёт выходить за пределы 1,4 мс.

Значение 99.9% перцентиля держится в пределах 10 мс.

Перцентиль 99,99%:

Пиковые задержки достаточно хорошо контролируются у Intel P3608 даже при непрерывной нагрузке на запись, так что визуально максимумы находятся примерно на одном уровне, не выходя за пределы 25 мс.

Заключение

Intel P3608 — достойный внимания продукт от одного из лидеров рынка NVMe-накопителей. Выдающиеся показатели производительности и достаточный для большинства задач ресурс будут способствовать популярности P3608 до момента появления следующего поколения NVMe SSD от Intel. К сожалению, его сегодняшняя цена[3] в сравнении с P3600 оставляет нам лишь один простой алгоритм выбора — Intel P3608 стоит выбрать только в том случае, если вам нужны объём и/или производительность двух Intel P3600, но не хватает слотов расширения.

Плюсы:

  • Высокая производительность. 4,75 ГиБ/с на последовательном чтении на сегодняшний день предложить не может ни один другой накопитель. Аналогичный уровень производительности можно получить, установив два Intel P3600, но они заняли бы два слота расширения.
  • Архитектуру «2-в-1» сложно однозначно отнести к плюсам или минусам. С одной стороны — иметь один накопитель большего объёма удобнее. Его всегда можно разделить на несколько частей, разбив на т. н. «пространства имён»[1], а обратный процесс связан с необходимостью строить массив. С другой стороны мы получаем два накопителя, не влияющих друг на друга в плане производительности.
Минусы:
  • Проблемы с производительностью в Linux[2] (случайный доступ на запись).
  • Отсутствие форм-фактора U.2
  • Цена[3]

Примечания

[1] Пространство имён NVMe (англ. NVMe namespace) — область накопителя NVMe, отформатированная для блочного доступа. Пространства имён могут иметь различные размеры сектора или могут использоваться виртуальными машинами через SR-IOV.

[2] Никакого исследования возможных причин пониженной производительности не проводилось. Возможно, данная проблема проявляется только в одном дистрибутиве (CentOS 7.2).

[3] По состоянию на март 2016 года цена одного Intel P3608 существенно превышала цену двух P3600 аналогичного суммарного объёма (например, P3608 1600 ГБ и 2x P3600 800 ГБ или P3608 3200 ГБ и 2x P3600 1600 ГБ).

Ссылки

[1] Scot Strong. Intel Adds PCIe Solutions To Its Data Center Family Of SSDs. The SSD Review.

[2] Intel SSD DC Family for PCIe Brief.

[3] Sean Webster. Intel SSD DC P3608 Review (1.6TB) – Over 5GB/s and 850K IOPS!. The SSD Review.

[4] Intel Solid-State Drive DC P3608 Series Product Specification.

[5] NVMe management command line interface..

[6] Solid State Storage (SSS) Performance Test Specification (PTS).

[7] Intel Solid-State Drive DC P3600 Series Product Specification.

Вернуться к списку

Контакты:

  • Адрес: 115487, г. Москва, ул. Нагатинская, дом 16 (Метро "Нагатинская")
  • Телефон: (495) 747-3113
  • Факс: (495) 747-3112
  • Гарантийный отдел: (495) 747-3113 (доб. 333, 304)
  • Отдел продаж: (495) 747-3113
© 2006-2017 True System inc