Паравиртуализация - Paravirtualization

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

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

Паравиртуализация требует гостя Операционная система быть явно портирован для пара-API - обычный дистрибутив ОС, не поддерживающий паравиртуализацию, не может быть запущен поверх паравиртуализации VMM. Однако даже в тех случаях, когда операционная система не может быть изменена, могут быть доступны компоненты, обеспечивающие многие из значительных преимуществ паравиртуализации в производительности. Например, Xen Windows GPLPV проект предоставляет комплект драйверов устройств с поддержкой паравиртуализации, лицензированных в соответствии с условиями GPL, которые предназначены для установки в Майкрософт Виндоус виртуальный гость, работающий на Xen гипервизор.[1] Такие приложения обычно доступны через среду паравиртуального машинного интерфейса. Это обеспечивает совместимость в рабочем режиме с несколькими моделями алгоритмов шифрования, обеспечивая бесшовную интеграцию в паравиртуальную структуру.[2]

История

Паравиртуализация - это новый термин для обозначения старой идеи. IBM ВМ операционная система предлагает такую ​​возможность с 1972 г.[3] (и ранее как CP-67 ). В мире виртуальных машин это обозначено как «код ДИАГНОСТИКИ», потому что он использует код инструкции, обычно используемый только программным обеспечением для обслуживания оборудования и, следовательно, не определен.

В Parallels Workstation операционная система называет его эквивалент «гипервызовом». Все одно и то же: системный вызов гипервизор ниже. Такие вызовы требуют поддержки в «гостевой» операционной системе, которая должна иметь специфичный для гипервизора код для выполнения таких вызовов.

Термин «паравиртуализация» впервые был использован в исследовательской литературе в связи с Денали Диспетчер виртуальных машин.[4] Этот термин также используется для описания Xen, L4, ТРАНГО, VMware, Wind River и XtratuM гипервизоры. Все эти проекты используют или могут использовать методы паравиртуализации для поддержки высокопроизводительных виртуальных машин на x86 аппаратное обеспечение путем реализации виртуальной машины, которая не реализует трудно виртуализируемые части фактического набора инструкций x86.[5]

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

В 2005 году VMware предложила интерфейс паравиртуализации, Virtual Machine Interface (VMI), в качестве механизма связи между гостевой операционной системой и гипервизором. Этот интерфейс обеспечивает прозрачную паравиртуализацию, при которой одна двоичная версия операционной системы может работать либо на собственном оборудовании, либо на гипервизоре в паравиртуализированном режиме. Поскольку процессоры AMD и Intel добавили поддержку более эффективной аппаратной виртуализации, стандарт стал устаревшим, а поддержка VMI была удалена из ядра Linux в версии 2.6.37.[6] и от продуктов VMware в 2011 году.[7]

Поддержка паравиртуализации Linux

На конференции USENIX в 2006 г. Бостон, Массачусетс, ряд разработчиков Linux (включая IBM, VMware, Xen и Red Hat) совместно разработали альтернативную форму паравиртуализации, первоначально разработанную группой Xen, под названием «паравиртуализация».[8] Код paravirt-ops (часто сокращенный до pv-ops) был включен в основную ветку. Ядро Linux начиная с версии 2.6.23, и обеспечивает независимый от гипервизора интерфейс между гипервизором и гостевым ядром. Поддержка распространения для гостевых ядер pv-ops появилась, начиная с Ubuntu 7.04 и RedHat 9. Гипервизоры Xen на базе любого ядра 2.6.24 или более поздней версии поддерживают гостей pv-ops, как и продукт VMware Workstation, начиная с версии 6.[9] VirtualBox также поддерживает его с версии 5.0.

Смотрите также

Рекомендации

  1. ^ «Установка подписанных драйверов GPLPV в экземплярах Windows Xen». Вики Сообщества. Получено 2013-04-10. Драйвер GPLPV - это драйвер для Microsoft Windows, который позволяет системам Windows DomU, виртуализированным в Xen, получать доступ к сети и блокировать драйверы Xen Dom0. Это обеспечивает значительное увеличение производительности и надежности по сравнению со стандартными устройствами, эмулируемыми Xen / Qemu / Kvm.
  2. ^ Армстронг, Д. (2011). «Проблемы с производительностью в облаках: оценка распространения виртуального изображения и паравиртуализации ввода-вывода». Компьютерный журнал. 54 (6).
  3. ^ «История и наследие ВМ». IBM. Получено 2007-10-10.
  4. ^ А. Уитакер; М. Шоу; С.Д. Гриббл (2002). «Денали: легкие виртуальные машины для распределенных и сетевых приложений». Технический отчет Вашингтонского университета. Архивировано из оригинал на 2008-01-14. Получено 2006-12-09.
  5. ^ Штробль, Мариус (2013). Виртуализация для надежных встроенных систем. Мюнхен: GRIN Publishing GmbH. п. 54,63. ISBN  978-3-656-49071-5.
  6. ^ "kernel / git / torvalds / linux.git - дерево исходных текстов ядра Linux". Git.kernel.org. Получено 2017-03-03.
  7. ^ «Обновление: поддержка паравиртуализации гостевой ОС с использованием VMware VMI будет прекращена из новых продуктов в 2010–2011 гг. - Руководство по установке гостевой ОС - Блоги VMware». Blogs.vmware.com. 2009-09-22. Получено 2017-03-03.
  8. ^ "XenParavirtOps - Xen". Wiki.xenproject.org. Получено 2017-03-03.
  9. ^ «VMware представляет поддержку межплатформенной паравиртуализации - VMware». VMware. 16 мая 2008 г. Архивировано с оригинал 13 апреля 2011 г.

внешняя ссылка