Storage class memory что это
Storage Class Memory в СХД — если вам нужно еще побыстрее
Как вы наверное помните, НРЕ давно вкладывается в тему новых типов хранилищ данных (конечно, The Machine) и в оптимизацию доступа к хранилищам (наше членство в консорциуме Gen-Z).
Цель этого движения — ускорить работу приложений наших заказчиков. Причем движение это многоуровневое: пока куется совершенно новая архитектура вычислительных систем The Machine (т.н. памяте-центричная архитектура), мы понимаем, что ускоряться нужно уже сейчас. Давайте посмотрим что можно сделать сегодня, и что появится у HPE завтра. Подсказка — речь пойдет о сильном ускорении наших СХД 3PAR и Nimble с помощью умного и относительно бюджетного кэширования на Storage Class Memory (SCM) в форме Intel Optane.
Во-первых, установим границы исследуемой задачи. Нам в этом посте не интересны высокопроизводительные вычисления со своей спецификой и не интересны задачи, требующие исключительно внутри-серверного быстрого хранилища. Последние — это несомненно тоже тема для Intel Optane и вообще SCM, но такие задачи зачастую специфичны, плохо поддаются виртуализации и соответственно консолидации. Мы поговорим о задачах и приложениях, которые вполне уживаются с внешней СХД класса 3PAR, Nimble или MSA (хотя MSA-ки трогать не будем тоже).
Все понятно, берем хранилку с «NVMe-дисками». Подождите, сколько стоит? И надо купить новую СХД, я не могу апгрейдить свою текущую? Ну, надо так надо…
А можно ли по-другому все-таки? Мы в НРЕ считаем, что не только можно, но и нужно. И вот почему:
Дело в том, что большинство NVMe SSD на рынке сейчас — это тот же самый тип носителя, NAND-flash, только подключенный к контроллеру не по Serial Attached SCSI (SAS) протоколу, а по новому протоколу NVMe. Новый протокол без сомнения прекрасен, и вот немного фактов:
При полной замене SCSI-протокола на всем пути от приложения до дисков возможно значительно снизить задержку доступа. Но что предлагают нам маркетологи сегодня? «NVMe-диски». Т.е. вся цепочка до самого контроллера СХД остается та же — SCSI. А потом контроллер просто перепаковывает SCSI в NVMe и так общается с подключенными NAND SSD.
Результат на графике выше — выигрыш в задержке минимальный. Хотя выигрыш по пиковым IOPS действительно может быть очень заметен. Традиционная аналогия: вам нужна машина, которая может быстро разгоняться для обгона за 5 секунд, или машина, которая в идеальных условиях может за 10 минут разогнаться до 300 км/ч? Оба варианта хорошие, но чаще выбирают первый.
Реальность в том, что прирост от NVMe NAND сегодня мало заметен для реальных приложений, и на наш взгляд совсем не стоит той разницы в цене и проигрыше в доступной емкости по сравнению с SAS SSD.
Что HPE предлагает вместо простой замены «последней мили» с SAS на NVMe — использование подключенных по NVMe совершенно новых накопителей Intel Optane в качестве кэша на чтение в контроллерах наших СХД 3PAR и Nimble.
(И арифмометр и админа на фото зовут Феликс, но разница огромна!)
Почему мы решили пойти по этому пути:
Да, кстати, знакомы с HPE InfoSight? С помощью этого инструмента вы всегда знаете где искать задержку. Например вот так:
(Нашедшим задержку просьба обращаться в нашу веру.)
Пора подвести итог: если вы являетесь счастливым обладателем 3PAR 9000 или 20000, то вы можете заказать 3PAR 3D Cache на базе Intel Optane прямо сейчас. Если вы присматриваетесь к массиву Nimble All-flash — берите, т.к. это надежная база для защиты инвестиций в будущем. Начните с SAS NAND SSD сейчас, подключите All Flash Turbo-кэш на базе SCM позже, потом поменяйте диски на NVMe.
Немного о Storage Class Memory
За все время существования теории вычислительных машин и систем справедливым оставалось одно утверждение: процессоры гораздо более производительные и дорогие, чем устройства хранения данных. Тот факт, что CPU способен обслуживать множество запоминающих устройств разом, оказал значительное влияние на разработку аппаратного и программного обеспечения для систем самых разных размеров.
Действительно, в таких книгах, как «Вычислительные системы: взгляд программиста» («Computer Systems: A Programmer’s Perspective») Рандала Брайанта (Randal Bryant) и Дэвида О’Халларона (David O’Hallaron) делается упор на иерархию памяти и её влияние на разрабатываемые программы.
Однако дата-центрам и разработчикам ПО нужно готовиться к грядущим изменениям. Появление высокоскоростных энергонезависимых устройств хранения информации, обычно называемых аббревиатурой SCM (Storage Class Memories), пошатнет привычные устои. SCM постепенно набирают популярность, однако для работы с ними требуется выделять один или сразу несколько многоядерных процессоров, чтобы совладать с их производительностью (сотни тысяч IOPS).
Скорость работы долговременных хранилищ всегда была сильно ниже, чем скорость работы CPU, и эта разница только увеличилась за период с начала 90-х до начала 00-х годов. Процессоры стабильно улучшались и совершенствовались, а производительность механических дисков оставалась неизменной – развитию препятствовала физика. На протяжении десятилетий, чтобы сократить этот разрыв и избежать простоев процессора, придумывались различные схемы и методики.
Одним из способов является кэширование. В современных системах кэширование выполняется на всех системных уровнях: процессор кэширует RAM, операционные системы кэшируют целые дисковые секторы и так далее.
Другие способы позволяют в буквальном смысле разменять процессорное время на производительность. Например, сжатие и дедупликация уменьшают размеры обрабатываемых данных, и получается, что «быстрая» память как бы увеличивается в размерах, но за это приходится платить вычислительными ресурсами.
Сжатие остается основной техникой, используемой в системах хранения корпоративного уровня, а также средах, работающих с большими данными. Такие инструменты, как Apache Parquet реорганизуют и сжимают данные на дисках, чтобы уменьшить время чтения.
От всех этих недостатков освобождены флеш-хранилища. Эта технология не нова, а SAS и SATA SSD можно приобрести уже лет десять как. Однако SCM переводит флеш-устройства на новый уровень: флеш-память подключается к PCIe-шине, вместо медленных шин SAS и SATA, что увеличивает скорость обмена данными.
Более того, зарождаются такие SCM, как например NVDIMM. NVDIMM производится в виде DIMM-модулей и, по сути, представляет собой гибридную память, объединяющую оперативную память DRAM и флеш-память NAND.
В обычных условиях модули NVDIMMвыполняют функцию обычной DRAM-памяти, но в случае сбоя или выключения системы данные из DRAMперемещаются в энергонезависимую флеш-память, где могут храниться неограниченно долго. Когда компьютер возобновляет работу, данные копируются обратно. Такой подход позволяет ускорить процесс запуска машины и снизить вероятность потери важных данных.
Чтобы максимизировать эффективность использования дорогих SCM, системы хранения должны постоянно обеспечивать их работой, то есть держать их занятыми. Получается, что мы не можем просто заменить магнитные диски – нам придется перерабатывать аппаратные системы и программное обеспечение.
К этому вопросу нужно подходить осторожно, поскольку слишком большое количество флеш-устройств приведет к значительным затратам денежных средств, а слишком малое их количество – к сложностям обращения к ним. Найти правильный баланс не так уж и просто.
Также стоит помнить и о временном разделении ресурсов. На протяжении многих лет для взаимодействия жесткого диска и процессора использовались прерывания. Для ядра, работающего на частотах, измеряемых гигагерцами, не составляет труда обслужить прерывание каждые несколько секунд. Одно ядро может управлять десятками или сотнями дисков, не рискуя «захлебнуться». Однако с появлением низколатентных устройств хранения этот подход больше неприменим.
Эта модель должна серьезно измениться. Серьезный прирост в производительности получили не только устройства хранения данных – ускорение работы сетевых устройств также имело место: сначала до 10G, потом до 40G, затем до 100G. Может удастся «подсмотреть» решение в этой сфере?
Однозначного ответа дать не получится, поскольку слишком велика разница в ускорении: сети стали быстрее в тысячу раз, а запоминающие устройства – в миллион. Более того, при работе с памятью часто приходится поддерживать сложные функции сжатия, кодирования и дедупликации, потому методики оптимизации, применяемые для работы с пакетами, скорее всего, не подойдут.
В сетях для снижения латентности применяется способ, когда всеми пакетами управляет приложение в обход ядра. Однако между сетями и устройствами хранения данных есть разница: сетевые потоки независимы и могут обрабатываться параллельно на нескольких ядрах, в случае ЗУ все запросы придется координировать.
Очевидно, что это непрактично. Один контроллер неспособен управлять доступом к огромному количеству SCM-устройств одновременно. Аппаратное обеспечение будет использоваться в пол силы, потому нужен иной подход.
Требования нагрузки к емкости и производительности не совпадают с аппаратными возможностями, что ведет к ограничениям в использовании высокоскоростных дисков. Например, данные объемом 10 ТБ с ожидаемой нагрузкой в 500k IOPS задействуют лишь половину возможностей дисков, если будут храниться на SCM-устройствах объемом в 1ТБ, способных обрабатывать до 100k IOPS каждый.
Однако нужно помнить о том, что большая часть данных не является «горячей», поэтому неэффективно хранить их все на высокоскоростных флеш-устройствах. Во многих случаях нагрузка согласуется с распределением Парето: 80% всех обращений адресовано 20% данных.
Гибридная система с различными уровнями хранилищ (с различными характеристиками производительности) является хорошим решением для смешения «холодных» и «горячих» данных, когда SCM-устройства выступают в качестве кэша для медленных дисков. Но нужно помнить, что шаблоны доступа со временем изменяются – надо своевременно на это реагировать и перемещать данные.
В грамотно построенных системах такой способ позволяет эффективно использовать аппаратное обеспечение без снижения производительности. Однако системы должны иметь гибкие политики, которые бы запрещали активным, но низкоприоритетным задачам вмешиваться в работу бизнес-критических приложений. Грамотная реализация и отладка этих механизмов – это совсем не тривиальная задача.
Так что же нас ждет в будущем?
Как было сказано выше, уже есть разработанные SCM-устройства. PCIe SSD – наиболее известный тип SCM и уже оказал значительное влияние на инфраструктуру дата-центров. Вторым примером может служить NVDIMM, которая имеет характеристики производительности, сравнимые с DRAM. Такие устройства уже доступны сегодня и продолжают развиваться.
SCM-технологиями занимается компания HP. Их проект под названием The Machine не что иное, как попытка разработать новую компьютерную архитектуру на мемристорах. Существование мемристора – четвёртого базового компонента электрических схем было предсказано в 1971 году Леоном Чуа (Leon O. Chua), однако лабораторный образец запоминающего элемента был создан только в 2008 году коллективом учёных во главе со Стэнли Уильямсом (Stanley Williams) в исследовательской лаборатории фирмы Hewlett-Packard.
Этот пассивный элемент способен запоминать собственное состояние. Можно сказать, что это резистор, сопротивление которого изменяется в зависимости от протекающего через него заряда. Когда элемент обесточивают, измененное сопротивление сохраняется.
В настоящее время ведутся разработки коммерческой реализации мемристора. Как только это произойдет, появится возможность для создания новых видов памяти, способных помимо хранения данных еще и обрабатывать их.
Что касается The Machine, то в ней нет границы между оперативной памятью и постоянным хранилищем данных. Вся память представляет собой оперативную. Это нивелирует проблемы, связанные с передачей информации между устройствами, работающими с разной скоростью.
Думается, что SCM-технологии призваны побороть неэффективность, возникающую при «общении» медленной и быстрой памяти. Тем интереснее наблюдать за происходящим: как новые разработки затронут все уровни инфраструктурного стека. Все еще только начинается.
Комментирует руководитель отдела развития проекта 1cloud.ru Сергей Белкин:
«Разные типы дисков могут требоваться для решения различных задач. Использование дисков различных типов может быть оправданным при создании многоуровневых систем хранения данных – данные, которые часто используются приложениями, можно размещать на более быстрых дисках.
К примеру, если существует сервис, который активно работает с базой данных, то ее имеет смысл перенести на отдельный SSD-диск – это поможет оптимизировать скорость ее работы. При этом, саму операционную систему логично оставить на более медленных дисках. Одновременное использование различных типов дисков позволяет сделать общее инфраструктурное решение более гибким, эффективным и оптимизированным по цене.
Что касается новых разработок в сфере твердотельных накопителей, то в прошлом году компании Intel и Micron анонсировали 3D XPoint (произносится как «кросспойнт») – безтранзисторную трехмерную архитектуру и заявили, что срок эксплуатации и скорость работы таких ЗУ превысит возможности памяти NAND в 1000 раз. Если это решение станет коммерческим, то, я думаю, оно с большой долей вероятности будет использоваться в центрах обработки данных для хранения часто запрашиваемых «горячих» данных»
Мнение Джорджа Крампа (George Crump) из Storage Switzerland:
«SCM – это новый тип хранилища, которое может стать промежуточным звеном между высокопроизводительной DRAM и дешевыми HDD. SCM-память способна обеспечить скорость считывания, близкую к скорости чтения DRAM, и скорость записи, во много раз превышающую возможности жестких дисков.
Это стало возможным благодаря интерфейсу PCIe, через который флеш-хранилище подключается напрямую к процессору. Однако не любой SSD-накопитель, подключенный по PCIe, является SCM-устройством.
Некоторые поставщики в погоне за производительностью устанавливают несколько контроллеров на свои карты, каждый из которых отвечает за свою область флеш-памяти. На первый взгляд, это кажется здравой идеей, однако в этом случае у контроллера нет возможности записывать или читать блоки, которые находятся за пределами его компетенции.
Если блок большой – это, наоборот, может негативно повлиять на скорость работы. Эта и другие проблемы с производительностью, возникающие из-за неэффективности существующих интерфейсов, тормозят процесс адаптации технологии»
Мнение Скотта Дэвиса (Scott Davis), технического директора Infinio:
«SCM-технологии станут доступны для коммерческого использования не раньше конца 2016 года.
Скорее всего, это будет ранняя реализация технологии 3D XPoint от Intel. HP и SanDisk также анонсировали, что работают над совместным проектом, однако их продукт, вероятно, выйдет на рынок не раньше начала 2017 года.
Стоит учитывать, что, как в случае со многими новыми технологиями, SCM-устройства первое время будут обладать ограниченной областью применимости. Препятствием для выхода на широкий рынок станет стоимость устройств»
Storage Class Memory в СХД — если вам нужно еще побыстрее
Как вы наверное помните, НРЕ давно вкладывается в тему новых типов хранилищ данных (конечно, The Machine) и в оптимизацию доступа к хранилищам (наше членство в консорциуме Gen-Z).
Цель этого движения — ускорить работу приложений наших заказчиков. Причем движение это многоуровневое: пока куется совершенно новая архитектура вычислительных систем The Machine (т.н. памяте-центричная архитектура), мы понимаем, что ускоряться нужно уже сейчас. Давайте посмотрим что можно сделать сегодня, и что появится у HPE завтра. Подсказка — речь пойдет о сильном ускорении наших СХД 3PAR и Nimble с помощью умного и относительно бюджетного кэширования на Storage Class Memory (SCM) в форме Intel Optane.
Во-первых, установим границы исследуемой задачи. Нам в этом посте не интересны высокопроизводительные вычисления со своей спецификой и не интересны задачи, требующие исключительно внутри-серверного быстрого хранилища. Последние — это несомненно тоже тема для Intel Optane и вообще SCM, но такие задачи зачастую специфичны, плохо поддаются виртуализации и соответственно консолидации. Мы поговорим о задачах и приложениях, которые вполне уживаются с внешней СХД класса 3PAR, Nimble или MSA (хотя MSA-ки трогать не будем тоже).
Все понятно, берем хранилку с «NVMe-дисками». Подождите, сколько стоит? И надо купить новую СХД, я не могу апгрейдить свою текущую? Ну, надо так надо…
А можно ли по-другому все-таки? Мы в НРЕ считаем, что не только можно, но и нужно. И вот почему:
Дело в том, что большинство NVMe SSD на рынке сейчас — это тот же самый тип носителя, NAND-flash, только подключенный к контроллеру не по Serial Attached SCSI (SAS) протоколу, а по новому протоколу NVMe. Новый протокол без сомнения прекрасен, и вот немного фактов:
При полной замене SCSI-протокола на всем пути от приложения до дисков возможно значительно снизить задержку доступа. Но что предлагают нам маркетологи сегодня? «NVMe-диски». Т.е. вся цепочка до самого контроллера СХД остается та же — SCSI. А потом контроллер просто перепаковывает SCSI в NVMe и так общается с подключенными NAND SSD.
Результат на графике выше — выигрыш в задержке минимальный. Хотя выигрыш по пиковым IOPS действительно может быть очень заметен. Традиционная аналогия: вам нужна машина, которая может быстро разгоняться для обгона за 5 секунд, или машина, которая в идеальных условиях может за 10 минут разогнаться до 300 км/ч? Оба варианта хорошие, но чаще выбирают первый.
Реальность в том, что прирост от NVMe NAND сегодня мало заметен для реальных приложений, и на наш взгляд совсем не стоит той разницы в цене и проигрыше в доступной емкости по сравнению с SAS SSD.
Что HPE предлагает вместо простой замены «последней мили» с SAS на NVMe — использование подключенных по NVMe совершенно новых накопителей Intel Optane в качестве кэша на чтение в контроллерах наших СХД 3PAR и Nimble.
(И арифмометр и админа на фото зовут Феликс, но разница огромна!)
Почему мы решили пойти по этому пути:
Да, кстати, знакомы с HPE InfoSight? С помощью этого инструмента вы всегда знаете где искать задержку. Например вот так:
(Нашедшим задержку просьба обращаться в нашу веру.)
Пора подвести итог: если вы являетесь счастливым обладателем 3PAR 9000 или 20000, то вы можете заказать 3PAR 3D Cache на базе Intel Optane прямо сейчас. Если вы присматриваетесь к массиву Nimble All-flash — берите, т.к. это надежная база для защиты инвестиций в будущем. Начните с SAS NAND SSD сейчас, подключите All Flash Turbo-кэш на базе SCM позже, потом поменяйте диски на NVMe.
Storage Class Memory в СХД — если вам нужно еще побыстрее
Как вы наверное помните, НРЕ давно вкладывается в тему новых типов хранилищ данных (конечно, The Machine) и в оптимизацию доступа к хранилищам (наше членство в консорциуме Gen-Z).
Цель этого движения — ускорить работу приложений наших заказчиков. Причем движение это многоуровневое: пока куется совершенно новая архитектура вычислительных систем The Machine (т.н. памяте-центричная архитектура), мы понимаем, что ускоряться нужно уже сейчас. Давайте посмотрим что можно сделать сегодня, и что появится у HPE завтра. Подсказка — речь пойдет о сильном ускорении наших СХД 3PAR и Nimble с помощью умного и относительно бюджетного кэширования на Storage Class Memory (SCM) в форме Intel Optane.
Во-первых, установим границы исследуемой задачи. Нам в этом посте не интересны высокопроизводительные вычисления со своей спецификой и не интересны задачи, требующие исключительно внутри-серверного быстрого хранилища. Последние — это несомненно тоже тема для Intel Optane и вообще SCM, но такие задачи зачастую специфичны, плохо поддаются виртуализации и соответственно консолидации. Мы поговорим о задачах и приложениях, которые вполне уживаются с внешней СХД класса 3PAR, Nimble или MSA (хотя MSA-ки трогать не будем тоже).
Все понятно, берем хранилку с «NVMe-дисками». Подождите, сколько стоит? И надо купить новую СХД, я не могу апгрейдить свою текущую? Ну, надо так надо…
А можно ли по-другому все-таки? Мы в НРЕ считаем, что не только можно, но и нужно. И вот почему:
Дело в том, что большинство NVMe SSD на рынке сейчас — это тот же самый тип носителя, NAND-flash, только подключенный к контроллеру не по Serial Attached SCSI (SAS) протоколу, а по новому протоколу NVMe. Новый протокол без сомнения прекрасен, и вот немного фактов:
При полной замене SCSI-протокола на всем пути от приложения до дисков возможно значительно снизить задержку доступа. Но что предлагают нам маркетологи сегодня? «NVMe-диски». Т.е. вся цепочка до самого контроллера СХД остается та же — SCSI. А потом контроллер просто перепаковывает SCSI в NVMe и так общается с подключенными NAND SSD.
Результат на графике выше — выигрыш в задержке минимальный. Хотя выигрыш по пиковым IOPS действительно может быть очень заметен. Традиционная аналогия: вам нужна машина, которая может быстро разгоняться для обгона за 5 секунд, или машина, которая в идеальных условиях может за 10 минут разогнаться до 300 км/ч? Оба варианта хорошие, но чаще выбирают первый.
Реальность в том, что прирост от NVMe NAND сегодня мало заметен для реальных приложений, и на наш взгляд совсем не стоит той разницы в цене и проигрыше в доступной емкости по сравнению с SAS SSD.
Что HPE предлагает вместо простой замены «последней мили» с SAS на NVMe — использование подключенных по NVMe совершенно новых накопителей Intel Optane в качестве кэша на чтение в контроллерах наших СХД 3PAR и Nimble.
(И арифмометр и админа на фото зовут Феликс, но разница огромна!)
Почему мы решили пойти по этому пути:
Да, кстати, знакомы с HPE InfoSight? С помощью этого инструмента вы всегда знаете где искать задержку. Например вот так:
(Нашедшим задержку просьба обращаться в нашу веру.)
Пора подвести итог: если вы являетесь счастливым обладателем 3PAR 9000 или 20000, то вы можете заказать 3PAR 3D Cache на базе Intel Optane прямо сейчас. Если вы присматриваетесь к массиву Nimble All-flash — берите, т.к. это надежная база для защиты инвестиций в будущем. Начните с SAS NAND SSD сейчас, подключите All Flash Turbo-кэш на базе SCM позже, потом поменяйте диски на NVMe.