
В ожидании 3D XPoint набирают обороты инициативы по «скрещиванию» оперативной и энергонезависимой памяти. Для этого создан впечатляющий технологический базис. Одним из камней в его основе стала поддержка NVDIMM спецификацией ACPI 6.0, получившая дальнейшее развитие в виде концепции устойчивых систем. Исходя из этого, есть основания считать, что архитектуру подсистем хранения данных ждут радикальные изменения, суть которых в конвергенции технологий доступа, хранения и обработки информации в RAM.
Из презентации, с недавних пор доступной на просторах Интернет, видно, что концепция DMX (Diablo Memory Expansion) в исполнении компании Diablo Technologies, унифицирует принципы как конструктивного исполнения, так и адресации оперативной памяти и энергонезависимой Flash-памяти. Модули, получившие условное название MEMORY1, не что иное, как Flash ROM в DIMM-исполнении. Концепция не нова, подобные инициативы известны еще со времен 72-контактных модулей SIMM. Вместе с тем, интеллектуальное управление и ряд усовершенствований в организации системы виртуальной памяти ОС, заставляют задуматься.
Интеграция в инфраструктуру
Многочисленные примеры создания и развития современных технических средств убеждают нас в том, что перспективы любой новинки в большей степени зависят от ее способности вписаться в существующую инфраструктуру, чем от собственных свойств самой новинки.
Рис. 1 Подключение Flash DIMM к шине оперативной памяти NUMA-платформы
Учитывая сказанное, использование стандартного интерфейса DDR4 выглядит достаточно логично. Прозвучит банально, DDR4 значительно быстрее NVMe, особенно с учетом непосредственного включения запоминающей матрицы в адресное пространство платформы.
Читая между строк, понимаем, что немалая работа возлагается и на разработчиков UEFI Firmware: подключение к шине памяти любого объекта, отличного от DRAM, потребует доработки процедур картирования диапазонов, интерпретации содержимого Serial Presence Detect и тестирования памяти. Получим ли мы раздельную визуализацию объемов DRAM и Flash в виде двух строк в стартовом экране POST?
DMX и виртуальная память
Еще один фактор совместимости с инфраструктурой состоит в том, что совместное применение DRAM и Flash в рамках единого пула системных ресурсов, основано на классическом принципе виртуальной памяти.
Рис. 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 на публично доступном документе, поможет читателю сохранить необходимую долю скепсиса...