[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]

Принципы управления системой: Операционная система и устройства


Управление ресурсами с помощью WLM

WLM отслеживает и управляет распределением ресурсов между всеми нитями и процессами, работающими в системе. Для каждого типа ресурсов, управляемого WLM, можно задать минимальное и максимальное ограничение на использование, а также целевое значение для каждого класса. Это значение соответствует оптимальному объему ресурсов для заданий данного класса.

Относительные объемы и ограничения на использование ресурсов на уровне суперклассов определяют распределение между ними ресурсов всей системы. Эти же параметры на уровне подклассов определяют распределение ресурсов, полученных суперклассом, между его подклассами. Иерархия классов позволяет разделить ресурсы системы между группами пользователей (суперклассами) и предоставить управление дальнейшим распределением администраторам этих суперклассов. Для распределения ресурсов внутри суперкласса его администратор может создавать и настраивать подклассы.

Типы ресурсов

WLM управляет ресурсами трех типов:

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

Каждую секунду WLM вычисляет объем каждого ресурса, использованного классом, как долю от полного объема этого ресурса.

Для вычисления более точных оценок распределения ресурсов полосы пропускания дискового ввода-вывода между классами, WLM получает от драйверов дисковых накопителей информацию о загрузке каждого из накопителей за последнюю секунду. Эту информацию можно также просмотреть командой iostat. WLM подсчитывает полное число блоков, прочитанных или записанных на устройство за последнюю секунду всеми классами и каждым классом, и получает от драйвера величину загрузки устройства. Затем WLM пропорционально делит последнюю величину между классами.

Например, если за последнюю секунду было записано (или прочитано) всего 1000 блоков, и устройство было загружено на 70%, то запись классом 100 блоков будет означать использование этим классом 7% полосы пропускания. Как и для времени CPU, для управления дисками WLM применяет затухающее среднее от значений за отдельные секунды.

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

Число общих ресурсов

Целевой объем различных типов ресурсов определяется как число общих ресурсов. Число общих ресурсов задает относительное количество ресурсов, выделяемых разным классам. Значение по умолчанию - 1. Число общих ресурсов можно представить как автоматически определяемую процентную долю ресурсов.

Допустим, в системе определено три класса - A, B и C - с целевыми значениями 50, 30 и 20 соответственно,

В этом примере суммарное число общих ресурсов рассматриваемых трех классов для упрощения вычислений было равно 100. На самом деле целевое значение может быть любым числом, лежащим в диапазоне от 1 до 65535.

В предыдущем примере предполагается, что:

Абсолютные величины относительных объемов использования ресурсов для подкласса и суперкласса, подклассов разных суперклассов или подклассов с разным приоритетом не влияют на распределение ресурсов.

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

Вместо относительного объема использования ресурсов может быть указан один символ минус ('-'), в этом случае WLM не будет регулировать использование ресурса классом. Это значение по умолчанию, если относительный объем использования ресурсов не указан. Такое поведение по умолчанию отличается от первой версии, в которой количество ресурсов считалось равным 1. Для класса System можно оставить значение по умолчанию, однако для класса Default рекомендуется указать объем использования ресурсов явно.

Объем использования ресурсов каждого типа указывается для каждого класса. Значения задаются в разделах файла shares. Например:

shares
classname:
   CPU      =   2
   memory   =   4
   diskIO   =   3

Максимальное и минимальное ограничение на объем ресурсов

Для различных видов ресурсов можно задать следующие ограничения:

Ограничения на объем выделяемых ресурсов задаются в специальном файле, каждый раздел которого соответствует определенному классу. Гибкий максимум указывается после гибкого минимума через символ минус (-). Жесткий максимум указывается после гибкого максимума через точку с запятой (;). После каждого значения следует символ процента (%).

Должны соблюдаться следующие правила:

Если класс достигает жесткого максимума и пытается получить доступ к дополнительным страницам памяти, запускается Алгоритм замены страниц VMM (LRU), который отбирает страницы у класса перед предоставлением новых, обеспечивая выполнение указанного жесткого ограничения. Такое поведение верно, но при наличии большого количества свободных страниц памяти в системе лишняя подкачка страниц может снизить производительность всей системы. Перед указанием жесткого максимума памяти для какого-либо класса рекомендуется задать значения минимального объема памяти для других классов.

Ограничение суммы минимумов числом 100 означает, что класс с максимальным приоритетом всегда может получить хотя бы минимальное количество ресурсов. WLM не гарантирует, что минимум действительно будет достигнут. Это зависит от поведения других процессов и других ограничений. Например, класс может не достичь заданного минимального уровня использования CPU из-за отсутствия необходимого объема памяти.

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

Для каждого класса в файле limits создается раздел, в котором перечислены ограничения на ресурсы всех типов. Например:

shares
classname:
   CPU     =   0%-50%;80%
   memory  =   10%-30%;50%

В этом примере ограничения на обмен с дисковой памятью не заданы, Поэтому будут применяться следующие системные значения по умолчанию:

diskIO   =   0%-100%;100%

Сведения о совместимости с предыдущими версиями

В версиях AIX до 5.1 значение количества ресурса WLM по умолчанию было равно единице. Начиная с AIX 5.1, по умолчанию считается, что указан символ минус (-), то есть использование ресурсов классом не регулируется WLM. Системным администраторам рекомендуется проверить все созданные ранее конфигурации и убедиться, что они по-прежнему правильны. Возможно, для некоторых классов потребуется явно задать вместо значения по умолчанию число 1 или другое подходящее число. Дополнительная информация о задании пользовательского значения по умолчанию приведена в разделе shares книги AIX 5L Version 5.1 Files Reference

В более ранних версиях WLM было только одно ограничение на ресурс, которое было гибким для CPU и жестким для памяти. Если ограничение указано в формате min%-max%, максимум будет интерпретироваться как гибкий для ресурсов CPU и жесткий для ресурсов памяти. Все интерфейсы версии AIX 5.1 и более поздних (кроме прямого редактирования файлов) при добавлении или изменении ограничений преобразуют их к новому формату. Администраторам, изменяющим файлы конфигурации в текстовом редакторе, рекомендуется преобразовать файл limits вручную.

В версии AIX 5.1 добавлен новый тип ресурсов, связанный с обменом информацией с диском. Если с текущей версией будут применяться файлы конфигурации от предыдущей версии, для относительных объемов и ограничений на доступ к этому ресурсу будут приняты значения по умолчанию. Эти значения по умолчанию перечислены ниже:

В конфигурациях WLM до AIX 5.1 ресурсы дискового ввода-вывода не регулируются WLM, поэтому класс будет работать обычным образом.


[ Страница назад | Страница вперед | Содержание | Индекс | Библиотека | Юридическая информация | Поиск ]