Содержание


Виртуализация в System p

Comments

Для размещения нескольких операционных систем можно использовать логические разделы, при создании которых каждому разделу можно выделить определенные аппаратные ресурсы в соответствии с требованиями операционной системы и работающих приложений. Виртуализация в System p™ позволяет жестко изолировать между собой логические разделы. Важнейшее достоинство виртуализации – возможность динамического конфигурирования и переконфигурирования логических разделов без необходимости перезагружать физический сервер или затрагивать другие разделы. В POWER5™ появились такие новшества, как микро-разделы (Micro-Partitioning™) и виртуальный ввод-вывод.

Виртуализация требует соответствующей поддержки на уровне аппаратного обеспечения, микропрограммного ПО и операционной системы. Аппаратная поддержка в POWER5 включает введение новых процессорных регистров и особое устройство аппаратуры обработки прерываний. Для поддержки виртуализации микропрограммное ПО POWER5 включает в себя т.н. гипервизор POWER. Данная статья уделяет особое внимание Гипервизору и тому, как он способствует эффективной работе в системе со множеством разделов. В POWER5 реализована технология одновременной многопоточности (Simultaneous Multi-Threading), которая позволяет независимым потокам выполняться одновременно на одном физическом процессоре. И наконец, сама ОС AIX также поддерживает виртуализацию: к примеру, в ней есть команды для мониторинга производительности разделов. В статье рассмотрена поддержка виртуализации в System p в аппаратном обеспечении, микропрограммном ПО и операционной системе.

Что такое виртуализация?

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

Введение в паравиртуализацию

Технология виртуализации, реализованая в System p – паравиртуализация – определяет дополнительный логический уровень т.н. Гипервизора, который располагается выше аппаратного уровня и управляется набором специальных низкоуровневых вызовов. Операционная система взаимодействует с гипервизором с помощью этих вызовов.

Логические разделы

В System p паравиртуализация реализована на основе логических разделов. Логические разделы отличаются от физических тем, что для последних применяется жесткое физическое разграничение аппаратных ресурсов. В случае с физическими разделами каждый раздел может выполнять как одну и ту же ОС, так и различные версии одной ОС. Каждый раздел использует только свои ресурсы ввода-вывода, процессоры и память – получается полная изоляция.

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

Каждый логический раздел (LPAR) может взаимодействовать с другими разделами как с отдельными машинами, и его можно активировать и деактивировать независимо от остальных.

Рисунок 1. Логические разделы
Логические разделы
Логические разделы

В каждом логическом разделе может выполняться своя ОС или своя версия одной и той же ОС, однако программное обеспечение изолировано внутри раздела. Если в каком-либо разделе операционная система дает сбой, никакого влияния на ОС других разделов не происходит. Аналогично, приложения, работающие в одном разделе, напрямую никак не влияют на приложения из других разделов.

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

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

Введение в гипервизор POWER

Важнейшим компонентом для реализации паравиртуализации в System p является гипервизор POWER (иногда называемый phyp для POWER5). Гипервизор POWER (далее просто гипервизор) представляет собой микропрограмму, находящуюся в недоступном для разделов участке физической памяти, начиная с нулевого адреса. После включения питания управление передается на гипервизор, который собирает сведения о количестве доступной памяти, наличии устройств ввода-вывода и других ресурсах, имеющихся в системе. Именно он заведует и управляет глобальными ресурсами системы, отвечает за установку логических разделов и "границ" между ними, а также управляет предоставлением разделам ресурсов и обеспечивает изоляцию разделов друг от друга.

Управление виртуальной памятью разделов гипервизор осуществляет при помощи глобальной таблицы страниц. Так, любая попытка раздела обратиться к адресу памяти за границами отведенного объема невозможна. Возможности гипервизора по выделению и управлению памятью будут рассмотрены более подробно в соответствующем разделе статьи.

Поддержка микропрограммных функций на уровне раздела

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

Функции по обслуживанию разделов включают в себя специфичные для AIX и System p службы, называемые службами абстракций времени выполнения (Run-Time Abstraction Services, RTAS). С помощью этих служб абстрагируется некоторая функциональность аппаратных устройств. Вместо того, чтобы работать с устройствам напрямую, ОС обращается к RTAS. Благодаря RTAS часто можно обойтись без модификации ОС при изменении аппаратной платформы – при изменении платформы достаточно модифицировать только RTAS.

Выделенные и совместно используемые разделы

В System p можно создавать два вида логических разделов – выделенные и совместно используемые.

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

Если логическому разделу отведен целиком один физический процессор, раздел называется выделенным. Физический процессор, используемый несколькими логическими разделами, называется совместно используемым. Другими словами, в режиме совместного использования логическому разделу доступна как бы часть физического процессора. Эта часть физического процессора, отведенная разделу, называется виртуальным процессором.

Каждый виртуальный процессор характеризуется вычислительной мощностью, выраженной в долях от мощности физического процессора, и принимающей значения от 10 до 100 процентов. Эта величина может меняться с шагом в 0.01 условных единиц. Значение 1.00 соответствует всему физическому процессору.

Раздел, в состав которого входят выделенные физические процессоры, называется выделенным. Если несколько разделов совместно используют ресурсы одного физического процессора, такие разделы называются совместно используемми.

Важно решить, какое количество вычислительной мощности данного процессора будет отдано каждому из различных совместно используемых разделов. Один и тот же набор процессоров может использоваться несколькими разделами – каждому "достанется" определенная часть их вычислительной мощности.

Рассмотрим пример, который поможет понять указанный принцип. Допустим, в нашей системе есть четыре физических процессора:

  • P1
  • P2
  • P3
  • P4

Пусть P1 и P2 будут выделенными, а P3 и P4 – совместно используемыми процессорами.

Пара P1 и P2 и пара P3 и P4 обладают вместе мощностью в 2.0 единицы каждая. P1 и P2 можно выделить разделу LPAR1, а P3 и P4 – отдать в совместное использование разделам LPAR2 и LPAR3.

Каждому из разделов LPAR2 и LPAR3 доступно от 0.1 до 2.0 единиц мощности. Мощности P3 и P4 объединены в совместно используемый пул, так что LPAR2 и LPAR3 будут задействовать этот пул. Максимальная совместно используемая мощность в данном примере равна 2.0. Минимальная мощность, которую возможно выделить разделу, составляет 0.1.

Мы выделим разделу LPAR2 виртуальный процессор с мощностью 0.5 единицы, а оставшиеся 1.5 единицы будут принадлежать LPAR3, который получит в свое распоряжение два виртуальных процессора. Каждый виртуальный процессор LPAR3 обладает мощностью в 0.75 единиц.

На рисунке 2 проиллюстрирован данный пример.

Рисунок 2. Использование виртуальных процессоров
Использование виртуальных процессоров
Использование виртуальных процессоров

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

Суммарная мощность физических процессоров, отдаваемая разделам в совместное использование, называется присвоенной (entitled) мощностью.

Существует два режима работы разделов – ограниченный (capped) и неограниченный (uncapped). Если совместно используемый раздел израсходовал выделенную ему вычислительную мощность, то в неограниченном режиме он может задействовать свободные такты процессорного времени из общего пула путем обращения к гипервизору. В ограниченном режиме такие свободные такты использовать нельзя. Все выделенные разделы по умолчанию работают в ограниченном режиме.

Гипервизор хранит все вычислительные такты виртуальных процессоров в общем пуле и отвечает за назначение виртуальным процессорам нужных физических процессоров. В этом процессе играют роль две функции гипервизора – hcede и hconfer.

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

Вызов hconfer используется ОС, работающей в совместно используемом разделе, для предоставления некоторых вычислительных тактов одного виртуального процессора другому виртуальному процессору, принадлежащему тому же разделу. ОС "понимает", что один виртуальный процессор нуждается в тактах, а у другого они в избытке. Например, представим ситуацию, когда один виртуальный процессор держит блокировку и не имеет свободных вычислительных тактов, чтобы выйти из этого состояния, в то время как другой виртуальный процессор, ожидающий этой блокировки, имеет свободные вычислительные такты. Тогда второй процессор также ожидающий блокировки, может отдать избыточные такты первому процессору.

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

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

Одновременная многопоточность

Производительность системы зависит не только от типа и количества процессоров, но и от того, насколько эффективно используются имеющиеся ресурсы.

Важность второго условия привела к появлению в POWER5 технологии одновременной многопоточности.

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

Рисунок 3. Исполнение кода процессором
Исполнение кода процессором
Исполнение кода процессором

Здесь FX, FTP и BRX представляют собой вычислительные блоки. Физический процессор состоит из различных аппаратных вычислительных блоков. Так, есть блок вычислений с фиксированной запятой и блок вычислений с плавающей запятой. Выполнение отдельного потока проходит через несколько разных блоков.

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

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

На рисунке 4 показан пример одновременной многопоточности

Рисунок 4. Процессорные такты в режиме одновременной многопоточности
Процессорные такты в режиме одновременной многопоточности
Процессорные такты в режиме одновременной многопоточности

Другие аппаратные новшества

Перейдем к подробному описанию различных аппаратных нововведений, реализующих работу логических разделов.

Аппаратура контроллера прерываний

На рисунке 5 показана роль контроллера прерываний в SMP-системе.

Рисунок 5. Контроллер прерываний в SMP-системе
Контроллер прерываний в SMP-системе
Контроллер прерываний в SMP-системе

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

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

Рисунок 6. Обработка прерывания в системе с разделами
Обработка прерывания в системе с разделами
Обработка прерывания в системе с разделами

Правильная обработка прерываний достигается за счет наличия очереди прерываний на каждый раздел. В POWER5 реализовано 16 таких очередей. Во время включения раздела микропрограмма связывает процессоры с очередями прерываний, а в момент включения любого адаптера ему также выделяются определенные очереди. Таким образом, получается, что каждый адаптер ассоциирован с определенным разделом.

Регистры

В POWER4 появились дополнительные процессорные регистры для поддержки логических разделов.

Регистр смещения в реальном режиме (Real Mode Offset) – регистр RMO

Этот регистр предназначен для хранения значения, соответствующего нулевому адресу памяти в адресном пространстве раздела.

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

Перед обращением к памяти в реальном режиме, раздел должен знать местоположение начала отсчета. Поэтому каждый раздел использует регистр RMO для облегчения нахождения нулевого адреса, который для каждого раздела свой. Другими словами, этот регистр содержит смещение относительно нулевого адреса физической памяти, по которому начинаются адреса, закрепленные за определенным разделом. Всякий раз, когда происходит обращение к памяти в реальном режиме, физический процессор прибавляет значение регистра RMO к адресу, которым оперирует раздел, и получает истинный адрес в физической памяти. Все процессоры, принадлежащие одному и тому же разделу, используют одинаковое значение регистра RMO.

Регистр границы в реальном режиме (Real Mode Limit) – регистр RML

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

Регистр идентификатора логического раздела (Logican Partition Identity) – регистр LPI

Регистр содержит значение, идентифицирующее раздел, которому назначен процессор. Все процессоры одного и того же раздела хранят одинаковое значение регистра LPI.

Регистр использования процессора (Processor Utilization Resource) - регистр PUR

Добавление этого регистра сделало возможным точное измерение загрузки процессоров.

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

Декрементор гипервизора – HDECR

Это аппаратное новшество появилось в POWER5 и служит для генерации периодических прерываний для гипервизора. Декрементор никак не связан с разделами и применяется исключительно для управления задачами.

Виртуальный ввод-вывод

Ввод-вывод в логических разделах реализуется через ограниченный набор реальных физических адаптеров благодаря виртуализации ввода-вывода. В POWER5 разделы могут одновременно использовать и физические устройства, и виртуальные. Также поддерживается разграничение физических устройств на уровне тактов ввода-вывода. Так, определенные PCI-такты могут быть закреплены за определенными логическими разделами, а гипервизор следит за тем, чтобы каждый логический раздел обращался только к тем тактам, которые ему назначены, и ни к каким другим, даже если они находятся на одной и той же шине.

Виртуальные адаптеры реализуются программно внутри виртуального сервера ввода-вывода (Virtual I/O Server, VIOS), который представляет собой специально создаваемый логический раздел. Виртуальный сервер ввода-вывода взаимодействует с физическими устройствами и управляет доступом к ним логических разделов. Такая архитектура освобождает гипервизор от управления устройствами: его "не волнует" добавление новых или изменение существующих устройств.

Виртуальный сервер ввода-вывода распоряжается доступом разделов к логическим устройствам, таким как виртуальный SCSI-диск или виртуальный Ethernet-адаптер. Виртуальные SCSI-диски могут соответствовать целым физическим дискам, а могут – каким-либо их частям. Так или иначе, для разделов они выглядят как обычные диски. Аналогично, физические Ethernet-адаптеры могут использоваться совместно несколькими разделами, при этом виртуальный сервер ввода-вывода создает для разделов виртуальные адаптеры. Это похоже на широкополосный Ethernet-канал, через который разделы взаимодействуют друг с другом, используя разные протоколы.

На рисунке 7 показана система POWER, содержащая разделы и виртуальный сервер ввода-вывода.

Рисунок 7. Cистема POWER, содержащая разделы и виртуальный сервер ввода-вывода
Cистема POWER, содержащая разделы и виртуальный сервер ввода-вывода
Cистема POWER, содержащая разделы и виртуальный сервер ввода-вывода

Управление виртуализацией

Начиная с POWER5, пользователю доступно два инструмента для оперативного управления логическими разделами – HMC (Hardware Management Console, консоль управления аппаратурой) и IVM (Integrated Virtualization Manager, интегрированный диспетчер виртуализации).

HMC

HMC представляет собой компьютер, на котором запущена специальная программа, имеющая графический интерфейс и позволяющая пользователю управлять серверами POWER. Сервер, управляемый при помощи поключенной к нему HMC, принято называть управляемой системой.

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

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

IVM

В некоторых небольших системах, служащих для тестовых либо специфических целей, применяются простые разделы малого объема, поэтому для них вся функциональность HMC может быть избыточна. Для таких случаев лучше подходит IVM – недорогое решение, реализующее некоторые функции HMC. IVM работает только с одним сервером, и для него нет необходимости выделять отдельную машину, как для HMC.

IVM представляет собой расширенный виртуальный сервер ввода-вывода (VIOS). В самом начале, когда еще не создано ни одного раздела, виртуальный сервер ввода-вывода устанавливается в качестве первой операционной системы. В дальнейшем он используется для настройки, запуска и остановки разделов, управления дисковыми и Ethernet-адаптерами – т.е. для всех основных операций. VIOS распоряжается всеми физическими ресурсами и обеспечивает виртуализацию для всех остальных логических разделов. Для работы с ним используется браузер.

Поддержка логических разделов в AIX

В AIX есть специальные средства для поддержки виртуализации в системах System p. Перечислим некоторые из них.

Область виртуального процессора

AIX поддерживает для каждого виртуального процессора специальную область – VPA (Virtual Processor Area, область виртуального процессора), которая представляет собой зону для двунаправленного обмена информацией о виртуальных процессорах между ОС и гипервизором. Когда ОС находится в состоянии бездействия, она устанавливает в VPA специальный флаг, чтобы проинформировать об этом гипервизор.

При переключении контекста, например, когда один виртуальный процессор отдает свои вычислительные такты другому процессору, состояние первого процессора, видимое программой, должно быть полностью сохранено. Это означает, что все ресурсы виртуального процессора необходимо сохранять перед переключением контекста, а это весьма накладно. Для минимизации затрат на переключение ОС уведомляет гипервизор, какие именно ресурсы процессора действительно использовались, путем установки соответствующих флагов в VPA, после чего производит поверхностное копирование этих ресурсов в VPA.

Аналогично системным вызовам, всегда выполняющимся в режиме ядра, вызовы гипервизора (называемые hcalls) всегда выполняются в режиме гипервизора.

Переход процессора из режима ядра в режим гипервизора контролируется битом HV регистра MSR. Этот бит, наряду с битом уровня привилегий (PR), определяет, находится ли процессор в режиме гипервизора.

Модифицированный диспетчер виртуальной памяти

Для поддержки разделов потребовалось внести некоторые серьезные изменения в диспетчер виртуальной памяти (VMM). Физическая память уже не рассматривается как единое непрерывное пространство, как это было в традиционных системах без поддержки разделов.

Теперь вся физическая память разделена на блоки, называемые PMB (Physical Memory Blocks, блоки физической памяти). Логическая память делится на LMB (Logical Memory Blocks, блоки логической памяти). POWER5 допускает различные размеры PMB- и LMB-блоков. PMB-блоки, предоставляемые разделу, не обязательно должны идти друг за другом. Некоторые PMB-блоки используются гипервизором и не доступны разделам. Каждый PMB-блок отображается на LMB-блок, как показано на рисунке 8.

Рисунок 8. Отображение блоков памяти
Отображение блоков памяти
Отображение блоков памяти

Гипервизор имеет доступ ко всей физической памяти и ведет учет того, какие блоки закреплены за какими разделами, при помощи глобальной таблицы страниц разделов. Он следит, чтобы раздел не мог обращаться к памяти другого раздела. Глобальная таблица страниц разделов представляет собой таблицу соответствия PMB-блоков LMB-блокам для всех разделов. ОС не имеет прямого доступа к этой таблице – вместо этого для чтения элементов этой таблицы и записи новых элементов ОС использует специальные вызовы гипервизора.

В реальном режиме раздел получает доступ к памяти без преобразования адресов.

В этом случае VMM обращается к гипервизору, чтобы тот преобразовал виртуальный адрес в правильный логический. Гипервизор преобразует виртуальные адреса в общесистемные физические, используя глобальную таблицу страниц разделов. Это преобразование абсолютно прозрачно для ОС. Получив общесистемный физический адрес (PMB), гипервизор преобразует его в логический адрес (LMB), которым оперирует раздел.

Команды для мониторинга производительности

В AIX доступны команды для мониторинга производительности памяти, ввода-вывода и разделов в целом. Опишем кратко главные команды:

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

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

vmstat
Команда выдает статистику о работе виртуальной памяти и потоков ядра, о дисках, ловушках (trap) и активности процессоров.

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

sar
Команда ведет учет статистики для системы в целом, и отображает состояние основных ресурсов. Ниже перечислены наиболее ценные сведения, выдаваемые этой командой:

  1. Количество обращений к файловой системе (с какой частотой вызывалась та или иная функция для доступа к файловой системе)
  2. Активность работы буферов, связанная с передачей данных, доступом и кэшированием (число попаданий для блочного буфера ядра)
  3. Активность всех блочных устройств (за исключением ленточных накопителей)
  4. Активность процессов ядра
  5. Активность сообщений и семафоров
  6. Статистика на каждый выбранный процессор
  7. Состояние процессов, потоков ядра, индексных дескрипторов и файловых таблиц
  8. Активность переключения системы
  9. Активность терминальных устройств

topas
Команда собирает наиболее важную статистическую информацию о работе локальной системы. Команда использует для вывода библиотеку curses и ориентированна на вывод данных на экран с разрешением 80 на 25 символов.

Заключение

В зависимости от назначения разделов и нужд приложений, логические разделы в System p с точки зрения использования ресурсов могут быть совместно используемыми либо выделенными.

Мы обсудили ту немаловажную роль, которую играет гипервизор в обеспечении виртуализации, – выделение ресурсов, управление разделами, назначение задач процессорам, управление виртуальной памятью.

Были рассмотрены новые регистры, появившиеся в System p, и их назначение. Отмечено, что ввод-вывод для всех разделов должен контролироваться и распределяться между ограниченным числом физически существующих устройств, что достигается за счет работы виртуальных адаптеров, реализованных через виртуальный сервер ввода-вывода.

Мы описали два инструмента для управления разделами – HMC и IVM.

Было рассказано об изменениях, которые претерпело управление памятью в AIX для поддержки виртуализации. В частности, ОС имеет специальную VPA-область на каждый виртуальный процессор.

Также предусмотрены команды для мониторинга производительности и других административных нужд.

Благодарности

Мы искренне благодарим Сараванана Девендрана за время, потраченное на тщательную проверку этой статьи и ценные замечания. Также благодарим Арун Анбалаган за неизменную поддержку и одобрение.


Ресурсы для скачивания


Похожие темы


Комментарии

Войдите или зарегистрируйтесь для того чтобы оставлять комментарии или подписаться на них.

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=AIX и UNIX
ArticleID=466947
ArticleTitle=Виртуализация в System p
publish-date=02082010