Страницы

Сохранить статью у себя в соцсети:

четверг, 12 июля 2012 г.

§ A little bit about FlexPriority.

Немного о FlexPriority.

Когда речь заходит об аппаратных технологиях касающихся виртуализации, все вспоминают VT-x и AMD-V. Но помимо них существуют и другие технологии оптимизирующие аппаратные функции виртуализации. Одна из них Intel FlexPriority.
Если коротко, то FlexPriority это поддержка доступа к регистрам TPR из виртуальных окружений. Task Priority Register - это программируемые регистры приоритета задач внутри APIC, эти регистры используются для расчета приоритета текущей выполняемой задачи и в основном используются операционной системой для планирования исполнения задач. Так вот, эта технология вносит оптимизации и приводит к ускорению прерываний за счет включения доступа виртуальной машины к регистрам TPR.  Ускорение дается за счет уменьшения обратных переключений контекста (VM exits) при доступе к APIC. Особенно хорошо заметно увеличение эффективности многопроцессорных систем SMP на 32-битных операционных системах.
В первом случае гипервизору приходится перехватывать и декодировать инструкции виртуальной машины, а затем и эмулировать поведение регистров TPR. В итоге это не очень хорошо сказывается на производительности.
При использовании FlexPriority (второй случай), эмуляция регистров TPR переносится на аппаратную часть и инструкции выполняются напрямую в виртуальной машине не привлекая для этих операций гипервизор (как следствие отсутствие переключений контекста).
Наличие поддержки этой технологии можно проверить следующим образом:
# grep -o flexpriority /proc/cpuinfo |uniq
flexpriority

Почитать по теме можно Аппаратные расширения для виртуализации
На главную "Virtualizing Linux"

Комментариев нет:

Отправить комментарий

Популярные сообщения

Профиль в Google+ Яндекс цитирования Яндекс.Метрика