понедельник, 23 ноября 2015 г.

Micron NVDIMM + In-Memory DataBase - рецепт ультраскоростной базы данных

    Эта тема не для внедренцев 1С бухгалтерии!!!   :)

    11/2015. Компания Micron приблизилась к началу продаж энергонезависимых модулей DIMM.
На сайте и в каталоге появился соответствующий раздел, уже присвоены партнамберы изделий. Пока еще в статусе "Sampling", правда.

    Зачем оно надо?

    Все бы ничего, да оперативная память, используемая повсеместно сегодня, теряет всю информацию при пропадании питания. Отсюда - ВЫНУЖДЕННЫЕ совсем не быстрые по нынешним временам процедуры записи с последующим чтением на дисковые накопители (HDD). Работы по внедрению в промышленное производство новых видов памяти активно ведутся, но реально этот день еще не близок.
    Micron предлагает решение, позволяющее резко ускорить вычислительную систему уже сейчас, адаптировавшись под существующую ныне архитектуру вычислительной техники. Позиционирование NVDIMM по производительности и цене - в области, занимаемой DRAM.




    Как это устроено

    На данный момент, относительно активно развиваются 2 конкурирующих решения - с резервной флеш-памятью и модулем питания (в том числе - Micron) и полностью флеш - SanDisk UlltraDIMM (разработка Diablo).
    Каждое из них имеет свои плюсы и минусы. Здесь рассматривается комбинированный подход с резервной флеш.
    Фактически, NVDIMM представляет собой стандартный модуль DRAM DIMM с дополнением - соответствующий по емкости раздел флеш-памяти, систему управления/мультиплексор и систему питания.
    Принцип следующий: в штатной ситуации модуль работает как обычный модуль оперативной памяти. В случае аварии по питанию, его текущее состояние (т.е. - все данные,
содержащиеся модулем) переписываются в область флеш (которая энергонезависима). Энергию для этой процедуры содержит модуль временного питания. Их может быть 2 типа - или суперконденсатор, подключаемый непосредственно к модулю (автономное питание), или небольшой блок бесперебойного питания PowerGEM® (этакий локальный UPS на все установленные в системе модули NVDIMM). Последний выполнен в виде отдельного модуля в формате стандартного 2,5" накопителя. Зарядка его происходит либо через контакт 12V модуля DIMM или непосредственно от блока питания через SATA разъем.

PowerGEM® (green energy module)


    По возвращении штатного питания в норму, блок управления перписывает информацию из области флеш обратно в динамическую память.
    Таким образом, с одной стороны - никоим образом не замедляется работа вычислительной системы из-за драйверов и прочих "подменяльщиков", позволяющих стороннему устройству прикидываться для системы динамической памятью, а с другой стороны - обеспечивается ее работа без потерь результатов. И - что самое важное - система вообще может работать без обращений к медленным дисковым накопителям!!!! Конечно, это - при условии, что вся нужная информация может уместиться в оперативной памяти.
    NVDIMM монтируется на 2 стороны: с одной - "классический" DRAM, с другой - флеш с контроллером.



    Возвращаемся к вопросу - "зачем".

    Во всю красу потенциал бездисковой вычислительной системы показывает связка - сервер с NVDIMM и база данных в-памяти In-Memory DataBase. Главная идея в том, чтобы по максимуму исключить из штатной работы приложения медленные до противности обращения к дисковой системе, но при этом не потерять данные в случае аварии системы или системы питания. Тестирование производили с McObject eXtremeDB.

    Сравнительные результаты впечатляют!

Расшифровка.

  • Голубые столбики - база данных eXtremeDB в "традиционном" режиме, NVDIMM используется в качестве RAM-Disk. Берется за точку отсчета - "1"
  • Красные столбики - то же самое, база данных eXtremeDB в "традиционном" режиме, NVDIMM используется в качестве RAM-Disk, Логи БД (TL-transaction log) пишутся также на REM-Disk NVDIMM. Прибавка в производительности - от 5,6 до 12,8 раз.
  • Зеленые столбики - eXtremeDB работает полностью в области оперативной памяти. Результаты остаются также в оперативной памяти. Логи не пишутся.
  • Фиолетовые столбики - eXtremeDB работает полностью в области конверсионной памяти (Conventional DRAM - так называют область памяти, сформированную NVDIMM модулями). Выигрыш в производительности  - 27 - 28 раз!!!

    Pros & Cons

    NVDIMM позволяют отказаться практически полностью от замедляющих систему дисковых операций. Совсем исключить диски нельзя, поскольку необходимо иметь резервные копии базы данных. Тут вообще не очень понятно - как обеспечить сохранность и корректность данных, если логи вообще не пишутся. Может быть и есть некие инструменты, но я об них не знаю.
    NVDIMM имеют преимущество по отношению к RAM-Disk. 1) быстрее; 2) не теряет информацию
    Есть существенное ограничение - объем данных и программы не должен превышать объема установленной конверсионной памяти NVDIMM, а количество слотов памяти даже в серверных системах совсем не велико - в производительных двухпроцессорных системах Supermicro, например - до 24, в более распространенных - 16.
    Т.к. на модуль DIMM приходится устанавливать в 2,5 раза больше компонентов, его объем имеет ограничение по сравнению с "чистым" DRAM DIMM. На сегодня, у Micron единственный вариант емкости - 8GB
    NVDIMM компании Micron для системы - как обычные DDR DRAM. Ни драйверов, ни других доработок не требуется. Соответственно - сейчас это DDR4 модули, с утверждением и распространением DDR5, DDR6,... не составит труда "допилить" их до конверсионных модулей.
    Преимущества конверсионной памяти на NVDIMM проявятся при использовании или написании соответствующим образом оптимизированного ПО. Простая замена динамической памяти на NVDIMM ничего особенного не принесет. Если только использовать их в качестве области для RAM-Disk.
   

модуль   MTA18ASF1G72PF1Z-2G1
детальное описание  http://www.micron.com/~/media/documents/products/data-sheet/modules/nvdimm/ddr4/asf18c1gx72pf1z.pdf
модуль питания  PowerGEM® Ultra Capacitor  MTA001A08BA-001


раздел на сайте
http://www.micron.com/products/dram-modules/nvdimm#/

NVDIMM, его позиционирование
Флайер

сочетание NVDIMM и In-Memory DataBase
http://www.odbms.org/wp-content/uploads/2014/06/IMDS-NVDIMM-paper.pdf

1 комментарий:

  1. NVDIMM можно использовать в современных мат. платах (допустим на чипсете C621)?

    ОтветитьУдалить