В течение последнего десятилетия быстродействие процессоров выросло примерно в 10 раз, оперативной памяти – в 8 раз, сетей – в 100 раз, внутренней шины вычислительных систем – в 20 раз, а накопителей на жестких дисках – всего в 1,5 раза. То есть увеличение производительности подсистемы хранения серверов существенно отстает от роста производительности центрального процессора, оперативной памяти, внутренней шины, а также пропускной способности сетей. Недостаточная производительность традиционных жестких дисков (HDD) приводит к увеличению времени отклика приложений. Еще вчера решением могло быть только использование SSD или PCIe-флэш. Сегодня мы шагнули еще дальше с новым типом накопителей непосредственно на шине оперативной памяти!
![](https://habrastorage.org/r/w780q1/files/917/659/958/91765995837647e48af6a8b96981d4ee.jpg)
Отчасти решить эту проблему помогает на порядок более быстрая флэш-память. Для нее разрабатываются новые протоколы и технологии, раскрывающие потенциал интерфейса PCIe, например, Non-Volatile Memory Express (NVMe). Флэш-память NVMe позволяет устранить значительные задержки оборудования и издержки протоколов, связанные с хранением, и может применяться для повышения общей производительности системы, особенно в таких ресурсоемких задачах, как виртуализация, аналитика больших данных и высокопроизводительные вычисления (HPC). С помощью NVMe можно получать доступ к флэш-памяти, минуя прослойку SCSI, что уменьшает время доступа, особенно в случае аппаратной поддержки NVMe, когда функции драйвера реализуются на аппаратном уровне.
![](https://habrastorage.org/r/w1560/files/2cf/36b/700/2cf36b700b494d029cb9aed89a3222e6.png)
Масштабируемая технология NVMe разрабатывалась специально для прямого подключения устройств NVMe (таких как SSD) через интерфейс PCIe Gen3. Она обеспечивает быстрый доступ процессора к данным во флеш-памяти и характеризуется, высокой производительностью в IOPS, малым энергопотреблением и низкими задержками. Поставки первых продуктов NVMe начались в 2014 году. В 2015-м многие вендоры серверов представили свои платформы со слотами NVMe.
NVMe позволяет повысить производительность системы за счет более полного использования параллелизма устройств и программного обеспечения. Накопитель становится «ближе» к процессору, что дает возможность снизить задержку более чем в 20 раз.
В настоящее время в серверах твердотельные накопители (Solid State Drive, SSD) обеспечивают высокую скорость доступа к данным и иногда применяются в качестве кэш-памяти или для хранения промежуточных данных. Не удивительно, что флэш-накопители уверенно завоевывают рынок. По прогнозу компании IHS, к 2017 году поставки SSD в натуральном выражении достигнут половины объема поставок жестких дисков.
![](https://habrastorage.org/r/w1560/files/618/a41/c1e/618a41c1e2e74994a09b9a2c232f1d95.png)
В арсенале компании Hewlett Packard Enterprise – целый спектр накопителей c поддержкой протокола Non-Volatile Memory Express. В этих решениях HPE используются разные форматы накопителей под различные типы нагрузок, включая 2,5" SFF и карты PCIe. Стандартные драйверы NVMe включены в состав наиболее популярных операционных систем. Однако NVMe уже становится «лучшей практикой» вчерашнего дня. В вершине пирамиды её сменяет новая технология – Persistent Memory.
Технология HPE Persistent Memory (что означает «энергонезависимая» или «постоянная память») нова не только оригинальным архитектурным решением – размещением энергонезависимого флэш-накопителя на шине памяти, – но и комплексным подходом. Под нее уже есть драйвер для Microsoft Windows, SDK для Linux, в ближайших планах – научить приложения понимать этот новый тип носителя, что обеспечит, например, поддержку вычислений in-memory на этих модулях без различных ухищрений по сохранности данных.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/dc2/670/372/dc267037284f80ba046090837dce87ba.png)
Что же представляет собой HPE Persistent Memory? Упрощенно говоря, это энергонезависимая память с производительностью оперативной памяти. Будучи энергонезависимой, эта память обеспечивает постоянное хранение данных. Технология HPE Persistent Memory, представленная в декабре 2015 года, используется в линейке продуктов HPE ProLiant 2016 года. Большинство из таких систем уже поставляются.
Persistent Memory (или Non-Volatile Memory) – комбинация DRAM с флэш-памятью, которая позволяет избежать потери данных при отключении питания. Поскольку DRAM (модуль DIMM) и NAND «сидят» на шине памяти, данная комбинация работает быстрее, чем флэш-память на карте PCIe.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/3c9/e13/133/3c9e131331c272c8728645b107b33c65.png)
По своим характеристикам HPE Persistent Memory (NVDIMM) занимает в пирамиде разных видов памяти промежуточное положение между оперативной памятью DRAM и флэш-памятью. В каких же приложениях эта новая технология демонстрирует свои лучшие качества? Прежде всего, это аналитика и базы данных.
![](https://habrastorage.org/r/w1560/getpro/habr/post_images/577/7e4/c3d/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.
В марте 2016 года компания HPE объявила о выпуске новых вычислительных платформ со встроенной поддержкой Persistent Memory. Новые серверы HPE ProLiant Gen9 с процессорами Intel Xeon E5-2600 v4 ускоряют предоставление услуг, повышают производительность приложений и обеспечивают надежность бизнес-операций.
Они оптимизированы для первого продукта в линейке решений с энергонезависимой памятью HPE Persistent Memory – 8-гигабайтных модулей HPE NVDIMM (ожидается выпуск модулей памяти на 16 Гбайт). Данная технология хорошо подходит для всех приложений, на которые влияют традиционные узкие места систем хранения данных.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/58b/90f/e5f/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 новые серверные платформы DL380 Gen9 были протестированы с СУБД PostgreSQL. Тесты проводились специалистами HPE совместно с разработчиками из компании Postgres Pro (https://postgrespro.ru/) в разных конфигурациях.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/73c/05e/277/73c05e277e6c6d81826f68910a8de99d.jpg)
Почему именно PostgreSQL? Это полнофункциональная СУБД с открытым кодом, позволяющая решать широкий круг задач. За время существования PostgreSQL вокруг нее сформировалась экосистема, включающая разработчиков, аналитиков и пользователей, благодаря чему имеется возможность расширять функции этой СУБД в зависимости от требований рынка.
PostgreSQL используется и в государственных, и в коммерческих организациях по всему миру, и популярность ее растет, в том числе как раз потому, что на текущий момент PostgreSQL удовлетворяет требованиям, предъявляемым к промышленным СУБД, и считается наиболее совершенной из свободно распространяемых СУБД общего назначения, а рост спроса на решения Open Source – глобальная тенденция. В нашей стране PostgreSQL использует ряд крупных компаний (Yandex, Avito, HeadHunter, Mail.Ru и др.). Интерес к PostgreSQL растет.
Производительность СУБД PostgreSQL с разными типами внутреннего хранилища на серверах HPE ProLiant Gen9 показана ниже.
![](https://habrastorage.org/r/w1560/files/6bf/aab/20e/6bfaab20e92b42c18ccd1dd600a18960.png)
Как видно из таблицы, результаты действительно выдающиеся. И перспективы открываются очень интересные.
Из всего этого следует, что «лучшая практика» хранения должна теперь выглядеть примерно так:
![](https://habrastorage.org/r/w1560/files/f1a/135/9cd/f1a1359cdde844e5985182928adb9512.png)
В этой многоуровневой архитектуре хранения нулевой уровень Tier 0 представляет самую быструю, а Tier 3 – самую медленную память. При хранении горячих и холодных данных учитывается производительность, емкость и стоимость хранения. Обычно, чем горячее данные, тем выше $/GB и ниже требования к емкости. Традиционные уровни хранения слева представляют:
Справа – новые устройства хранения. Иерархия выглядит так:
Таким образом, память NVDIMM заменяет накопители на флэш-памяти PCIe NAND как самые быстрые устройства хранения, меняется архитектура вычислительной системы.
![](https://habrastorage.org/r/w780q1/getpro/habr/post_images/3cc/fbd/1b8/3ccfbd1b8ac1fe685963baf7fd3363e8.jpg)
Разработанная HPE технология Persistent Memory меняет правила игры на серверном рынке. Она станет важной вехой на пути к совершенно новой компьютерной архитектуре под названием HPE Machine, разрабатываемой с 2014 года. В Machine с мемристорной памятью переосмысливается фон-неймановская архитектура, доминирующая с начала компьютерной эры.
Все это можно назвать переходом к новой вычислительной модели – Memory-Driving Computing, где память играет одну из ведущих ролей. Ее воплощением уже стали серверы HPE ProLiant Gen9. Но Memory-Driving Computing, вычисления в памяти – это не просто «железо» с новой архитектурой памяти, но и целая экосистема программного обеспечения. Для этого HPE работает в тесном взаимодействии с разработчиками операционных систем и прикладного софта.
И в заключение — небольшое яркое видео:
![](https://habrastorage.org/files/917/659/958/91765995837647e48af6a8b96981d4ee.jpg)
NVMe приходит на помощь
Отчасти решить эту проблему помогает на порядок более быстрая флэш-память. Для нее разрабатываются новые протоколы и технологии, раскрывающие потенциал интерфейса PCIe, например, Non-Volatile Memory Express (NVMe). Флэш-память NVMe позволяет устранить значительные задержки оборудования и издержки протоколов, связанные с хранением, и может применяться для повышения общей производительности системы, особенно в таких ресурсоемких задачах, как виртуализация, аналитика больших данных и высокопроизводительные вычисления (HPC). С помощью NVMe можно получать доступ к флэш-памяти, минуя прослойку SCSI, что уменьшает время доступа, особенно в случае аппаратной поддержки NVMe, когда функции драйвера реализуются на аппаратном уровне.
![](https://habrastorage.org/files/2cf/36b/700/2cf36b700b494d029cb9aed89a3222e6.png)
Масштабируемая технология NVMe разрабатывалась специально для прямого подключения устройств NVMe (таких как SSD) через интерфейс PCIe Gen3. Она обеспечивает быстрый доступ процессора к данным во флеш-памяти и характеризуется, высокой производительностью в IOPS, малым энергопотреблением и низкими задержками. Поставки первых продуктов NVMe начались в 2014 году. В 2015-м многие вендоры серверов представили свои платформы со слотами NVMe.
NVMe позволяет повысить производительность системы за счет более полного использования параллелизма устройств и программного обеспечения. Накопитель становится «ближе» к процессору, что дает возможность снизить задержку более чем в 20 раз.
В настоящее время в серверах твердотельные накопители (Solid State Drive, SSD) обеспечивают высокую скорость доступа к данным и иногда применяются в качестве кэш-памяти или для хранения промежуточных данных. Не удивительно, что флэш-накопители уверенно завоевывают рынок. По прогнозу компании IHS, к 2017 году поставки SSD в натуральном выражении достигнут половины объема поставок жестких дисков.
![](https://habrastorage.org/files/618/a41/c1e/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 на этих модулях без различных ухищрений по сохранности данных.
![](https://habrastorage.org/getpro/habr/post_images/dc2/670/372/dc267037284f80ba046090837dce87ba.png)
Что же представляет собой HPE Persistent Memory? Упрощенно говоря, это энергонезависимая память с производительностью оперативной памяти. Будучи энергонезависимой, эта память обеспечивает постоянное хранение данных. Технология HPE Persistent Memory, представленная в декабре 2015 года, используется в линейке продуктов HPE ProLiant 2016 года. Большинство из таких систем уже поставляются.
Persistent Memory (или Non-Volatile Memory) – комбинация DRAM с флэш-памятью, которая позволяет избежать потери данных при отключении питания. Поскольку DRAM (модуль DIMM) и NAND «сидят» на шине памяти, данная комбинация работает быстрее, чем флэш-память на карте PCIe.
![](https://habrastorage.org/getpro/habr/post_images/3c9/e13/133/3c9e131331c272c8728645b107b33c65.png)
По своим характеристикам HPE Persistent Memory (NVDIMM) занимает в пирамиде разных видов памяти промежуточное положение между оперативной памятью DRAM и флэш-памятью. В каких же приложениях эта новая технология демонстрирует свои лучшие качества? Прежде всего, это аналитика и базы данных.
![](https://habrastorage.org/getpro/habr/post_images/577/7e4/c3d/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 Гбайт). Данная технология хорошо подходит для всех приложений, на которые влияют традиционные узкие места систем хранения данных.
![](https://habrastorage.org/getpro/habr/post_images/58b/90f/e5f/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/) в разных конфигурациях.
![](https://habrastorage.org/getpro/habr/post_images/73c/05e/277/73c05e277e6c6d81826f68910a8de99d.jpg)
Почему именно PostgreSQL? Это полнофункциональная СУБД с открытым кодом, позволяющая решать широкий круг задач. За время существования PostgreSQL вокруг нее сформировалась экосистема, включающая разработчиков, аналитиков и пользователей, благодаря чему имеется возможность расширять функции этой СУБД в зависимости от требований рынка.
PostgreSQL используется и в государственных, и в коммерческих организациях по всему миру, и популярность ее растет, в том числе как раз потому, что на текущий момент PostgreSQL удовлетворяет требованиям, предъявляемым к промышленным СУБД, и считается наиболее совершенной из свободно распространяемых СУБД общего назначения, а рост спроса на решения Open Source – глобальная тенденция. В нашей стране PostgreSQL использует ряд крупных компаний (Yandex, Avito, HeadHunter, Mail.Ru и др.). Интерес к PostgreSQL растет.
Производительность СУБД PostgreSQL с разными типами внутреннего хранилища на серверах HPE ProLiant Gen9 показана ниже.
![](https://habrastorage.org/files/6bf/aab/20e/6bfaab20e92b42c18ccd1dd600a18960.png)
Как видно из таблицы, результаты действительно выдающиеся. И перспективы открываются очень интересные.
Новые «правила игры»
Из всего этого следует, что «лучшая практика» хранения должна теперь выглядеть примерно так:
![](https://habrastorage.org/files/f1a/135/9cd/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 как самые быстрые устройства хранения, меняется архитектура вычислительной системы.
![](https://habrastorage.org/getpro/habr/post_images/3cc/fbd/1b8/3ccfbd1b8ac1fe685963baf7fd3363e8.jpg)
Разработанная HPE технология Persistent Memory меняет правила игры на серверном рынке. Она станет важной вехой на пути к совершенно новой компьютерной архитектуре под названием HPE Machine, разрабатываемой с 2014 года. В Machine с мемристорной памятью переосмысливается фон-неймановская архитектура, доминирующая с начала компьютерной эры.
Все это можно назвать переходом к новой вычислительной модели – Memory-Driving Computing, где память играет одну из ведущих ролей. Ее воплощением уже стали серверы HPE ProLiant Gen9. Но Memory-Driving Computing, вычисления в памяти – это не просто «железо» с новой архитектурой памяти, но и целая экосистема программного обеспечения. Для этого HPE работает в тесном взаимодействии с разработчиками операционных систем и прикладного софта.
И в заключение — небольшое яркое видео: