Технологии хранения данных: Storage Class Memory

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Обзор | Хранение данных



За все время существования теории вычислительных машин и систем справедливым оставалось одно утверждение: процессоры гораздо более производительные и дорогие, чем устройства хранения данных. Тот факт, что 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 с интерфейсом PCIe позволяют добиться увеличения производительности в 1000 раз (100k IOPS против 100 IOPS). К сожалению, это ведет к значительному увеличению в стоимости: SCM стоят в 25 раз дороже обычных HDD ($1,50/ГБ против $0,06/ГБ). Устройства корпоративного класса стоят от $3000 до $5000 каждое.

Чтобы максимизировать эффективность использования дорогих 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-устройства первое время будут обладать ограниченной областью применимости. Препятствием для выхода на широкий рынок станет стоимость устройств».

Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Предприниматель в сфере контент-маркетинга и веб-радио.

Сейчас на главной

Новости

Публикации

«Секретный код» 94FBR: как сразу попасть на сайт для скачивания нужного файла в поисковике Google

В сети всё чаще упоминается так называемый «секретный код» 94FBR, который предназначен только для поисковой системы Google. Полностью он выглядит как комбинация символов и букв (буквально как...

Животные умеют «читать», но не так, как вы думаете: отличия символьного мышления зверей от человеческой речи

Владельцы животных могли замечать, как питомец сидит рядышком внимательно следя за перепиской на экране смартфона. Выглядит это всегда забавно, ведь они не умеют читать… или все-таки...

Квантовая гравитация без парадоксов: как пятое измерение мирит теорию относительности и кванты

В современной физике существует две концептуально разные теории. С одной стороны, существует Общая теория относительности, которая описывает гравитацию как геометрию пространства-времени. Это...

Что такое астраханские чунки и почему этот самодельный транспорт был круче любых покупных санок

Если вы выросли в Астрахани или в городах на берегах больших замерзающих рек, то звук скрежета металла об лёд и ритмичный стук «дротиков» для вас — это звук детства....

Почему Транссибирская магистраль обходит Байкал с юга, а БАМ — с севера

Огромная железная дорога, которая соединяет центр нашей страны с Сибирью и Дальним Востоком, это настоящий хребет России. Эта самая длинная в мире ЖД дорога помогла сохранить целостность...

Для чего в северных русских избах строили балконы, на которые не было выхода

Наличие балкона в деревенской избе само по себе уже необычное явление. Тем не менее в старых северных избах их строили регулярно, украшали резными перильцами и разнообразным декором. А те, у кого...