Журнал Technology@Intel: Новинки и тенденции технологий

Технология Intel® Virtualization Technology for Directed I/O (Intel® VT-d)

Радхакришна Хиремани (Radhakrishna Hiremane) (RK), инженер по маркетингу продукции, подразделение маркетинга группы серверной продукции, корпорация Intel

Введение

Глобальный подход корпорации Intel к виртуализации привел к созданию нескольких аппаратных технологий поддержки на платформах, упрощающих виртуализацию и делающих ее более надежной, а также нередко позволяющих сократить программные издержки, связанные с виртуализацией. В этой статье описываются улучшения виртуализации системы ввода/вывода, обеспечиваемые технологией Intel® Virtualization Technology (Intel® VT) for Directed I/O (Intel® VT-d) и рассказывается о подходе корпорации Intel к виртуализации системы ввода/вывода.

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

По мере того как виртуализация начала играть важную роль в ЦОД, виртуализация устройств ввода/вывода стала важным элементом в создании комплексных решений виртуализации. Для таких решений требуется изоляция виртуальных машин друг от друга (включая ресурсы ввода/вывода). Благодаря изоляции операции на виртуальных машинах не мешают друг другу, и это очень важно для обеспечения непрерывности работы, надежности и защиты в виртуальных средах.

По мере того как IT-специалисты консолидируют серверную нагрузку, на серверах работает больше виртуальных машин, и их поддерживает все больше устройств ввода/вывода. Подход к виртуализации устройств ввода/вывода, основанный на использование ПО, обеспечивает гибкость в плане ввода/вывода и прозрачности аппаратного обеспечения. Однако использование программной эмуляции может привести к снижению производительности при увеличении пропускной способности ввода/вывода из-за непродуктивных затрат ресурсов монитора виртуальных машин (VMM) для эмуляции устройств. Кроме того, программная виртуализация устройств ввода/вывода не позволяет контролировать или отслеживать прямой доступ устройств ввода/вывода к физической памяти, что приводит к возникновению проблем при изоляции виртуальных машин и назначенных для них устройств ввода/вывода. Однако аппаратная поддержка в сочетании с системным программным обеспечением может предоставить необходимые средства для изоляции операций прямого доступа к памяти.

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

Технология Intel VT-d обеспечивает необходимую аппаратную поддержку, чтобы сделать виртуализацию устройств ввода/вывода более безопасной, простой и надежной.

Описание технологии Intel® Virtualization Technology for Directed I/O (Intel® VT-d)

Технология Intel® Virtualization Technology for Directed I/O (Intel® VT-d) дополняет ассортимент технологий виртуализации Intel, обеспечивающих аппаратную поддержку решений виртуализации. Технология Intel VT-d поддерживает существующую в процессорах IA-32 (Intel® VT-x) и Intel® Itanium® (Intel® VT-i) поддержку виртуализации, добавляя новый уровень аппаратной поддержки виртуализации устройств ввода/вывода.

Аппаратная поддержка Intel VT-d обеспечивает возможность изменения адресов, что позволяет контролировать и отслеживать адреса DMA, а также позволяет непосредственно назначать устройства ввода/вывода под управлением системного программного обеспечения. Механизм Intel VT-d обеспечивает достаточный уровень изоляции для обеспечения высокого уровня надежности, непрерывности работы и защиты виртуальных сред.

Изменение адресов и изоляция

В технологии Intel VT-d используется изменение адресов DMA для ограничение доступа DMA к определенным доменам, связанным с физическими областями памяти. Аппаратная логика изменения адресов DMA в наборе микросхем размещается между периферийными устройствами с поддержкой DMA и физической памятью.

Архитектура Intel VT-d позволяет системному программному обеспечению (VMM или операционной системе в невиртуальных средах) создавать один или несколько защищенных доменов DMA, представляющих собой изолированные среды, для которых выделены поднаборы физической памяти (показанные как цветные области физической памяти на Рисунке 1). Защищенный домен DMA может представлять собой память, назначенную виртуальной машине, или память DMA, выделенную драйвером гостевой ОС, работающим на виртуальной машине или на VMM. Системное программное обеспечение назначает каждому устройству ввода/вывода защищенный домен. Весь доступ DMA с устройств ввода/вывода переводится на физические адреса узла в соответствии с назначенным устройству доменом, предотвращая доступ к памяти из-за пределов назначенного домена. Изменение адресов позволяет устройству (и драйверу) работать с адресами виртуальной машины вместо адресов физической памяти.



Рисунок 1. Архитектура Intel VT-d позволяет выделять память в защищенные домены DMA. Для удобства отображения на рисунке используются цветовая маркировка для разных защищенных доменов, созданных VMM. Для обеспечения изоляции каждому устройству назначается отдельный защищенный домен.

Механизм изменения адресов DMA технологии Intel VT-d преобразует адреса DMA в физические адреса узла и обеспечивает возможность доступа DMA к памяти только для назначенного устройству домена (Рисунок 2). Весь ошибочный трафик DMA блокируется и генерируется системная ошибка.



Рисунок 2. Технология Intel VT-d предотвращает несанкционированный доступ к памяти

Для повышения производительности изменения адресов часто используемые записи структуры изменения адресов, например, привязка устройств ввода/вывода к защищенным доменам и записи в таблице преобразования адресов DMA хранятся в кэш-памяти (Рисунок 3). Будущие версии технологии Intel VT-d также будут поддерживать стандарт PCI-SIG ATS, определяющий средства разрешения кэширования преобразований адресов DMA в конечных устройствах.



Рисунок 3. Технология Intel VT-d преобразует адреса DMA устройств ввода/вывода в адреса физических устройств в соответствии с назначенными доменами. Для повышения производительности часто используемые структуры хранятся в кэш-памяти.

Использование изменения адресов для прямого назначения

С программной эмуляцией устройств ввода/вывода программное обеспечение VMM контролирует все аспекты операций ввода/вывода, в том числе высокие издержки производительности платформ при значительной пропускной способности ввода/вывода. С использованием прямого назначения и технологии Intel VT-d эти издержки можно удалить, повысив производительность платформы (Рисунок 4).

Когда виртуальная машина или гостевая ОС запускается поверх VMM, пространство гостевых физических адресов (GPA) может не соответствовать пространству физических адресов узла (HPA). Устройствам с поддержкой DMA требуется HPA для передачи данных в физическую память и получения данных из нее. Однако при использовании модели прямого назначения устройства контролируются драйверами гостевой ОС, которые выделяют адреса GPA. С технологией Intel VT-d механизм изменения адресов DMA выполняет необходимое преобразование между GPA и HPA. Поскольку VMM известна информация о среде, он предоставляет таблицы преобразования механизму изменения адресов Intel VT-d, который выполняет необходимое преобразование. При этом данные помещаются непосредственно в соответствующий гостевой буфер. Это повышает производительность системы, поскольку драйвер устройства гостевой ОС и соответствующие программные ускорители непосредственно управляют устройством ввода/вывода без вмешательства VMM.



Рисунок 4. Прямое назначение и технология Intel VT-d обеспечивают повышение производительности

Преимущества технологии Intel VT-d

Технология Intel VT-d предоставляет программному обеспечению VMM новые возможности, которые:
  • Повышают надежность и уровень защиты посредством изоляции устройств с аппаратной поддержкой изменения адресов DMA.
  • Повышение производительности ввода/вывода посредством прямого назначения устройств без эмуляции VMM.
Технология Intel VT-d образует основу, позволяющую создавать защищенные изолированные рабочие разделы на серверах, рабочих станциях и клиентских компьютерах. Технология Intel VT-d позволяет полностью разделять виртуальные машины на защищенные домены на всех уровнях, от приложений до устройств ввода/вывода. Ошибки устройств ввода/вывода ограничены внутри домена, что повышает надежность и уровень безопасности. В связи с этим технология Intel VT-d изначально помогает пользователям сократить совокупную стоимость владения, сокращая потенциальное время простоя.

Преимущества для серверов

Во многих серверных приложениях, особенно в сетевых решениях и системах хранения данных интенсивно используются операции ввода/вывода. Для ЦОД требуются высокая надежность и непрерывность работы для важных приложений. Масштабируемость и производительность позволяют консолидировать приложения на виртуальных серверах в виртуальных инфраструктурах. Технология Intel VT-d с аппаратной поддержкой изменения адресов обеспечивает достаточный уровень безопасности, надежности, масштабируемости и производительности для приложений ЦОД.

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

Преимущества для клиентских компьютеров

Технология Intel VT позволяет развертывать автономные виртуальные устройства сторонних производителей, чтобы выполнять важные задачи управления и безопасности для выполнения таких операций как глубокая проверка пакетов и обеспечение выполнения политик на настольных ПК с процессорной технологией Intel® vPro™. Эти отказоустойчивые виртуальные устройства обеспечивают защищенную стабильную среду для выполнения важных задач и включают все необходимое программное обеспечение, обеспечивающее удобство и эффективность.

Технология Intel VT-d со службами или разделами управления обеспечивает изолированную, контролируемую и защищенную среду для поддержки клиентских платформ, гарантируя защиту памяти и оптимизацию ввода/вывода в виртуальных машинах. Например, виртуальное сетевое устройство, обеспечивающее защиту от вредоносного сетевого трафика, существует в собственном виртуальном разделе. Системный VMM назначает ему защищенный домен DMA наряду с сетевыми адаптерами платформы. Пользовательский раздел и ОС видят виртуальный сетевой адаптер, а сетевое устройство отслеживает и фильтрует весь трафик и пересылает на виртуальный адаптер только разрешенный трафик. Поскольку сетевые адаптеры назначаются прямо, и оборудование Intel VT-d обеспечивает преобразование адресов, VMM не снижает производительность сетевого устройства, и производительность сети остается высокой.

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

Расширение общих возможностей виртуализации ввода/вывода платформы

Корпорация Intel использует глобальный подход к аппаратной поддержке виртуализации, в том числе к виртуализации ввода/вывода. Технология Intel VT-d и технология ускорения ввода/вывода Intel® I/O Acceleration (Intel I/OAT) могут совместно работать при поддержке VMM для повышения производительности ввода/вывода на виртуальных серверах. Технология Intel VT-d обеспечивает изоляцию, а технологию Intel I/OAT можно использовать для ускорения обмена данными между VMM и виртуальными машинами. Также она поддерживает более эффективную миграцию виртуальных машин по сравнению с подходом, основанным на механизме разгрузки TCP (TOE). В механизме TOE состояния разгружаются на сетевой контроллер и VMM не полностью контролирует состояния. Поэтому для VMM сложно остановить и переместить трафик при необходимости миграции виртуальной машины. Механизм TOE не очень широко поддерживается современными VMM. Ускорение, достигаемое с технологией Intel I/OAT, полностью контролируется VMM и способствует повышению общей производительности за счет ускорения передачи данных и повышения эффективности миграции виртуальных машин.

Корпорация Intel также внедряет различные усовершенствования в сетевые контроллеры. Технология Intel VMDq (очереди устройств виртуальных машин) в сетевом контроллере поддерживает несколько аппаратных очередей и функции разгрузки, которые могут использоваться для уменьшения программных нагрузок, связанных с общим использованием одного сетевого устройства несколькими виртуальными машинами. Обычно программный переключатель в разделе ввода/вывода, абстрагирующий аппаратные возможности от гостевой операционной системы, обрабатывает пакеты по одному, выполняя сортировку, классификацию и доставку сетевых пакетов от устройства на разные виртуальные машины. Это добавляет дополнительную нагрузку в пути приема и передачи и отрицательно влияет на производительность ввода/вывода. Привязывая отдельные аппаратные запросы сетевого контроллера к конкретным виртуальным машинам, и сортируя и группируя полученные пакеты в запросах виртуальных машин, можно сократить возникновение этих программных нагрузок. Аппаратные расширения сетевых контроллеров также включают поддержку «равноправия» передачи, помогающую избежать блокировки линий между виртуальными машинами.

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

Заключение

Надежность, непрерывность работы и защищенность платформ очень важны для успешной виртуализации ЦОД и настольных ПК. Технологии виртуализации и платформенные технологии Intel, такие как Intel VT-x, Intel VT-i, Intel VT-d, VMDq и Intel I/OAT, помогут IT-администраторам и конечным пользователям повысить надежность используемых систем, увеличить эффективность ресурсов ЦОД и повысить производительность устройств ввода/вывода в виртуальных средах. Эти расширенные характеристики помогают IT-менеджерам сократить совокупную стоимость владения, уменьшая вероятное время простоя и повышая продуктивную пропускную способность.

Корпорация Intel работала в тесном контакте с разработчиками программных решений виртуализации и их пользователями, чтобы обеспечить повышение надежности, непрерывности работы и защищенности платформ в новых технологиях виртуализации. Технология Intel VT-d основана на этих принципах и обеспечивает выполнение этих важнейших требований платформ, помогая при этом сделать следующий шаг к виртуализации ввода/вывода.

Выражаю благодарность Керри Джонс-Вано, Филиппу Ланцу, Дэвиду Дж. Коупертвейту, Раджешу Санкарану, Кену Страндбергу, Роджеру Херрику и Т.В. Бургеру за предоставление материалов для этой статьи..
    К началу страницы