Найти тему
ServerNews

MemVerge представила платформу виртуализации памяти Memory Machine

Над всеми современными компьютерными архитектурами довлеет одно проклятие — разделение всех ресурсов памяти на быструю (оперативную) и медленную (дисковую). Несмотря на весь прогресс в области микроэлектроники, сам принцип остаётся фундаментальным и по сей день, однако есть и те, кто решается бросить вызов этой системе. Компания MemVerge, летом этого года заявившая о том, что делает ставку на вычисления в памяти (in-memory), официально представила разработанное ей специально для этой цели программное обеспечение под названием Memory Machine.

Модуль Optane DCPMM без радиатора. Виден контроллер и один из чипов Optane
Модуль Optane DCPMM без радиатора. Виден контроллер и один из чипов Optane

Как и все инициативы подобного рода, Memory Machine нуждается в достаточно быстром, но при этом энергонезависимом типе памяти: обычная DRAM не подходит и по цене, и по невозможности надёжно хранить данные. К счастью, сейчас такая «промежуточная» память есть, и это, разумеется, Intel Optane. Успешно доказана возможность Optane дополнять обычную память, и в тех случаях, где объём важнее пропускной способности, такие системы показывают впечатляющие результаты.

Архитектурные устои современных серверов и кластерных систем, однако, приходится преодолевать, и именно с этой целью MemVerge разработала специальную программную прослойку, существенно упрощающую построение комбинированных пулов памяти, сочетающих в себе DRAM и Optane DCPMM (PMEM, Persistent Memory). В основе Memory Machine лежит идея прослойки виртуализации между приложениями и различными API доступа к памяти и хранилищам данных.

Концепция in-memory, реализованная MemVerge. Для связи между узлами кластера используется RDMA over Converged Ethernet
Концепция in-memory, реализованная MemVerge. Для связи между узлами кластера используется RDMA over Converged Ethernet

Благодаря этой прослойке, все имеющиеся сочетания DRAM и Optane DCPMM в пределах сервера или различных узлах кластера представляются, как единое объектное пространство памяти (Distributed Memory Objects), а приложения воспринимают это пространство как обычный объём памяти, с которым можно работать стандартными средствами. Прослойка с точки зрения приложений полностью прозрачна, а значит, приложения не нуждаются в модернизации. Для внедрения вычислений in-memory без модернизации ПО достаточно приобретения Memory Machine Standard Edition.

MemVerge Memory Machine включает в себя удобные средства мониторинга и управления
MemVerge Memory Machine включает в себя удобные средства мониторинга и управления

Но существует и расширенная версия, Memory Machine Advanced Edition, ещё более продвинутая и выводящая идею единого быстрого пространства памяти на новый уровень. Ключевым отличием от стандартной версии можно назвать поддержку ZeroIO, технологии моментальных снимков памяти. Если верить MemVerge, ZeroIO позволяет полностью отказаться от операций ввода-вывода с традиционными блочными накопителями (SSD и HDD) и хранить всё в пределах PMEM.

Загрузка объемных рабочих сценариев (сотни гигабайт или единицы терабайт) при этом занимает секунды против минут и часов при традиционном подходе. Поддерживается практически мгновенное клонирование объёмных баз данных, что обязательно порадует разработчиков. Также реализована функция Time Travel, позволяющая быстро откатываться к любому из сделанных ранее снимков.

Memory Machine состоит из гипервизора памяти и надстроек, работающих непосредственно с приложениями
Memory Machine состоит из гипервизора памяти и надстроек, работающих непосредственно с приложениями

Разумеется, Memory Machine представляет собой весьма непростое программное обеспечение. При всех своих достоинствах, память Optane DCPMM всё же уступает традиционным модулям DRAM DIMM в производительности. Но Memory Machine дирижирует имеющимися в её распоряжении ресурсами интеллектуально, перемещая наиболее часто используемые, «горячие» данные в область DRAM для максимизации производительности. Общий объём DRAM и Optane при этом всё равно используется на 100%.

В основе Memory Machine лежит гипервизор на базе Linux, он-то и занимается виртуализацией всех ресурсов памяти в единый пул. Из этого пула приложения могут забирать необходимые ресурсы, а надстройка Memory Machine следит за тем, чтобы производительность была максимальной и поддерживает качество обслуживания (QoS). А в случае Advanced Edition, эта надстройка отвечает и за функции ZeroIO.

Новое ПО поддерживает зонирование памяти (tiering), снятие снэпшотов и репликацию в реальном времени
Новое ПО поддерживает зонирование памяти (tiering), снятие снэпшотов и репликацию в реальном времени

Обе редакции MemVerge Memory Machine можно заказать уже сейчас. Список поддерживающего режим выполнения in-memory программного обеспечения достаточно широк и включает в себя такие наименования как Autodesk Maya, TensorFlow, PyTorch, MySQL, MongoDB, KVM и ряд других. Список будет постоянно пополняться, также компания принимает отдельные заказы на обеспечение поддержки пользовательского приложения.

Аппаратные ограничения проистекают из самой природы Memory Machine: к сожалению, серверы на базе AMD EPYC не подходят, как не поддерживающие Optane DPCMM. Но подойдёт любой сервер с процессорами Intel Xeon Scalable второго поколения, поддерживающими такой тип модулей памяти. Поддерживаются гипервизоры VMware ESXi и QEMU-KVM, операционные системы CentOS и Red Hat Enterprise Linux, а также платформы контейнеризации на базе Kubernetes.

Напомним, что на самих платформах Intel память Optane DCPMM тоже может работать в режиме прозрачного расширения объёма DRAM. А на более ранних платформах с Xeon Scalable первого поколения доступна технология IMDT, которая позволяет расширить объём видимой в системе оперативной памяти за счёт NVMe-накопителей (в первую очередь, на базе той же Optane).