Компания виртуализирует оперативную память между серверами

Логотип компании
18.02.2009
Молодая компания RNA Networks предложила новый вид виртуализации – создание общего пула оперативной памяти, состоящего из ОЗУ множества серверов, и использование этой памяти в качестве одного логического устройства.

Молодая компания RNA Networks предложила новый вид виртуализации – создание общего пула оперативной памяти, состоящего из ОЗУ множества серверов, и использование этой памяти в качестве одного логического устройства.

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

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

Память серверов объединяется не впервые. В кластерных системах данные распределяются между серверами и синхронизируются в процессе операций с базой данных, так что кластер работает с единой памятью в целях синхронизации данных. Продукт Oracle Coherence, входящий в состав комплекса промежуточного ПО Fusion компании, распределяет часто востребованные данные при операциях с базой данных между ОЗУ нескольких серверов для повышения производительности Java-приложений. RNA Networks выполняет аналогичную функцию, обеспечивая синхронизацию данных в пуле общей оперативной памяти.
Однако пул оперативной памяти для кластера или система Oracle Real Application Cluster выполняет единственную функцию: удовлетворение потребности в данных отдельных узлов кластера. А RNA Networks намерена превратить общий для серверов пул памяти в отдельное виртуальное устройство, способное решать принципиально новые задачи, такие как высокоскоростной обмен сообщениями.

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

Когда транзакция ожидает запуска в оперативной памяти сервера, RNAmessenger может ускорить ее исполнение, так как он сам и данные находятся в ОЗУ. Вместо обмена сообщениями, при котором процессор должен обрабатывать логику транзакции, RNAmessenger передает указатели на наборы данных, несущие информацию о требуемой операции; обмен указателями позволяет выполнить эту операцию.
Например, компания работает с хеджевым фондом, который до сих пор мог выполнять на своей системе 63 транзакции в секунду, а хотел бы 10 тыс. транзакций в секунду. Ускорение сделок оказывается важнее, чем их размер. Система RNAmessenger в сочетании с RNAcache для синхронизации данных позволил даже превысить требуемое быстродействие.

Идея объединения оперативной памяти для управления трафиком становится популярной. Компания Terracotta объединяет память группы серверов для промежуточного хранения данных и управляет несколькими виртуальными Java-машинами, обеспечивая любой объем трафика, генерируемого одним приложением. Но если Terracotta ориентирована на повышение производительности Java-приложений, то RNA Networks допускает более общее использование объединенной памяти; она работает с приложениями, написанными на С или других языках программирования, а также с Java-приложениями. RNAmessenger работает на Linux и будет работать на Solaris. Лицензия на него стоит $7000-$10000 на сервер. Компания рекомендует использовать высокоскоростные сетевые линии связи между серверами, такие как InfiniBand или 10 Gigabit Ethernet.