SlideShare a Scribd company logo
NVMf:
5 млн IOPS по сети
своими руками
3.0
$ who am i
Системный архитектор в системном интеграторе (IBS)
• Текущие трудовые вопросы: серийные аппаратно-программные
комплексы на несанкционном оборудовании и ПО
Только личное мнение и личный опыт
• Никаких коммерческих и рекламных интересов
• Никаких мнений от имени работодателя или его партнёров
• Могу ошибаться или заблуждаться, но искренне и не ради выгоды
Современность и
новая нормальность
Пропускные способности, задержки, цены: новые компоненты, смены
трендов
Пропускные способности…
Гбит/с
100
64
56
40
32
10
6
3
2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016
Infiniband QDR / 40 GbE
PCIe 2.0 ×4
10 GbE
SAS 1, SATA II
SAS 1, SATA II
Infiniband FDR / 56 GbE
Infiniband EDR
PCIe 3.0 ×4
Пропасть отзывчивости
Устройство Задержка Если бы доступ к L1-кэшу был бы 1 сек
Процессорный кэш L1 0,5 нс 1 сек
ОЗУ 20 нс 40 сек
Коммутатор 100 GbE 1 мкс 33 мин 33 сек
3D XPoint / Optane 7 мкс 3 ч 53 мин 20 сек
NVMe NAND, запись 30 мкс 16 ч 40 мин 10 сек
NVMe NAND, чтение 80 мкс 1 день 20 ч 26 мин 2 сек
PCIe-флэш-массив DSSD D5 100 мкс 2 дня 7 ч 33 мин 20 сек
SATA NAND, чтение 120 мкс 2 дня 18 ч 40 мин 10 сек
SAS-диск 100 мс 6 лет 4 мес. 2 дня 17 ч 20 мин …
Посетить также: Михаил Конюхов.
HDD, SSD, RAM, RAID, и кого на ком кэшировать
// HighLoad++–2016, Дели – Калькутта, 8 ноября 2016 18:00
Кто
задерживает?
График – Амбер Хаффман, ©2016
– устройство
– контроллер
– программная обработка
Цена терабайта: сейчас и в перспективе
NVMe NAND
(не Wikibon)
Вопросы экономики
• $ за IOPS · ТБ ?
• $ за IOPS / задержка ?
Зависят от контекста
и быстро меняются
со временем
• Объём
• Коридор IOPS
• Коридор задержки
Отправные
ограничения $ за ТБ
Ингредиент 0:
Форматы для PCI-Express-накопителей
Бортовой ×4, ×8 M.2 U.2
Изображения Дмитрий Носачёв, CC-SA 4.0, 2016; ©Samsung, 2016; ©Lenovo, 2016
В сервер, рабочую станцию
(1 – 2 устройства)
Серверные платформы с U.2
Supermicro:
• 2 U, 48 NVMe
• 24 Гбит/с на чтение и 750 тыс. IOPS на устройство
Quanta:
• 4 узла в 2 U
• 8 NVMe в каждом
Посетить также: Андрей Чернышёв. Как FB, Apple и Google
разрушают традиции в компьютерном бизнесе, и почему это
для индустрии хорошо
// HighLoad++–2016, Сингапур, 7 ноября 2016 17:00
Горячаязамена
Пределы близки
2 × Intel Xeon E5 – 80 линий PCIe
•80/4 = 20 устройств?
•А ещё сетевые адаптеры…
Теплопакет…
NVM Express: забыть всё прошлое
Упрощённый
набор команд
11 команд
ввода-вывода
(3 обязательных)
16 команд
управления
(10 обязательных)
Глубокие
очереди
65 тыс.
очередей
65 тыс.
команд на
очередь
MSI-X (message-
signaled
interrupts)
Параллелизм
До 2048
прерываний
Привязка к
ближнему
NUMA-узлу
Очереди постановки и выполнения
Изображение ©NVM Express Organization, 2014
Последовательность выполнения
Изображение ©NVM Express Organization, 2014
NVMe против AHCI
NVMe
-
Неблокирующий, сигнальный регистр
на очередь
65535 очередей
65535 команд на очередь
AHCI
4 регистровых чтения на команду
(8000 циклов)
Выполнение команды требует
синхронной блокировки
1 очередь
32 команды на очередь
Пространства имён
/dev/nvme0n1p2
Номер устройства Номер пространства имён Раздел
“LUN для NVMe”
Позволяют сделать несколько
полноценных устройств из
одного
Все NVMe-команды
параметризированы
пространством имён
Многопутевой ввод-вывод с
разделяемым доступом к
пространствам имён
NVMe Data Set Management
• Размер доступа в логических блоках
• Последовательное чтение, последовательная запись
• Задержка (поменьше, побольше)
• Частота доступа (по чтению, по записи, часто/редко)
Оптимизационные «подсказки»
• TRIM
Управляющие команды
Мониторинг SMART
Состояние NVMe
контролируется через SMART
• «Как только тает зарезервированная
область – пора менять»
Но: не со всеми
устройствами всё хорошо
• …падает производительность, а
SMART ничего не показывает…
Зерно сомнения:
несколько SATA SSD против одного NVMe?
Зрелая технология
• NVMe – стабильный стандарт
• NAND – тот же
Доступность аппаратных RAID
• появились RAID для PCI Express
• меньше и меньше RAID-конфигураций в реальной жизни
низкая цена?
• NAND тот же!
Micron 3D-XPoint, Intel Optane: coming soon
Новая технология
(не NAND)
Для установки в
DDR (NVDIMM) и в
PCIe (NVMe)
Предположительно
$/1 TB = × 0,5 RAM
и 5×NAND
… рекламируется и обещается недорогим
Графика: ©Intel, 2015
3D XPoint / Optane: Смещение задержки
График: ©Джек Жан, Intel, 2014
Ингредиент 1:
безубыточная сеть
Изображение: ©Mellanox, 2013
Прямой доступ к удалённой памяти
Zero-copy для сети: мимо циклов
ЦПУ и буферов ОС
Прямой доступ к удалённому ОЗУ
Разгрузка ЦПУ
Реализации
(язык Verbs)
Infiniband
RoCE
(RDMA over Converged Ethernet)
iWARP
(Internet Wide-area RDMA Protocol)
RDMA-сети: от недоверия к внедрению
2010-е
Сближение с массовым классом
по цене
Свободное ПО (OFED),
поддержка в дистрибутивах
Адаптационные библиотеки (Accelio)
2000-е
Дорого
(«забава для
высокобюджетных HPC»)
«Непонятное ПО»
Нужно переписывать
сетевую часть ПО
(«нельзя просто открыть сокет»)
Подключаем блочные устройства
по безубыточной сети…
iSER
• iSCSI Extensions for RDMA
SRP
• SCSI RDMA protocol
SCSI-команды по сети?
А если NVMe-команды по сети?
NVMf !
И0 + И1 → NVMf
NVM Express over Fabrics
[NVMeoF] [NVMef]
NVMf
Способ разговора на языке NVMe по сети
Fibre
Channel
RDMA
Inifniband
iWARP
RoCE
«Фабрики будущего»
Стандарт
NVMe Express
Oraganization
Работа над стандартизацией с 2014 года
5 июня 2016: спецификация NVM Express
Over Fabrics, версия 1.0
Необходимые для сети
уровни абстракции и команды
«Капсулы»
(вместо очередей в разделяемой памяти)
Connect, Property Get, Property Set
Контроллер обнаружения
(NQN вместо PCIe-шинной идентификации)
Ранние реализации
HGST
• Проброс NVMe-команд через SRP с преобразованием
Intel SPDK
(Storage
Performance
Development Kit)
• С использованием Intel Dataplane
Development Kit
• Лицензия BSD
• Драйвер в пользовательском пространстве
Ядро Linux
• рабочая группа
• список рассылки
• приватный git-
репозиторий
2015
• Добавлено в
ядро 4.8
6 июня 2016
• Ядро 4.8
выпущено
2 октября
2016
Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками
Инициатор и цель
Хост-драйвер
• Поддержка RDMA-транспорта –
Infiniband, RoCE, iWARP, OmniPath
• Множественный Connect/Disconnect
• Передача в транспорт команд NVMe и
данных, полученных от ядра NVMe
• Сервис обнаружения
• Многопутевой ввод-вывод (multipath)
• Поддержка соедения (keep-alive)
nvmet[arget]
• Поддержка обязательных сетевых и
NVMe-команд
• Поддержка множественных хостов,
подсистем, пространств имён
• Сервис обнаружения
• Поддерживает любое блочное
устройство (NVMe, SCSI, ramdisk,
virtio…)
Объём кода хост-драйвера по назначению
Диаграмма: ©Кристоф Хельвиг, 2016
Дело за малым – настроить!
Kernel 4.8.2 (выпуск 16 октября 2016)
nvme-cli 0.8
Модули nvmet, nvmet-rdma
https://community.mellanox.com/docs/DOC-2504
Обнаруживаем и подключаем!
# nvme discover -t rdma -a 192.168.0.2 -s 1023
<…>
Discovery Log Number of Records 1, Generation counter 1
=====Discovery Log Entry 0======
<…>
subnqn: nvmes0
<…>
# nvme connect –t rdma –n nvmes0 -a 192.168.0.2 -s 1023
# lsblk | grep nvme
nvme0n1 259:0 0 1G 0 disk
Замеры
Что и как замерять, замеры и некоторые их результаты
Что замерять?
IOPS на чтение
IOPS на запись
Случайное
Задержка
Cеть?
• 4K и другие
• 128K, 4K и другие
• Но и последовательное
• Достаточность
• Сбалансированность
Чем замерять?
hdparm
--direct
dd
iflag=direct
oflag=direct
Линейная
скорость
Прикидочный
тест
iometer
Есть
сомнительные
результаты…
fio
Стандарт де-
факто
Множество
настроек
Размер блока
4k
1k 16k 64k 256k
«замеряйте
реальную нагрузку,
а не гоняйте
синтетику»
Если она
типична, и её
можно
захватить и
прогнать – то
так и надо
NUMA: для PCIe – имеет значение
Изображение: ©Кристофер Пакен, 2016
Хаб ввода-вывода на каждом NUMA-узле
(а не один за систему)
Начиная с Sandy Bridge
NVMe-накопители и сетевые карты– на PCIe
Важна NUMA-локальность
NUMA: тюнинг
Правильный FIO:
cpus_allowed
numa_cpu_nodes
numa_mem_policy
Эксплуатационный
тюнинг
taskset --cpu-list
udev-rules
cgroups
numad
Замеры: что даёт сеть?
График – Zeta Systems, ©2016
1 × Xeon E5
1 × Xeon E5
Connect X3
Connect X3
NVMe
NVMe
40 Гбит/c
Тест от Samsung
Изображение: ©Samsung, 2016
24 × NVMe 960 ГБ
Задержки в тесте Samsung
Приросты задержки
Изображение: ©Samsung, 2016
Количество устройств
IOPS в тесте Samsung
Изображение: ©Samsung, 2016
Замеры СУБД (SQL IOPS)
Oracle Database
SLOB CALIBRATE_IO Orion
MySQL PostgreSQL
Sysbench? iostat, pt-diskstats?
Сходить также: Андрей Николаенко. Как получать и
интерпретировать показатели производительности СУБД?
// Технологии баз данных, 29–30 ноября, 2016
СУБД
СУБД над сырыми устройствами
Oracle Database, ASM и ACFS
Файлово-ориентированные
СУБД над сырыми устройствами
• Oracle Database
• IBM DB2
• SAP [Sybase] ASE
• Aerospike
• MySQL [InnoDB]
/dev/raw, raw → O_DIRECT
Oracle ASM
ACFS – кластерная файловая система над ASM
NVMf даёт прямую возможность собрать инфраструктуру грида
Ядро 4.8? Это RHEL 8? Oracle supported platforms…
Automatic Storage Management
Программно-определяемая
сеть хранения и менеджер
томов для Oracle Database
…над любыми блочными
устройствами
Управляемая избыточность Локальность чтения
Флэш в грид
– в Oracle ASM и Oracle RAC
Калифорнийский
стартап (2015)
Акцент на возможности
самосборной
инфраструктуры вместо
all-flash-массивов
Свободное ПО –
конфигурирование и
обслуживание сетевой
флэш-инфраструктуры
Коммерческая
поддержка
Флэшгрид: конструкции
Гиперконвергетная
беcкоммутаторная
Гиперконвергетная
масштабируемая
Дезагрегированная
(с выделенными узлами хранения,
как в Exadata)
Изображения: ©Flashgrid, 2015
5,6 млн IOPS на паре машин…
Евстатиос Евстатиу
(Федеральное ИТ-бюро,
Швейцария)
• 2 × HP ML 350 G9
• Oracle RAC 12c
• Flashgrid
MySQL, MariaDB
• innodb_data_file_path = /dev/raw/raw1:20000Mnewraw;
• Oracle ACFS
• доступно при приобретении поддержки на любой продукт Oracle – Oracle Linux,
MySQL, Oracle VM
См. также: Ilmar Kerm (Affecto). Making MySQL available highly available
using Oracle Grid Infrastructure // OUGE, 2016
Файлово-POSIX-ортодоксальные СУБД
• Множественные вопросы в условиях программно-
определяемых сетей хранения (fsync())
• Не ориентированы на кластеры с общими ресурсами
хранения
PostgreSQL
• Большой и сверхотзывчивый пул под управлением
одного узла
• Без RAID? dm-mirror?
• Горячий резерв без [WAL-]репликации
NVMf –
возможность и
для них?
Контейнеры
Docker everywhere
NVMf для Kubernetes PV Plugin
Но в Kubernetes есть PV (persistent volumes)
– тома для постоянного хранения
NFS iSCSI RBD Cinder … HostPath
В docker-мире содержимое контейнера обычно уничтожается после останова…
Изображение: ©Samsung, 2016
Результат NVMf неотличим от локально-паспортного
Спрос: новый тип устройства для
Kubernetes PV
Но в Kubernetes есть PV (persistent volumes)
– тома для постоянного хранения
NFS iSCSI RBD Cinder NVMf HostPath
OpenStack
Mirantis for Cinder
NVMf-драйвер для Cinder
25 октября 2016
• На базе Intel SPDK
• Драйвер для Cinder
• Доработки для Nova
Возможность отдать NVMf-том виртуальной
машине
Нужна ли NVMf кластерным
системам, у которых сеть –
неотъемлемая часть конструкции?
Программно-определяемые сети хранения
Кластеры распределённой обработки
Поможет ли NVMf для Hadoop?
Hadoop Classic = HDD + 10GbE
Уже есть HiBD
(Университет Огайо)
Hadoop над программно-
определяемой сетью (если
задействует NVMf?)
• ↓↓ $ / ТБ
• RDMA-Hadoop-2.x (HDFS на Vebrs)
• RDMA-Spark
• RDMA-Hbase
• CephFS
• GlusterFS
• Taychon (IMDG)
SDS
Ceph
GlusterFS
Возможность:
разделение слоя устройств
и слоя доступа
• Поддерживается RDMA (через Accelio)
• Отчёты о применении SPDK-драйвера
для NVMe
• Реализован Infiniband/RDMA
• Например, флэш-массив на 3 узлах,
роздан по NVMf SDS-кластеру из 12
узлов
Альтернативы: аппаратура
Массив Mangstor
• “5 млн IOPS на NVMf уже сделали за вас”
Массив DSSD5 на PCIe-расширителях
• 10 млн IOPS
PCI-Express-коммутаторы
Изображения: ©Mangstor, ©Dell (EMC), ©Dolhpin
Связанная альтернатива:
«программно-определяемая память»
Plexistor – свободный P[ersistent]MoF
Слойка из NVDIMM + NVMe Презентуется как память …и как блочное устройство
ScaleMP
На каждый узел – специализированная
виртуальная машина
Виртуальная память из ОЗУ + NVMe из
нескольких узлов – в общий пул
Виртуальным машинам раздаются
«виртуальные NUMA-узлы» из общего
пула
Растягиваем ОЗУ на NVMe и продлеваем по сети
Главное чудо NVMf: возможность, ранее доступная
только на уровне hi-end-all-flash-массивов
Сверхотзывчивый и масштабируемый блочный NVMe-массив
на оборудовании массового класса
Миллионы IOPS (и десятки миллионов IOPS достижимы)
Десятки и сотни терабайт
Посетить также: Сергей Платонов (Raidix), «Поговорим о NVMe over
Fabrics» // Linux Piter, 11–12 ноября, 2016
“Представлю результаты сравнительного тестирования производительности
NVMe over RDMA с другими протоколами, использующими удаленный прямой
доступ к памяти (iSER, SRP, SMB Direct) на кластере с суммарной пропускной
способностью более 4Тб/с”

More Related Content

PPTX
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
 
PDF
Инфраструктура хранения для KADME Whereoil
PDF
Программно-технические комплексы для работы с геолого-геофизическими данными
PDF
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
PDF
HPC file systems (160761)
PPTX
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
PDF
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
PDF
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)
Максим Исаев, IBS. Практика использования комплекса Veritas NetBackup для мод...
 
Инфраструктура хранения для KADME Whereoil
Программно-технические комплексы для работы с геолого-геофизическими данными
DPDK в виртуальном коммутаторе Open vSwitch / Александр Джуринский (Selectel)
HPC file systems (160761)
Защита данных и датацентров от катастроф. Подход Nutanix / Максим Шапошников ...
Как и зачем создавать NginX-модуль — теория, практика, профит. Часть 2 / Васи...
Настройка kubernetes: tips and tricks / Михаил Прокопчук (Avito)

What's hot (20)

PDF
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
PPT
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
PDF
СХД для обработки сейсмики: сравнительный обзор
PPTX
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
PDF
Возможности повышения производительности вычислительных кластеров
PDF
Максим Шапошников, Nutanix
PPTX
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
PPTX
Защита датацентров и данных от катастроф на базе технологий Nutanix / Максим ...
PPTX
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
PDF
RootConf 2015
PPTX
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
PPTX
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
PPTX
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
PPTX
Технологии эффективного хранения данных, ключевые дифференциаторы NetApp
PDF
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
PDF
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
PDF
Резервное копирование не только виртуальных сред при помощи продуктов Veeam
PDF
Гиперконвергентность в трех измерениях: решения, технологии, эффективность
PDF
Механика DDoS (Александр Крижановский)
PPTX
DataCore case studies
Использование Hadoop в Badoo, Валерий Старынин (Badoo)
Отказоустойчивый микрокластер своими руками, Виталий Гаврилов (Ленвендо)
СХД для обработки сейсмики: сравнительный обзор
Nutanix Acropolis - облако на базе KVM под ключ, Максим Шапошников (Nutanix)
Возможности повышения производительности вычислительных кластеров
Максим Шапошников, Nutanix
Тюним память и сетевой стек в Linux: история перевода высоконагруженных серве...
Защита датацентров и данных от катастроф на базе технологий Nutanix / Максим ...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
RootConf 2015
Погружение в виртуальную память и большие страницы / Константин Новаковский (...
Flashcache в mamba.ru / Яковлев Александр Юрьевич (ЗАО Мамба)
За счет чего Tarantool такой оптимальный / Денис Аникин (Mail.Ru)
Технологии эффективного хранения данных, ключевые дифференциаторы NetApp
Мощнее или умнее? Возможности оптимизации ИТ-инфраструктуры для сейсмики
BigMemory - работа с сотнями миллионов бизнес-объектов / Дмитрий Хмаладзе (Ag...
Резервное копирование не только виртуальных сред при помощи продуктов Veeam
Гиперконвергентность в трех измерениях: решения, технологии, эффективность
Механика DDoS (Александр Крижановский)
DataCore case studies
Ad

Similar to Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками (20)

PPTX
Совместимы ли понятия SDS и производительность?
PDF
Флеш в серверах: работа со скоростью вспышки
PDF
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
PDF
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
PDF
Гиперконвергентное решение Cisco HyperFlex
PPTX
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
PDF
Вычислительная инфраструктура без американских производителей: реалии и возмо...
PPT
С. Перроте (Q Logic) Ускорение работы приложений
PPTX
Сервисы Azure для научных исследований
PDF
Обзор новых моделей EMC VNX
PPTX
Современные серверы DEPO Storm и системы хранения DEPO Storage
PDF
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
PDF
Новые модели серверов DEPO Storm на базе Intel Xeon. Практический опыт постро...
PDF
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
PDF
Демонстрация продуктов и технологий Net app
PDF
Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...
PDF
Инструментарий Nvidia для deep learning
PDF
Вебинар С-Терра CSCO-STVM, 14.03.2017
PPTX
Вебинар С-Терра CSCO-STVM, 18.05.2017
PDF
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Совместимы ли понятия SDS и производительность?
Флеш в серверах: работа со скоростью вспышки
Маршрутизаторы Cisco - от чего зависит производительность или как получить ма...
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Гиперконвергентное решение Cisco HyperFlex
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
Вычислительная инфраструктура без американских производителей: реалии и возмо...
С. Перроте (Q Logic) Ускорение работы приложений
Сервисы Azure для научных исследований
Обзор новых моделей EMC VNX
Современные серверы DEPO Storm и системы хранения DEPO Storage
Архитектура и уникальные особенности магистральной платформы Cisco NCS 6000
Новые модели серверов DEPO Storm на базе Intel Xeon. Практический опыт постро...
Гидродинамическое моделирование: возможности оптимизации ИТ-инфраструктуры
Демонстрация продуктов и технологий Net app
Решения компании Cisco для обеспечения безопасности сетей операторов связи и ...
Инструментарий Nvidia для deep learning
Вебинар С-Терра CSCO-STVM, 14.03.2017
Вебинар С-Терра CSCO-STVM, 18.05.2017
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Ad

More from IBS (20)

PDF
Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...
 
PDF
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...
 
PDF
Кейс: Внедрение системы управления HR-данными
 
PDF
Создавайте хорошие таблицы
 
PDF
Примеры использования HR-аналитики
 
PDF
Как запустить аналитику управления персоналом
 
PDF
Антон Боганов, IBS. Контроль и управление производительностью ИТ-инфраструкту...
 
PDF
Д.Романченко, IBS. Аутсорсинг информационной безопасности: взгляд интегратора
 
PDF
Конкурентоспособность российcких ИТ-решений в условиях «новой нормальности»
 
PDF
Андрей Николаенко, IBS. Гиперконвергентная инфраструктура: миграция, технико-...
 
PDF
Андрей Николаенко, IBS. Гиперконвергентность - мягкое введение в веб-масштаб
 
PDF
В.Дубинкин (IBS). Триада SDN - от концепции к практической реализации
 
PDF
П.Сычёв, И.Рогачев (IBS). Комплексная система управления жизненным циклом объ...
 
PDF
Цифровые бизнес-модели, меняющие мир и IT-индустрию // Сергей Мацоцкий на Cne...
 
PDF
Inspur Smartrack – инновационное решение для горизонтального масштабирования ...
 
PDF
Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...
 
PDF
Информационная безопасность сегодня // Фёдор Дбар ("Код безопасности") на Int...
 
PDF
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
 
PDF
Современные флэш-технологии – от концепции к преимуществам использования // А...
 
PDF
Cохранить замещая. IBS и Huawei // Максим Исаев (IBS) на InterLab Forum 2015
 
Андрей Николаенко, IBS. DBMS Benchmarks in a Nutshell: концентрированное обоз...
 
Андрей Николаенко, IBS. Инструменты больших данных: от конкуренции – к интегр...
 
Кейс: Внедрение системы управления HR-данными
 
Создавайте хорошие таблицы
 
Примеры использования HR-аналитики
 
Как запустить аналитику управления персоналом
 
Антон Боганов, IBS. Контроль и управление производительностью ИТ-инфраструкту...
 
Д.Романченко, IBS. Аутсорсинг информационной безопасности: взгляд интегратора
 
Конкурентоспособность российcких ИТ-решений в условиях «новой нормальности»
 
Андрей Николаенко, IBS. Гиперконвергентная инфраструктура: миграция, технико-...
 
Андрей Николаенко, IBS. Гиперконвергентность - мягкое введение в веб-масштаб
 
В.Дубинкин (IBS). Триада SDN - от концепции к практической реализации
 
П.Сычёв, И.Рогачев (IBS). Комплексная система управления жизненным циклом объ...
 
Цифровые бизнес-модели, меняющие мир и IT-индустрию // Сергей Мацоцкий на Cne...
 
Inspur Smartrack – инновационное решение для горизонтального масштабирования ...
 
Как за счет СУБД сохранить инвестиции в условиях снижения бюджетов // Руслан ...
 
Информационная безопасность сегодня // Фёдор Дбар ("Код безопасности") на Int...
 
Виртуализация инфраструктуры ЦОД российской разработки // Владимир Порохов (O...
 
Современные флэш-технологии – от концепции к преимуществам использования // А...
 
Cохранить замещая. IBS и Huawei // Максим Исаев (IBS) на InterLab Forum 2015
 

Андрей Николаенко, IBS. NVMf: 5 млн IOPS по сети своими руками

  • 1. NVMf: 5 млн IOPS по сети своими руками 3.0
  • 2. $ who am i Системный архитектор в системном интеграторе (IBS) • Текущие трудовые вопросы: серийные аппаратно-программные комплексы на несанкционном оборудовании и ПО Только личное мнение и личный опыт • Никаких коммерческих и рекламных интересов • Никаких мнений от имени работодателя или его партнёров • Могу ошибаться или заблуждаться, но искренне и не ради выгоды
  • 3. Современность и новая нормальность Пропускные способности, задержки, цены: новые компоненты, смены трендов
  • 4. Пропускные способности… Гбит/с 100 64 56 40 32 10 6 3 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 Infiniband QDR / 40 GbE PCIe 2.0 ×4 10 GbE SAS 1, SATA II SAS 1, SATA II Infiniband FDR / 56 GbE Infiniband EDR PCIe 3.0 ×4
  • 5. Пропасть отзывчивости Устройство Задержка Если бы доступ к L1-кэшу был бы 1 сек Процессорный кэш L1 0,5 нс 1 сек ОЗУ 20 нс 40 сек Коммутатор 100 GbE 1 мкс 33 мин 33 сек 3D XPoint / Optane 7 мкс 3 ч 53 мин 20 сек NVMe NAND, запись 30 мкс 16 ч 40 мин 10 сек NVMe NAND, чтение 80 мкс 1 день 20 ч 26 мин 2 сек PCIe-флэш-массив DSSD D5 100 мкс 2 дня 7 ч 33 мин 20 сек SATA NAND, чтение 120 мкс 2 дня 18 ч 40 мин 10 сек SAS-диск 100 мс 6 лет 4 мес. 2 дня 17 ч 20 мин … Посетить также: Михаил Конюхов. HDD, SSD, RAM, RAID, и кого на ком кэшировать // HighLoad++–2016, Дели – Калькутта, 8 ноября 2016 18:00
  • 6. Кто задерживает? График – Амбер Хаффман, ©2016 – устройство – контроллер – программная обработка
  • 7. Цена терабайта: сейчас и в перспективе NVMe NAND (не Wikibon)
  • 8. Вопросы экономики • $ за IOPS · ТБ ? • $ за IOPS / задержка ? Зависят от контекста и быстро меняются со временем • Объём • Коридор IOPS • Коридор задержки Отправные ограничения $ за ТБ
  • 10. Форматы для PCI-Express-накопителей Бортовой ×4, ×8 M.2 U.2 Изображения Дмитрий Носачёв, CC-SA 4.0, 2016; ©Samsung, 2016; ©Lenovo, 2016 В сервер, рабочую станцию (1 – 2 устройства)
  • 11. Серверные платформы с U.2 Supermicro: • 2 U, 48 NVMe • 24 Гбит/с на чтение и 750 тыс. IOPS на устройство Quanta: • 4 узла в 2 U • 8 NVMe в каждом Посетить также: Андрей Чернышёв. Как FB, Apple и Google разрушают традиции в компьютерном бизнесе, и почему это для индустрии хорошо // HighLoad++–2016, Сингапур, 7 ноября 2016 17:00 Горячаязамена
  • 12. Пределы близки 2 × Intel Xeon E5 – 80 линий PCIe •80/4 = 20 устройств? •А ещё сетевые адаптеры… Теплопакет…
  • 13. NVM Express: забыть всё прошлое Упрощённый набор команд 11 команд ввода-вывода (3 обязательных) 16 команд управления (10 обязательных) Глубокие очереди 65 тыс. очередей 65 тыс. команд на очередь MSI-X (message- signaled interrupts) Параллелизм До 2048 прерываний Привязка к ближнему NUMA-узлу
  • 14. Очереди постановки и выполнения Изображение ©NVM Express Organization, 2014
  • 16. NVMe против AHCI NVMe - Неблокирующий, сигнальный регистр на очередь 65535 очередей 65535 команд на очередь AHCI 4 регистровых чтения на команду (8000 циклов) Выполнение команды требует синхронной блокировки 1 очередь 32 команды на очередь
  • 17. Пространства имён /dev/nvme0n1p2 Номер устройства Номер пространства имён Раздел “LUN для NVMe” Позволяют сделать несколько полноценных устройств из одного Все NVMe-команды параметризированы пространством имён Многопутевой ввод-вывод с разделяемым доступом к пространствам имён
  • 18. NVMe Data Set Management • Размер доступа в логических блоках • Последовательное чтение, последовательная запись • Задержка (поменьше, побольше) • Частота доступа (по чтению, по записи, часто/редко) Оптимизационные «подсказки» • TRIM Управляющие команды
  • 19. Мониторинг SMART Состояние NVMe контролируется через SMART • «Как только тает зарезервированная область – пора менять» Но: не со всеми устройствами всё хорошо • …падает производительность, а SMART ничего не показывает…
  • 20. Зерно сомнения: несколько SATA SSD против одного NVMe? Зрелая технология • NVMe – стабильный стандарт • NAND – тот же Доступность аппаратных RAID • появились RAID для PCI Express • меньше и меньше RAID-конфигураций в реальной жизни низкая цена? • NAND тот же!
  • 21. Micron 3D-XPoint, Intel Optane: coming soon Новая технология (не NAND) Для установки в DDR (NVDIMM) и в PCIe (NVMe) Предположительно $/1 TB = × 0,5 RAM и 5×NAND
  • 22. … рекламируется и обещается недорогим Графика: ©Intel, 2015
  • 23. 3D XPoint / Optane: Смещение задержки График: ©Джек Жан, Intel, 2014
  • 26. Прямой доступ к удалённой памяти Zero-copy для сети: мимо циклов ЦПУ и буферов ОС Прямой доступ к удалённому ОЗУ Разгрузка ЦПУ Реализации (язык Verbs) Infiniband RoCE (RDMA over Converged Ethernet) iWARP (Internet Wide-area RDMA Protocol)
  • 27. RDMA-сети: от недоверия к внедрению 2010-е Сближение с массовым классом по цене Свободное ПО (OFED), поддержка в дистрибутивах Адаптационные библиотеки (Accelio) 2000-е Дорого («забава для высокобюджетных HPC») «Непонятное ПО» Нужно переписывать сетевую часть ПО («нельзя просто открыть сокет»)
  • 28. Подключаем блочные устройства по безубыточной сети… iSER • iSCSI Extensions for RDMA SRP • SCSI RDMA protocol SCSI-команды по сети? А если NVMe-команды по сети? NVMf !
  • 29. И0 + И1 → NVMf NVM Express over Fabrics [NVMeoF] [NVMef]
  • 30. NVMf Способ разговора на языке NVMe по сети Fibre Channel RDMA Inifniband iWARP RoCE «Фабрики будущего»
  • 31. Стандарт NVMe Express Oraganization Работа над стандартизацией с 2014 года 5 июня 2016: спецификация NVM Express Over Fabrics, версия 1.0 Необходимые для сети уровни абстракции и команды «Капсулы» (вместо очередей в разделяемой памяти) Connect, Property Get, Property Set Контроллер обнаружения (NQN вместо PCIe-шинной идентификации)
  • 32. Ранние реализации HGST • Проброс NVMe-команд через SRP с преобразованием Intel SPDK (Storage Performance Development Kit) • С использованием Intel Dataplane Development Kit • Лицензия BSD • Драйвер в пользовательском пространстве
  • 33. Ядро Linux • рабочая группа • список рассылки • приватный git- репозиторий 2015 • Добавлено в ядро 4.8 6 июня 2016 • Ядро 4.8 выпущено 2 октября 2016
  • 35. Инициатор и цель Хост-драйвер • Поддержка RDMA-транспорта – Infiniband, RoCE, iWARP, OmniPath • Множественный Connect/Disconnect • Передача в транспорт команд NVMe и данных, полученных от ядра NVMe • Сервис обнаружения • Многопутевой ввод-вывод (multipath) • Поддержка соедения (keep-alive) nvmet[arget] • Поддержка обязательных сетевых и NVMe-команд • Поддержка множественных хостов, подсистем, пространств имён • Сервис обнаружения • Поддерживает любое блочное устройство (NVMe, SCSI, ramdisk, virtio…)
  • 36. Объём кода хост-драйвера по назначению Диаграмма: ©Кристоф Хельвиг, 2016
  • 37. Дело за малым – настроить! Kernel 4.8.2 (выпуск 16 октября 2016) nvme-cli 0.8 Модули nvmet, nvmet-rdma https://community.mellanox.com/docs/DOC-2504
  • 38. Обнаруживаем и подключаем! # nvme discover -t rdma -a 192.168.0.2 -s 1023 <…> Discovery Log Number of Records 1, Generation counter 1 =====Discovery Log Entry 0====== <…> subnqn: nvmes0 <…> # nvme connect –t rdma –n nvmes0 -a 192.168.0.2 -s 1023 # lsblk | grep nvme nvme0n1 259:0 0 1G 0 disk
  • 39. Замеры Что и как замерять, замеры и некоторые их результаты
  • 40. Что замерять? IOPS на чтение IOPS на запись Случайное Задержка Cеть? • 4K и другие • 128K, 4K и другие • Но и последовательное • Достаточность • Сбалансированность
  • 41. Чем замерять? hdparm --direct dd iflag=direct oflag=direct Линейная скорость Прикидочный тест iometer Есть сомнительные результаты… fio Стандарт де- факто Множество настроек Размер блока 4k 1k 16k 64k 256k «замеряйте реальную нагрузку, а не гоняйте синтетику» Если она типична, и её можно захватить и прогнать – то так и надо
  • 42. NUMA: для PCIe – имеет значение Изображение: ©Кристофер Пакен, 2016 Хаб ввода-вывода на каждом NUMA-узле (а не один за систему) Начиная с Sandy Bridge NVMe-накопители и сетевые карты– на PCIe Важна NUMA-локальность
  • 44. Замеры: что даёт сеть? График – Zeta Systems, ©2016 1 × Xeon E5 1 × Xeon E5 Connect X3 Connect X3 NVMe NVMe 40 Гбит/c
  • 45. Тест от Samsung Изображение: ©Samsung, 2016 24 × NVMe 960 ГБ
  • 47. Приросты задержки Изображение: ©Samsung, 2016 Количество устройств
  • 48. IOPS в тесте Samsung Изображение: ©Samsung, 2016
  • 49. Замеры СУБД (SQL IOPS) Oracle Database SLOB CALIBRATE_IO Orion MySQL PostgreSQL Sysbench? iostat, pt-diskstats? Сходить также: Андрей Николаенко. Как получать и интерпретировать показатели производительности СУБД? // Технологии баз данных, 29–30 ноября, 2016
  • 50. СУБД СУБД над сырыми устройствами Oracle Database, ASM и ACFS Файлово-ориентированные
  • 51. СУБД над сырыми устройствами • Oracle Database • IBM DB2 • SAP [Sybase] ASE • Aerospike • MySQL [InnoDB] /dev/raw, raw → O_DIRECT
  • 52. Oracle ASM ACFS – кластерная файловая система над ASM NVMf даёт прямую возможность собрать инфраструктуру грида Ядро 4.8? Это RHEL 8? Oracle supported platforms… Automatic Storage Management Программно-определяемая сеть хранения и менеджер томов для Oracle Database …над любыми блочными устройствами Управляемая избыточность Локальность чтения
  • 53. Флэш в грид – в Oracle ASM и Oracle RAC Калифорнийский стартап (2015) Акцент на возможности самосборной инфраструктуры вместо all-flash-массивов Свободное ПО – конфигурирование и обслуживание сетевой флэш-инфраструктуры Коммерческая поддержка
  • 55. 5,6 млн IOPS на паре машин… Евстатиос Евстатиу (Федеральное ИТ-бюро, Швейцария) • 2 × HP ML 350 G9 • Oracle RAC 12c • Flashgrid
  • 56. MySQL, MariaDB • innodb_data_file_path = /dev/raw/raw1:20000Mnewraw; • Oracle ACFS • доступно при приобретении поддержки на любой продукт Oracle – Oracle Linux, MySQL, Oracle VM См. также: Ilmar Kerm (Affecto). Making MySQL available highly available using Oracle Grid Infrastructure // OUGE, 2016
  • 57. Файлово-POSIX-ортодоксальные СУБД • Множественные вопросы в условиях программно- определяемых сетей хранения (fsync()) • Не ориентированы на кластеры с общими ресурсами хранения PostgreSQL • Большой и сверхотзывчивый пул под управлением одного узла • Без RAID? dm-mirror? • Горячий резерв без [WAL-]репликации NVMf – возможность и для них?
  • 59. NVMf для Kubernetes PV Plugin Но в Kubernetes есть PV (persistent volumes) – тома для постоянного хранения NFS iSCSI RBD Cinder … HostPath В docker-мире содержимое контейнера обычно уничтожается после останова…
  • 60. Изображение: ©Samsung, 2016 Результат NVMf неотличим от локально-паспортного
  • 61. Спрос: новый тип устройства для Kubernetes PV Но в Kubernetes есть PV (persistent volumes) – тома для постоянного хранения NFS iSCSI RBD Cinder NVMf HostPath
  • 63. NVMf-драйвер для Cinder 25 октября 2016 • На базе Intel SPDK • Драйвер для Cinder • Доработки для Nova Возможность отдать NVMf-том виртуальной машине
  • 64. Нужна ли NVMf кластерным системам, у которых сеть – неотъемлемая часть конструкции? Программно-определяемые сети хранения Кластеры распределённой обработки
  • 65. Поможет ли NVMf для Hadoop? Hadoop Classic = HDD + 10GbE Уже есть HiBD (Университет Огайо) Hadoop над программно- определяемой сетью (если задействует NVMf?) • ↓↓ $ / ТБ • RDMA-Hadoop-2.x (HDFS на Vebrs) • RDMA-Spark • RDMA-Hbase • CephFS • GlusterFS • Taychon (IMDG)
  • 66. SDS Ceph GlusterFS Возможность: разделение слоя устройств и слоя доступа • Поддерживается RDMA (через Accelio) • Отчёты о применении SPDK-драйвера для NVMe • Реализован Infiniband/RDMA • Например, флэш-массив на 3 узлах, роздан по NVMf SDS-кластеру из 12 узлов
  • 67. Альтернативы: аппаратура Массив Mangstor • “5 млн IOPS на NVMf уже сделали за вас” Массив DSSD5 на PCIe-расширителях • 10 млн IOPS PCI-Express-коммутаторы Изображения: ©Mangstor, ©Dell (EMC), ©Dolhpin
  • 68. Связанная альтернатива: «программно-определяемая память» Plexistor – свободный P[ersistent]MoF Слойка из NVDIMM + NVMe Презентуется как память …и как блочное устройство ScaleMP На каждый узел – специализированная виртуальная машина Виртуальная память из ОЗУ + NVMe из нескольких узлов – в общий пул Виртуальным машинам раздаются «виртуальные NUMA-узлы» из общего пула Растягиваем ОЗУ на NVMe и продлеваем по сети
  • 69. Главное чудо NVMf: возможность, ранее доступная только на уровне hi-end-all-flash-массивов Сверхотзывчивый и масштабируемый блочный NVMe-массив на оборудовании массового класса Миллионы IOPS (и десятки миллионов IOPS достижимы) Десятки и сотни терабайт Посетить также: Сергей Платонов (Raidix), «Поговорим о NVMe over Fabrics» // Linux Piter, 11–12 ноября, 2016 “Представлю результаты сравнительного тестирования производительности NVMe over RDMA с другими протоколами, использующими удаленный прямой доступ к памяти (iSER, SRP, SMB Direct) на кластере с суммарной пропускной способностью более 4Тб/с”