Хорошо

Пять главных достоинств обновлённого NVMe

175 0 1 0 0

1. Меньше шума в облаках


Всё чаще провайдеры облачных услуг делают ставку на хранилища AFA — особенно в тех случаях, когда контракт обязывает их предоставлять заказчику гарантированный уровень сервиса по числу операций ввода-вывода за секунду (IOPS) в каждый момент времени. Даже для бытовых NVMe SSD показатели IOPS исчисляются сотнями тысяч, для корпоративных — миллионами, и этого, казалось бы, достаточно для решения любых задач. Однако нагрузка на накопители корпоративного уровня в больших СХД чрезвычайно высока, и может случиться так — особенно с учётом широко распространённой сегодня виртуализации — что в какой-то момент к одному и тому же SSD будет сформировано столько запросов из различных источников, что часть из них контроллер вынужден будет поставить в очередь. Снизив тем самым уровень IOPS для каждой из параллельно обрабатываемых задач в отдельности.


Чтобы избежать подобных накладок, спецификация NVMe 1.4 предусматривает организацию высокоуровневых структур NVM Sets и Endurance Groups. Каждая «группа добротности» (Endurance Group) состоит из одного или нескольких блоков NVM (NVM Sets) — своего рода логических разделов, превосходящих по размеру отдельные пространства имён NVMe (namespaces). Пространства имён, напомним, образованы определённым набором вполне конкретных физических полупроводниковых ячеек в пределах данного SSD, которые последовательно нумеруются контроллером и затем эксплуатируются так, как если бы образовывали отдельный независимый накопитель.


В каждом пространстве имён (их под управлением данного контроллера может быть одно или более) выделяется свой пул подменных ячеек на случай выхода из строя части основных, для каждого контроллер заботливо распределяет нагрузку, чтобы добиться равномерного износа ячеек со временем и т. д. При этом namespaces — динамические структуры: контроллер создаёт и уничтожает их по мере надобности; более того, к пространствам имён под управлением контроллера данного накопителя может быть предоставлен общий доступ извне (например, от общего контроллера СХД). По структурной организации пространство имён NVMe весьма схож со SCSI Logical Unit (LUN).


Так вот, NVM Set представляет собой комбинацию нескольких namespaces (физически могущих располагаться в пределах одного SSD или же относиться к совершенно различным накопителям), а Endurance Groups — структуры следующего уровня иерархии, своего рода аналоги виртуальных дисковых массивов. Суть этой конструкции проста: разделить различные задачи, которые решает СХД, на категории по определённым признакам — и предоставить для каждой из категорий свой ресурс высокоскоростного хранения данных, эффективно изолируя тем самым «шумных соседей».


Noisy neighbors («шумные соседи») — вполне адекватный технический термин, описывающий задачи, которые подразумевают особенно интенсивный обмен данными между процессором, оперативной памятью и подсистемой хранения данных. В отсутствие NVM Sets и Endurance Groups балансировать нагрузку между отдельными накопителями придётся центральному контроллеру СХД, что далеко не всегда производится эффективно и в целом увеличивает задержки при обработке непрерывно поступающих информационных потоков. Блоки же и логически сгруппированные ячейки памяти NAND, управляемые контроллером напрямую и независимо, позволяют для каждой обрабатываемой системой хранения задачи обеспечивать адекватный доступ к подсистеме хранения (в терминах IOPS и задержки) в соответствии с её спецификой.


В результате облачные провайдеры получают возможность предлагать услуги контейнеризации гарантированного на уровне контракта качества на разделяемом аппаратном обеспечении. Чего прежде, до внедрения NVM Sets, добиваться в общем случае не удавалось. Отдельные крупные провайдеры прежде даже заказывали своим поставщикам SSD разработку особых прошивок для контроллеров, которые реализовывали бы функциональность, ныне имплементируемую спецификацией NVMe 1.4.


2. Оркестровка детерминированности


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


В СХД, содержащих множество SSD, при любом запросе к данным, физически размещённым на разных накопителях, скорость отклика будет определяться самым медленным звеном в цепочке. Чем больше накопителей вовлечено в процесс, тем выше вероятность, что в каждый момент времени хотя бы один их них да окажется в режиме housekeeping. Тем самым ни о какой строго определённой производительности системы говорить не придётся. Решение этой проблемы довольно изящно: детерминированный ввод-вывод (NVMe Deterministic IO) реализуется за счёт координации периодов самообслуживания внутри группы накопителей.


3. Производительность на волокне


Для сложно организованных СХД чрезвычайно важна возможность минимизировать задержки в каналах коммуникаций между отдельными своими частями. Протокол iSCSI сослужил в этом отношении отличную службу многим поколениям виртуальных ленточных библиотек и иных систем хранения, построенных на магнитных жёстких дисках. Теперь аналогичную роль в структуре AFA принимает на себя протокол NVMe over Fabrics (NVMe-oF), обеспечивающий высокоскоростные коммуникации между вычислительным узлом и системой хранения. Базируясь на технологии RDMA (прямого дистанционного доступа к памяти), NVMe-oF совместим с такими широко распространёнными решениями, как InfiniBand, RoCE и iWARP.

Разница между локальным SSD в пределах данной конкретной стойки и расположенным на другом конце машинного зала хранилищем благодаря NVMe-oF практически нивелируется: дополнительная задержка при коммуникациях внутри локальной сети исчисляется единицами микро(не милли-!)секунд. Это позволяет физически отделить собственно вычислительные узлы от сред хранения без ощутимого ущерба для производительности. Тем самым провайдеры ЦОДов с большей гибкостью могут производить оптимизацию и модернизацию «железа» — как серверного, так и AFA. Вдобавок, роутинг через протокол TCP делает возможной репликацию удалённых хранилищ с использованием NVMe-oF, обходясь тем самым без дополнительных серверов репликации и снижая издержки.


4. Интерфейс — всему голова


Новейшие спецификации протокола обмена данными предусматривают опциональные PCI-команды в интерфейсе управления NVMe (Management Interface, MI) для точечного контроля рабочих параметров каждого из обслуживаемых устройств. Это приобретает особую важность в случае стыковки двух или более сетей посредством точек сопряжения (Points of Presence, PoP) с использованием протокола NVMe-oF.


5. Обобществление имён


Возвращаясь к упомянутым ранее NVMe namespaces, следует упомянуть ещё об одной особенности, которую предоставляет последняя редакция спецификаций этого стандарта: о разделении пространства имён. Поскольку — благодаря NVM Sets и Endurance Groups, а также NVMe-oF — логических границ между отдельными областями данных в пределах локальной сети де-факто не существует, становится возможным чрезвычайно гибкое управление доступом к информационным кластерам. Создав пространство имён в пределах некоего хранилища данных, соответствующего требованиям NVMe 1.4, не составит труда проложить между ним и любым хостом в пределах ЛВС два или более совершенно независимых канала обмена (PCIe path).


А уж как дальше эти каналы использовать — целиком и полностью зависит от решаемых этим хостом задач. Можно зарезервировать информационные потоки, повысив тем самым надёжность доставки данных от элементов промышленного Интернета вещей на управляющий их работой edge-сервер с элементами машинного обучения. Можно использовать один канал для отправки информации на удалённое устройство, а другой — для её получения, реализуя тем самым полнодуплексный широкополосный обмен медиаданными с индустриальными интерфейсами дополненной реальности. Словом, управление NVMe namespaces открывает перед интеграторами широчайший спектр возможностей для решения самых актуальных задач в нынешних условиях сверхплотных информационных потоков и невероятной ценности времени как производственного и финансового ресурса.

  • x

Комментарий

Выполните вход в систему, чтобы ответить на пост. Вход | Регистрация
Отправить

Внимание! В целях защиты правовых интересов Вас, сообщества и третьих лиц, не публикуйте любой материал, содержащий политические высказывания, порнографию, упоминание азартных игр, употребление наркотиков, а также материал, нарушающий коммерческую тайну или содержащий персональные данные пользователей. Также не предоставляйте данные от вашей учетной записи. Вы будете нести ответственность за все действия, выполняемые под вашим аккаунтом. Подробная информация: “Политика конфиденциальности..”

My Followers

Авторизуйтесь и пользуйтесь всеми преимуществами участника!

Вход

Заблокировать
Вы уверены, что хотите заблокировать этого пользователя?
Пользователи из вашего черного списка не могут комментировать ваши посты, не могут упоминать вас, не могут отправлять личные сообщения.
Напоминание
Пожалуйста, привяжите свой мобильный номер чтобы получить бонус за приглашение.