На протяжении десятилетий в качестве основной памяти в серверах использовались микросхемы DRAM, в качестве средств хранения — дисковые накопители, а в качестве средств архивации — магнитные ленты. Эти носители информации постепенно оптимизировались в соответствии с их индивидуальным предназначением, но основополагающая иерархическая парадигма хранения оставалась неизменной. Все начинается с буферов кэш-памяти SRAM или встроенной памяти DRAM, следом идет основная память DRAM, размещаемая вне процессора, затем флеш-накопители, жесткие диски с вращающимися пластинами и магнитные ленты. В этой иерархии основная память энергозависима и оптимизирована для организации произвольного доступа к небольшим порциям данных. В отличие от нее, подсистему хранения проектируют энергонезависимой — все ее данные разбиваются на крупные блоки, которые сохраняются в неизменном виде даже в случае возникновения системных сбоев. К сожалению, подсистема хранения, которая может быть представлена в виде как локально подключенных дисков, так и удаленных сервисов, обычно находится довольно далеко от процессора, что увеличивает задержки при организации доступа. Как правило, программа получает доступ к подсистеме хранения асинхронно — при направлении соответствующего запроса процессор не ждет данные, а приостанавливает выполнение соответствующего программного потока, возобновляя его после того, как данные станут доступны. Разработчики оптимизировали программное обеспечение для классической иерархии «оперативная память — подсистема хранения», однако оптимизация такого рода требует управления программным обеспечением, а задержки все равно остаются достаточно велики, что приводит к снижению производительности приложений.

 

Рис. 1. Иерархия серверных данных. В прошлом задержки при обращении к подсистеме хранения были значительно выше, чем при получении доступа к оперативной памяти. Флеш-память NAND, размещаемая рядом с оперативной памятью, уменьшает задержки, но при этом ее запас прочности при выполнении циклов записи оставляет желать лучшего, а производительность нестабильна. Новые технологии энергонезависимой памяти должны помочь в создании памяти хранения, которая будет служить промежуточным звеном между оперативной памятью и дисковым хранилищем, сужая разрыв между плотностью и производительностью
Рис. 1. Иерархия серверных данных. В прошлом задержки при обращении к подсистеме хранения были значительно выше, чем при получении доступа к оперативной памяти. Флеш-память NAND, размещаемая рядом с оперативной памятью, уменьшает задержки, но при этом ее запас прочности при выполнении циклов записи оставляет желать лучшего, а производительность нестабильна. Новые технологии энергонезависимой памяти должны помочь в создании памяти хранения, которая будет служить промежуточным звеном между оперативной памятью и дисковым хранилищем, сужая разрыв между плотностью и производительностью

 

Новые технологии памяти обещают избавить от этих сложностей. На рис.1 видно, что конструкторы уже осознали преимущества использования флеш-памяти NAND в качестве быстрого промежуточного уровня с высокой плотностью размещения данных, располагаемого между памятью DRAM и диском, а новые появляющиеся предложения должны еще больше способствовать продвижению этих преобразований. Новые типы памяти (класс памяти хранения на рис. 1) имеют более высокую плотность, чем DRAM, и обладают энергонезависимостью, присущей флеш-памяти. Задержка при обращении к памяти уровня хранения в этом случае существенно уменьшается и сравнима с задержками для основной памяти. А коль скоро обращение к энергонезависимой памяти будет происходить очень быстро, имеет смысл организовать к ней синхронный доступ, что поможет снизить издержки программного обеспечения [1].

Основной памяти серверов всегда требовались большая емкость и пропускная способность, в то время как памяти хранения необходима высокая плотность размещения. Решения, способные ликвидировать разрыв между производительностью и плотностью размещения данных в основной памяти и памяти хранения, значительно улучшили бы иерархию серверных данных. Потенциально на это претендуют технологии STT-MRAM (spin-torque transfer magnetic memory), PCRAM (phase-change RAM) и RRAM (resistive metal-oxide memories).

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

Изучая эти возможности, обратим внимание на то, что сегодня производителям серверов приходится сталкиваться с многочисленными трудностями, частично преодолеть которые — а в некоторых случаях и полностью исключить их — помогло бы совершенствование памяти. Анализировались также те изменения в программном обеспечении и оборудовании, которые позволили бы конструкторам серверных систем использовать новые типы памяти.

Трудности построения серверных систем

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

Оперативная память

Подсистемы серверной памяти отличаются от других классов оперативной памяти в первую очередь емкостью и пропускной способностью, а рост популярности многоядерной и многопоточной обработки, виртуализации вместе с востребованностью технологий работы с Большими Данными только увеличил этот разрыв. К примеру, модуль памяти DDR3 объемом 2 Гбайт, предназначенный для ПК, имеет только восемь микросхем DRAM емкостью 2 Гбит, тогда как у серверного модуля DDR3 объемом 32 Гбайт (IBM Power 7/7+) насчитываются уже 144 микросхемы DRAM емкостью 2 Гбит. Видно, какие существенные средства приходится вкладывать в серверные модули — чтобы добиться одновременного увеличения емкости и пропускной способности, в серверах используются специальные буферы памяти, объединяющие множество микросхем, обеспечивая тем самым более высокую общую пропускную способность памяти. По мере увеличения объема памяти на нее приходится все более существенная часть от общего энергопотребления сервера. В крупных серверах и серверных подсистемах, обслуживающих растущие интернет-ресурсы, облака и приложения Больших Данных, потребление электроэнергии памятью становится весьма значительным — уже сегодня в ЦОД на энергопотребление приходится довольно серьезный процент от общей стоимости владения.

Подсистема хранения

Серверы начального уровня имеют локальные подсистемы хранения, которые очень часто ограничиваются всего одним диском, установленным внутри сервера. В отличие от них, серверам старшего класса, совместно обрабатывающим большие объемы данных, нужны подсистемы хранения, которые могли бы одновременно снабжать данными сразу несколько процессоров. Серверы такого рода, решающие самые разные задачи, начиная от обработки транзакций больших баз данных и заканчивая анализом Больших Данных, должны иметь объемные и высокопроизводительные подсистемы хранения.

Флеш-память NAND. В прошлом вся серверная подсистема хранения состояла из дисков с вращающимися пластинами, но сегодня в серверах старшего класса эти диски начинают заменять флеш-памятью NAND. Несмотря на то что компания Toshiba представила флеш-память еще в 1984 году и уже через несколько лет она появилась в потребительских продуктах, на рынок серверов флеш-память начала проникать только относительно недавно. В основном такая задержка объясняется ее высокой стоимостью, но и вопросы производительности и устойчивости, потребовавшие внедрения инновационных решений в средства управления памятью NAND, тоже нельзя сбрасывать со счетов. Ожидается, что в большинстве ЦОД флеш-память NAND войдет в иерархию подсистем хранения к 2015 году [2].

Флеш-память NAND предлагается в виде микросхем с одноуровневыми ячейками (Single-Level Cell, SLC), многоуровневыми ячейками (Multi-Level Cell, MLC) и трехуровневыми ячейками (Triple-Level Cell, TLC), где в каждой ячейке хранится соответственно один, два или три бита. Микросхемы SLC первыми появились на серверном рынке и продолжают оставаться предпочтительным вариантом для приложений с большим количеством операций записи. Цены на микросхемы MLC ниже, но для них характерны менее высокий запас прочности при выполнении операций записи и более низкая удерживающая способность (время хранения данных в энергонезависимой памяти при отсутствии подачи на нее напряжения питания). Флеш-память TLC используется в серверах редко, поскольку она нужна главным образом при высокой интенсивности операций чтения.

Для продвижения флеш-памяти в ЦОД производители разработали так называемую корпоративную память MLC повышенной устойчивости (enterprise MLC или enhanced-endurance MLC, eMLC), которая при цене ниже, чем у SLC, обладает в три — пять раз более высоким запасом прочности по сравнению со стандартной флеш-памятью MLC.

 Слаженная производительность. Серверные  системы, поддерживающие множество потоков, пользователей и задач, должны обеспечить согласованное качество обслуживания. В среднем задержки у памяти NAND оказываются гораздо ниже, чем у жестких дисков, но при оценке производительности большое значение имеют и параметры задержки при наихудшем сценарии. Операции, призванные компенсировать низкую устойчивость флеш-памяти, могут привести к увеличению времени задержки и требуют очень внимательного управления производительностью [3].

Новые типы памяти и масштабирование

Ни один вопрос не имеет для серверной системы такого важного значения, как масштабируемость, поскольку именно большой объем памяти играет определяющую роль для мира Больших Данных. К счастью, новые технологии памяти обещают устранить недостатки памяти DRAM, связанные с долгим временем регенерации. То же самое можно сказать и о проблемах, присущих масштабированию памяти NAND, — запасу прочности при выполнении операций записи и способности к удержанию данных.

Время регенерации DRAM

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

Начиная с 2004 года емкость микросхем DRAM удваивалась примерно через каждые три года, и с каждым очередным уменьшением размеров конденсаторов время регенерации увеличивалось. Команды регенерации памяти DRAM выдаются через фиксированные интервалы времени независимо от размеров микросхемы, поэтому время регенерации является существенным фактором, влияющим на производительность. На рис. 2  показана зависимость этого  роста  от плотности микросхем и заметно влияние более долгих операций регенерации на задержки и пропускную способность памяти в целом.

Рис. 2. Отношение плотности микросхемы DRAM к продолжительности регенерации и производительности: a — продолжительность регенерации памяти в зависимости от плотности микросхемы; б — негативное влияние на производительность. Снижение пропускной способности характеризуется отношением продолжительности регенерации к интервалу между регенерациями, отражающим процент времени, в течение которого микросхема выполняет регенерацию и недоступна для других команд
Рис. 2. Отношение плотности микросхемы DRAM к продолжительности регенерации и производительности: a — продолжительность регенерации памяти в зависимости от плотности микросхемы; б — негативное влияние на производительность. Снижение пропускной способности характеризуется отношением продолжительности регенерации к интервалу между регенерациями, отражающим процент времени, в течение которого микросхема выполняет регенерацию и недоступна для других команд

 

При эластичной регенерации контроллер памяти настраивает политику регенерации в соответствии с рабочей нагрузкой, снижая таким образом негативное влияние на производительность. Когда сразу несколько битов записываются в одну ячейку памяти с изменением фазового состояния, значения смещаются, требуя использования схемы управления, которая действовала бы аналогично регенерации. Однако в многобитных структурах, например в перекрестной многослойной энергонезависимой памяти, такие ситуации не возникают и нет необходимости в регенерации и управлении смещением и энергопотреблением.

Долговечность флеш-памяти NAND при записи и производительность

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

Обычно конструкторы компенсируют слабый запас прочности технологиями на основе кодов коррекции ошибок, но у такого подхода имеются свои недостатки. Применение более сложных технологий коррекции ошибок, в свою очередь, приводит к увеличению объемов хранилища, росту задержек и повышению сложности контроллера.

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

К новым ориентирам

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

Выравнивание степени износа для увеличения запаса прочности

По сути, ячейка памяти DRAM позволяет выполнять неограниченное число операций записи и чтения. Память MRAM отличается более высоким запасом прочности, чего нельзя сказать о PCRAM и других типах RRAM.

Чтобы понять проблемы запаса прочности, рассмотрим новую технологию памяти, в которой запись происходит с задержкой в 1 мкс. С учетом того, что в году содержится 31 536 000 000 000 мкс, сервер, работающий в течение пяти лет, теоретически мог бы выполнить операцию записи в одно и то же место 158 трлн раз (5 х 31 536 000 000 000, или 1,577 х 1014). На практике сервер не будет непрерывно записывать данные в одну и ту же область оперативной памяти или памяти хранения, но технологии с количеством циклов записи, не превышающим  1014, все равно требуют управления.

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

Стандартная флеш-память. При стандартной реализации алгоритма выравнивания степени износа контроллер, выбирая физическую область записи, обращается к таблице косвенной адресации. Каждый блок флеш-памяти содержит несколько страниц. К сожалению, запись даже одной страницы требует стирания всего блока. Таким образом, операция записи одной страницы в действительности оказывает воздействие на несколько страниц. Большинство новых типов памяти не используют блоки, получая в результате ощутимое преимущество, поскольку система может записывать значения данных, не стирая весь блок. В новой памяти операции записи выполняются очень быстро, не затрагивая другие страницы. Использование таблиц косвенной адресации по-прежнему возможно, но задержки при обращении к ним перевешивают преимущества уменьшения задержек за счет их использования.

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

Генератор случайных чисел. Поскольку приложения часто обращаются к смежным областям, генератор случайных чисел гарантирует, что физические адреса, поставленные в соответствие логическим адресам, расположенным рядом, будут находиться далеко друг от друга.

Контроль за перемещением зазора. Настройка скорости перемещения зазора выравнивает износ от перемещения и от выполнения операций записи.

Разделение дискового пространства. Если все пространство памяти разбито на небольшие разделы, конструктор может организовать выравнивание начального зазора для каждого раздела в отдельности, что обеспечит большую свободу при выборе скорости перемещения зазора.

Управление сбойными участками. Простая технология управления сбойными участками может работать совместно с выравниванием начального зазора.

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

Гибридная память и увеличение емкости

В отличие от DRAM новые типы памяти обладают более высокой плотностью и позволяют хранить в одной ячейке сразу несколько значений (MLC) или формировать многоуровневые структуры (MultiLevel Stack, MLS), но за рост плотности приходится платить увеличением времени задержки. Задержки в новых типах памяти MLC или перекрестного вида могут превышать 300 нс при выполнении операций чтения и 2 мкс при выполнении операций записи. В микросхемах DRAM операции чтения и записи выполняются примерно за 25 нс. В некоторых приложениях память более высокой плотности увеличит производительность серверной системы и без необходимости управления задержками, но в большинстве приложений здесь все же потребуются новационные схемы управления задержками.

Один из широко обсуждавшихся подходов предусматривает создание гибридной памяти, в которой память DRAM остается на ближайшем к процессору уровне и система обращается в первую очередь к ней. За памятью DRAM располагается уровень более медленной, но и более плотной памяти, предоставляющей дополнительную емкость. Для повышения вероятности выборки данных с минимальной задержкой оборудование или программное обеспечение перемещает данные в память DRAM. Сегодня основным кандидатом на память более плотного уровня считается PCRAM, но здесь могут быть задействованы и другие развивающиеся типы памяти, обладающие соответствующим соотношением между задержкой и плотностью.

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

Каталог данных. Архитектуры, в которых большая часть задач по управлению гибридной структурой выполняется с помощью аппаратных средств, требует создания каталога, указывающего контроллеру, где расположены данные (в памяти DRAM или в памяти увеличенной плотности).

Точное определение области DRAM. Область DRAM должна обеспечить достаточную пропускную способность при выполнении большинства обращений, сохраняя при этом относительно небольшой объем по сравнению с областью памяти более высокой плотности. Такое распределение снижает задержки и позволяет получить наиболее весомую отдачу.

Хранение важных структур данных в памяти DRAM. Хранение в памяти DRAM важных структур, например замков для одновременно выполняющихся процессов, позволит избежать снижения производительности.

Управление запасом прочности памяти повышенной плотности. При использовании любой схемы управления запасом прочности необходимо тщательно взвесить преимущества уровня DRAM, чтобы предотвратить нерациональную запись данных в энергонезависимую память (поскольку обращение к DRAM осуществляется значительно быстрее, чем к энергонезависимой памяти).

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

В общем  виде  решения всех этих проблем существуют, но пока ни в одной системе архитектура гибридной памяти не реализована.

Адаптация памяти к изменениям рабочей нагрузки

Современным и будущим приложениям приходится решать все более разнобразные задачи, и когда-нибудь серверная память и память хранения станут более гибкими, а пока в системах на основе DRAM объем серверной памяти, ее пропускная способность и задержки фиксируются на этапе загрузки. Операционная система выделяет страницы памяти DRAM по мере возникновения у приложений потребности в них, сбрасывая старые или редко используемые страницы в память хранения для освобождения пространства основной памяти. Система трансформируемой памяти предоставит ОС гибкость за счет адаптации подсистемы серверной памяти к потребностям рабочей нагрузки. Трансформируемая память строится на базе гибридной концепции, выводя гибкие функции SLC и MLC на уровень более плотной памяти. В отличие от реализаций гибридной памяти, требующих исключительно аппаратного управления, трансформируемая память предусматривает взаимодействие оборудования и программного обеспечения.

Два режима функционирования. В системе трансформируемой памяти на более плотном уровне в ячейке памяти можно будет хранить сразу несколько битов, как это происходит в PCRAM. Память MLC обеспечивает увеличение плотности, но за это приходится расплачиваться производительностью и снижением запаса прочности при выполнении операций записи. Для устранения этого недостатка трансформируемую систему можно заставить работать в двух режимах. В режиме SLC большинство запросов к памяти выполняется очень быстро, а режим MLC служит для увеличения емкости памяти по требованию. Такое решение позволяет избежать сложностей, связанных с обменом страницами с более медленной дисковой памятью. Операции обмена страницами с диском выполняются на несколько порядков медленнее по сравнению с обычным обращением к памяти, поэтому перемещение страницы в память хранения, работающую в режиме MLC, обещает существенно увеличить производительность.

Требуемые настройки. Для управления размещением страниц, схемами доступа и состояниями системе трансформируемой памяти понадобятся несколько дополнительных аппаратных таблиц и счетчиков. Благодаря переадресации и структурам состояний система сможет выполнять наиболее важные функции безопасно и с минимальным влиянием на общую производительность. К этим важнейшим функциям относятся выбор страниц, переводимых из режима SLC в режим MLC, определение страниц, перемещаемых между областями памяти SLC и MLC, а также поведение системы мониторинга при выборе доли памяти, находящейся в режиме SLC.

Расширения баз данных

Управление данными является одной из наиболее общих серверных функций. Сегодня базы данных начали перемещаться с дисков в оперативную память, но чем крупнее база данных, тем выше оказывается стоимость такого перемещения, ведь память DRAM стоит гораздо дороже дисковой. Перемещение баз данных в память хранения обеспечило бы необходимый баланс между стоимостью и производительностью.

Обработка транзакций предусматривает действия непосредственно с базой данных: выполнение запросов и операций вставки, изменение и удаление, — требуя от подсистемы хранения произвольной выборки и обновления данных. В отличие от дисковых накопителей память нового типа управляет схемами произвольного доступа гораздо эффективнее, но стоит она дороже, и размещать всю базу данных в памяти хранения накладно, поэтому СУБД должна определить, какие именно данные имеет смысл поместить в память хранения, а какие оставить на более дешевых носителях.

Уже проводились исследования по вопросу оптимизации размещения данных с использованием флеш-памяти, в которых рассматривалась возможность принятия диспетчером решения о статическом или динамическом размещении данных.

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

Динамическое размещение данных. Идея выбора размещения данных в соответствии с частотой и характером доступа применима и к размещению данных непосредственно на этапе выполнения. Оптимизированная система управления базой данных разделяет буферный пул (который особенно сильно влияет на производительность) между памятью DRAM и памятью хранения. Система управления следит за доступом к буферному пулу на этапе выполнения и объединяет характеристики произвольности, частоты и последнего времени доступа в общие параметры «температуры» данных. После анализа этих параметров определяется, куда следует поместить данные — в память DRAM или в память хранения.

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

Журнал базы данных. Помимо произвольного доступа, обработка транзакций в высокопроизводительных системах управления базами данных требует высокой пропускной способности системы хранения, которая позволяла бы оперативно отражать изменения в данных. СУБД должна устойчиво поддерживать свои данные, а энергозависимость памяти DRAM делает ее непригодной для фиксации транзакций.

При изменении данных в традиционных системах, СУБД сохраняет измененные данные и в соответствующих записях журнала в информационном хранилище. Для оптимизации манипулирования блоками система отбирает данные и записи журнала из множества транзакций и фиксирует их разом. Такая групповая обработка снижает скорость выполнения отдельных транзакций.

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

Различные расширения СУБД обеспечивают возможность полного восстановления данных. Тестирование обработки транзакций показало, что при размещении журналов в памяти хранения производительность повышается в семь раз по сравнению с размещением их на диске.

***

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

Литература

  1. J. Condit et al. Better I/O through Byte-Addressable, Persistent Memory. Proc. 22nd ACM Symp. Operating Systems Principles (SOSP 09), 2009, P. 133–146.
  2. R. Goering. Flash Memory Panelists Challenge Conventional Thinking about NAND and SSDs. Proc. Cadence Design Communities Industry Insights, 2012. URL: http://www.cadence.com/Community/blogs/ii/archive/2012/08/26/flash-memory-panelists-challenge-conventional-thinking-about-nand-and-ssds.aspx (дата обращения: 12.11.2014).
  3. G. Tressler, D. Sciacca. Enterprise SSD Competitive Analysis. Proc. Flash Memory Summit, 2011. URL: http://www.flashmemorysummit.com/English/Collaterals/Proceedings/2011/20110810_T1C_Tressler.pdf (дата обращения: 12.11.2014).

Хиллери Хантер (hhunter@us.ibm.com) — старший менеджер отделения компьютерной архитектуры, Луис Ластрас-Монтаньо (lastrasl@us.ibm.com) — научный сотрудник, Бишваранджан Бхаттачарджи (bhatta@us.ibm.com) — старший технический специалист, Исследовательский центр IBM им. Т. Дж. Уотсона.

Hillery Hunter, Luis Lastras-Montano, Bishwaranjan Bhattacharjee, Adapting Server Systems for New Memory Technologies, IEEE Computer, September 2014, IEEE Computer Society. All rights reserved. Reprinted with permission.