Базы данных

Оценить
(0 голоса)

Базы данных присоединяются к памяти совместного использования посредством флага SHM_SHARE_MMU, который обращается к ISM (Intimate Shared Memory - единообразно объявленной памяти совместного использования, то есть, заказанной через единую для процессов таблицу, а не через отдельные таблицы, преобразования виртуальных адресов в физические), обсуждаемой ранее в разделе "Единообразно объявленная память совместного использования" главы 3. ISM несет ряд преимуществ:

•             Закрепленные, или заблокированные, страницы. Все страницы памяти совместного использования блокируются и не могут быть вытеснены операционной системой. Блокировка страниц ISM гарантирует, что критические страницы кэша всегда будут находиться в памяти. Но это также означает, что переполненные сегменты памяти совместного использования излишне связывают физическую память, отказывая в ней другим процессам.

•             Структуры трансляции адресов совместного использования. Все процессы, подключенные к разделяемой памяти, совместно используют структуры трансляции виртуальных адресов в физические, указывающие на сегмент общей памяти, что позволяет избежать дублирования, существенно сохраняет время ЦП (центрального процессора) и повышает его производительность.

•             Большие страницы. Начиная с Solaris 2.6, в MMU (Memory Management Unit -блоке управления памятью современного процессора, осуществляющем, в частности, трансляцию виртуальных адресов в физические) используются большие страницы для уменьшения количества элементов (точек входа) таблицы страниц, необходимых для ссылки на память совместного использования. Большие страницы могут отображать до 4 Мбайт памяти за одно обращение по сравнению со стандартными страницами размером в 8 Кбайт, что составляет экономию в 512 раз! Большие страницы также уменьшают издержки, связанные с неудачами TLB (Translation Look-aside Buffer - буфера быстрого преобразования адреса); TLB представляет собой кэш с информацией по адресной трансляции. Использование больших страниц может существенно разгрузить процессор, что приводит к повышению производительности некоторых рабочих нагрузок на несколько процентов.

•             Высвобожденная область своппинга, или подкачки. Начиная с Solaris 2.6, для поддержки сегментов ISM не требуется область подкачки. Область своппинга может быть высвобождена, поскольку страницы блокируются в памяти и поэтому никогда не нуждаются в замещении. Здесь преимущество заключается в сохранении дискового пространства, а не в повышении производительности.

Поскольку ISM-страницы блокируются в памяти, запрос на присоединение сегментов ISM будет успешным лишь в том случае, если для удовлетворения запроса доступно достаточное количество физической памяти. Если необходимо больше памяти ISM, чем есть в наличии, то произойдет одна из следующих ситуаций:

•             Произойдет аварийное завершение при запуске. В этом случае затребованная память совместного использования должна быть уменьшена (например, за счет уменьшения размера кэш-буфера базы данных), а база данных должна быть перезапущена.

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

Dynamic ISM
Регистратор
Очистители страниц
Процесс восстановления базы данных
Подсистема блокирования

Добавить комментарий


Защитный код
Обновить