DRAM и Flash: в единой упряжке?

16 Сен 2016

DRAM и Flash: в единой упряжке?

В ожидании 3D XPoint набирают обороты инициативы по «скре­щи­ва­нию» опе­ративной и энергонезависимой памяти. Для этого создан впе­чат­ля­ю­щий технологический базис. Одним из камней в его основе стала под­держ­ка NVDIMM спецификацией ACPI 6.0, получившая дальнейшее развитие в виде концепции устойчивых систем. Исходя из этого, есть основания счи­тать, что архитектуру подсистем хранения данных ждут ра­дикальные из­ме­не­ния, суть которых в конвергенции технологий до­сту­па, хранения и об­ра­бот­ки информации в RAM.

Из презентации, с недавних пор доступной на просторах Интернет, видно, что концепция DMX (Diablo Memory Ex­pansion) в исполнении компании Diablo Technologies, унифицирует принципы как конструктивного исполнения, так и адресации оперативной памяти и энергонезависимой Flash-памяти. Модули, получившие условное название MEMORY1, не что иное, как Flash ROM в DIMM-исполнении. Концепция не нова, подобные инициативы известны еще со времен 72-контактных модулей SIMM. Вместе с тем, интеллектуальное управление и ряд усовер­шен­ство­ва­ний в организации системы виртуальной памяти ОС, заставляют задуматься.

Интеграция в инфраструктуру

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

Подключение Flash DIMM к шине оперативной памяти NUMA-платформы
Рис. 1 Подключение Flash DIMM к шине оперативной памяти NUMA-платформы

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

Читая между строк, понимаем, что немалая работа возлагается и на разработчиков UEFI Firmware: подключение к шине памяти любого объекта, отличного от DRAM, потребует доработки процедур картирования диапазонов, интерпретации содержимого Serial Presence Detect и тестирования памяти. Получим ли мы раздельную визуализацию объемов DRAM и Flash в виде двух строк в стартовом экране POST?

DMX и виртуальная память

Еще один фактор совместимости с инфраструктурой состоит в том, что совместное применение DRAM и Flash в рамках единого пула системных ресурсов, основано на классическом принципе виртуальной памяти.

Реализация усовершенствованной виртуальной памяти на основе DMX
Рис. 2 Реализация усовершенствованной виртуальной памяти на основе DMX

Расшифруем основные тезисы.

  • Learning Engine, что можно перевести как «обучаемый движок» анализирует сценарии доступа приложений к памяти и прогнозирует номера страниц, которые с высокой вероятностью потребуются в ближайшее время. Предварительная загрузка этих страниц позволяет сократить задержки, обусловленные своппингом.
  • Clustered Pages или кластеризация страниц лежит в основе эффективного анализа статистики своппинга. Знание о том, что после обращения к странице X1, с высокой вероятностью состоится обращение к страницам Y1,Y2...Yn  довольно ценно, особенно если рассматриваемая группа страниц не является непрерывной и кластеризация неочевидна.
  • Data Locality управляет ассоциацией блоков памяти и вычислительных ядер, оптимизируя операции согласно принципам NUMA-архитектуры.
  • Amortized Page Faults или амортизация отказов страниц, минимизирует затраты процессорного времени на своппинг. Принцип прост: если процессор выполняет загрузку страницы памяти X1, а при этом, как уже было сказано выше, имеется знание о том, что после обращения к странице X1, с высокой вероятностью состоится обращение к страницам Y1,Y2...Yn, то логично загрузить из Flash-памяти в оперативную память всю группу связанных страниц, чтобы не обрабатывать исключение Page Fault для каждой страницы индивидуально.

Примечание. Page Fault или отказом страницы, в контексте виртуальной памяти, называют отсутствие страницы в оперативной памяти и необходимость ее загрузки с диска (своппинга). Речь не о дефекте или сбое памяти.

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

Пока только серверы

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

Презентация делает акцент на регистровых модулях DIMM, в примерах топологии систем преимущественно фигурируют платформы с топологией NUMA, а ведущий производитель низкоуровневого программного обеспечения American Megatrends заявляет о поддержке модулей памяти стандарта MEMORY1 для серверных платформ на основе процессоров Intel Xeon.

Хорошо забытое старое?

Flash-память, подключенная к интерфейсу DRAM это всего лишь быстрый носитель для файла подкачки? Тезисы, изложенные на диаграмме (Рис.2) позволят нам избежать подобного упрощенного понимания, хотя если быть совсем честным, то к виртуальной памяти на основе обычных mass storage устройств данные тезисы также применимы.

Своеобразная традиция последних лет — непременная отметка Highly Confidential на публично доступном документе, поможет читателю сохранить необходимую долю скепсиса...

Теги: