Новая память для новой архитектуры хранения данных

В течение последнего десятилетия быстродействие процессоров выросло примерно в 10 раз, оперативной памяти — в 8 раз, сетей — в 100 раз, внутренней шины вычислительных систем — в 20 раз, а накопителей на жестких дисках — всего в 1,5 раза. То есть увеличение производительности подсистемы хранения серверов существенно отстает от роста производительности центрального процессора, оперативной памяти, внутренней шины, а также пропускной способности сетей. Недостаточная производительность традиционных жестких дисков (HDD) приводит к увеличению времени отклика приложений. Еще вчера решением могло быть только использование SSD или PCIe-флэш. Сегодня мы шагнули еще дальше с новым типом накопителей непосредственно на шине оперативной памяти!

9c70bb9e5870854681246f687337f19c.png

NVMe приходит на помощь


Отчасти решить эту проблему помогает на порядок более быстрая флэш-память. Для нее разрабатываются новые протоколы и технологии, раскрывающие потенциал интерфейса PCIe, например, Non-Volatile Memory Express (NVMe). Флэш-память NVMe позволяет устранить значительные задержки оборудования и издержки протоколов, связанные с хранением, и может применяться для повышения общей производительности системы, особенно в таких ресурсоемких задачах, как виртуализация, аналитика больших данных и высокопроизводительные вычисления (HPC). С помощью NVMe можно получать доступ к флэш-памяти, минуя прослойку SCSI, что уменьшает время доступа, особенно в случае аппаратной поддержки NVMe, когда функции драйвера реализуются на аппаратном уровне.

2cf36b700b494d029cb9aed89a3222e6.png

Масштабируемая технология NVMe разрабатывалась специально для прямого подключения устройств NVMe (таких как SSD) через интерфейс PCIe Gen3. Она обеспечивает быстрый доступ процессора к данным во флеш-памяти и характеризуется, высокой производительностью в IOPS, малым энергопотреблением и низкими задержками. Поставки первых продуктов NVMe начались в 2014 году. В 2015-м многие вендоры серверов представили свои платформы со слотами NVMe.

NVMe позволяет повысить производительность системы за счет более полного использования параллелизма устройств и программного обеспечения. Накопитель становится «ближе» к процессору, что дает возможность снизить задержку более чем в 20 раз.

В настоящее время в серверах твердотельные накопители (Solid State Drive, SSD) обеспечивают высокую скорость доступа к данным и иногда применяются в качестве кэш-памяти или для хранения промежуточных данных. Не удивительно, что флэш-накопители уверенно завоевывают рынок. По прогнозу компании IHS, к 2017 году поставки SSD в натуральном выражении достигнут половины объема поставок жестких дисков.

618a41c1e2e74994a09b9a2c232f1d95.png
В арсенале компании Hewlett Packard Enterprise — целый спектр накопителей c поддержкой протокола Non-Volatile Memory Express. В этих решениях HPE используются разные форматы накопителей под различные типы нагрузок, включая 2,5» SFF и карты PCIe. Стандартные драйверы NVMe включены в состав наиболее популярных операционных систем. Однако NVMe уже становится «лучшей практикой» вчерашнего дня. В вершине пирамиды её сменяет новая технология — Persistent Memory.

HPE Persistent Memory


Технология HPE Persistent Memory (что означает «энергонезависимая» или «постоянная память») нова не только оригинальным архитектурным решением — размещением энергонезависимого флэш-накопителя на шине памяти, –, но и комплексным подходом. Под нее уже есть драйвер для Microsoft Windows, SDK для Linux, в ближайших планах — научить приложения понимать этот новый тип носителя, что обеспечит, например, поддержку вычислений in-memory на этих модулях без различных ухищрений по сохранности данных.

dc267037284f80ba046090837dce87ba.png

Что же представляет собой HPE Persistent Memory? Упрощенно говоря, это энергонезависимая память с производительностью оперативной памяти. Будучи энергонезависимой, эта память обеспечивает постоянное хранение данных. Технология HPE Persistent Memory, представленная в декабре 2015 года, используется в линейке продуктов HPE ProLiant 2016 года. Большинство из таких систем уже поставляются.

Persistent Memory (или Non-Volatile Memory) — комбинация DRAM с флэш-памятью, которая позволяет избежать потери данных при отключении питания. Поскольку DRAM (модуль DIMM) и NAND «сидят» на шине памяти, данная комбинация работает быстрее, чем флэш-память на карте PCIe.

3c9e131331c272c8728645b107b33c65.png

По своим характеристикам HPE Persistent Memory (NVDIMM) занимает в пирамиде разных видов памяти промежуточное положение между оперативной памятью DRAM и флэш-памятью. В каких же приложениях эта новая технология демонстрирует свои лучшие качества? Прежде всего, это аналитика и базы данных.

5777e4c3df9704bc8891532244a73096.png

При наличии в системе такой постоянной памяти приложения могут хранить больше данных в ОЗУ и реже обращаться к намного более медленным накопителям SSD или HDD. Как показывают первые результаты тестирования, новая технология увеличивает производительность приложений баз данных и аналитики в 2–10 раз. Например, при работе с SQL Server память NVDIMM способна вдвое увеличить скорость записи логов базы данных и на порядок ускорить аналитику SPARK.

Как показывает демонстрационный пример, в котором используются серверы HPE ProLiant Gen9 и СУБД Microsoft SQL Server, переход от накопителей SSD к SSD с дополнительной «прослойкой» в виде модулей памяти NVDIMM (кэш) практически вдвое снижает показатель задержки при записи и значительно увеличивает производительность в транзакциях в мин. Сейчас это 1 000 000 транзакций в секунду, но теоретически уже достижимы значения до 4–5 млн. транзакций в секунду.

Сейчас серверы ProLiant Gen 9 с модулями NVDIMM поставляются с ОС Windows или Linux (Red Hat и SUSE), поддерживают СУБД Microsoft (SQL Server) и аналитику Hortonworks.  

Вместе с отраслевыми поставщиками операционных систем и приложений HPE работает над созданием экосистемы ПО для поддержки энергонезависимой памяти HPE и упрощения ее внедрения для заказчиков серверов HPE ProLiant. То есть одновременно с выпуском аппаратного обеспечения под технологию Persistent Memory формируется экосистема аппаратного и программного обеспечения. Для этого HPE сотрудничает с ведущими разработчиками операционных систем, включая Microsoft, Red Hat, SuSE, а также с независимыми поставщиками ПО (ISV). Совместно с Microsoft ведутся работы по оптимизации SQL Server. Посмотрим подробнее, что представляют собой серверы ProLiant Gen 9.

Новые серверы HPE ProLiant Gen9 с технологией Persistent Memory


В марте 2016 года компания HPE объявила о выпуске новых вычислительных платформ со встроенной поддержкой Persistent Memory. Новые серверы HPE ProLiant Gen9 с процессорами Intel Xeon E5–2600 v4 ускоряют предоставление услуг, повышают производительность приложений и обеспечивают надежность бизнес-операций.

Они оптимизированы для первого продукта в линейке решений с энергонезависимой памятью HPE Persistent Memory — 8-гигабайтных модулей HPE NVDIMM (ожидается выпуск модулей памяти на 16 Гбайт). Данная технология хорошо подходит для всех приложений, на которые влияют традиционные узкие места систем хранения данных.

58b90fe5f9b11e30c8580e9566c4e0f8.jpg


8-гигабайтный модуль HPE NVDIMM доступен для заказа с апреля 2016 года и уже поддерживается серверами HPE ProLiant DL360 и DL380 Gen9 с процессорами Intel E5–2600 v4. Модуль HPE 8GB NVDIMM построен на базе стандартной отраслевой технологии NVDIMM-N в сотрудничестве с организациями по стандартизации JEDEC и SNIA и включает в себя резервное питание от аккумулятора HPE Smart Storage Battery, поддерживающего до 16 модулей NVDIMM, для перемещения данных из DRAM на флэш-память при потере питания.

Результаты тестирования сервера HPE ProLiant Gen9 с СУБД PostgreSQL


В Центре Высоких Технологий HPE новые серверные платформы DL380 Gen9 были протестированы с СУБД PostgreSQL. Тесты проводились специалистами HPE совместно с разработчиками из компании Postgres Pro (https://postgrespro.ru/) в разных конфигурациях.

73c05e277e6c6d81826f68910a8de99d.jpg


Почему именно PostgreSQL? Это полнофункциональная СУБД с открытым кодом, позволяющая решать широкий круг задач. За время существования PostgreSQL вокруг нее сформировалась экосистема, включающая разработчиков, аналитиков и пользователей, благодаря чему имеется возможность расширять функции этой СУБД в зависимости от требований рынка.

PostgreSQL используется и в государственных, и в коммерческих организациях по всему миру, и популярность ее растет, в том числе как раз потому, что на текущий момент PostgreSQL удовлетворяет требованиям, предъявляемым к промышленным СУБД, и считается наиболее совершенной из свободно распространяемых СУБД общего назначения, а рост спроса на решения Open Source — глобальная тенденция. В нашей стране PostgreSQL использует ряд крупных компаний (Yandex, Avito, HeadHunter, Mail.Ru и др.). Интерес к PostgreSQL растет.
Производительность СУБД PostgreSQL с разными типами внутреннего хранилища на серверах HPE ProLiant Gen9 показана ниже.

6bfaab20e92b42c18ccd1dd600a18960.png
Как видно из таблицы, результаты действительно выдающиеся. И перспективы открываются очень интересные.

Новые «правила игры»


Из всего этого следует, что «лучшая практика» хранения должна теперь выглядеть примерно так:

f1a1359cdde844e5985182928adb9512.png
В этой многоуровневой архитектуре хранения нулевой уровень Tier 0 представляет самую быструю, а Tier 3 — самую медленную память. При хранении горячих и холодных данных учитывается производительность, емкость и стоимость хранения. Обычно, чем горячее данные, тем выше $/GB и ниже требования к емкости. Традиционные уровни хранения слева представляют:

Tier 0 = PCIe SSD и PCIe Workload Accelerator (флэш-память NAND на SAS/SATA или шине PCIe), задержка 100 микросекунд.
Tier 1 = SAS HDD (высокопроизводительные диски), задержка десятки миллисекунд.
Tier 2 = SATA HDD (диски большой емкости), задержка сонти миллисекунд.
Tier 3 = магнитная лента или архивный носитель, задержка — секунды и минуты.


Справа — новые устройства хранения. Иерархия выглядит так:

Tier 0 = NVDIMM, задержка — наносекунды.
Tier 1 = PCIe SSD и PCIe Workload Accelerators (флэш-память NAND на SAS/SATA или на шине PCIe), задержка 100 микросекунд.
Tier 2 = SAS HDD (высокопроизводительные диски), задержка десятки миллисекунд.
Tier 3 = SATA HDD (диски большой емкости), задержка сотни миллисекунд.


Таким образом, память NVDIMM заменяет накопители на флэш-памяти PCIe NAND как самые быстрые устройства хранения, меняется архитектура вычислительной системы.  

3ccfbd1b8ac1fe685963baf7fd3363e8.jpg


Разработанная HPE технология Persistent Memory меняет правила игры на серверном рынке. Она станет важной вехой на пути к совершенно новой компьютерной архитектуре под названием HPE Machine, разрабатываемой с 2014 года. В Machine с мемристорной памятью переосмысливается фон-неймановская архитектура, доминирующая с начала компьютерной эры.

Все это можно назвать переходом к новой вычислительной модели — Memory-Driving Computing, где память играет одну из ведущих ролей. Ее воплощением уже стали серверы HPE ProLiant Gen9. Но Memory-Driving Computing, вычисления в памяти — это не просто «железо» с новой архитектурой памяти, но и целая экосистема программного обеспечения. Для этого HPE работает в тесном взаимодействии с разработчиками операционных систем и прикладного софта.

© Habrahabr.ru