Назад | Перейти на главную страницу

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

Я пытаюсь понять, какие типы виртуализации существуют, и, чтобы помочь в решении этой задачи, я нашел книгу Дицзян Хуанга и Хуэйцзюнь Ву «Мобильные облачные вычисления».

Приведенные ниже отрывки также доступны в Google Книгах: https://books.google.com/books?id=dupGDgAAQBAJ.

Из раздела 2.2.3, таблица 2.2, стр. 42:

HAL (Полный)

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

HAL (параллельный)

  • Описание: Гипервизор предоставляет каждому гостю полную, но специализированную виртуальную машину (той же вычислительной архитектуры, что и хост), позволяя модифицированным гостям работать изолированно.
  • Преимущества: Легкий и быстрый, близкий к штатным скоростям; продемонстрировано, что работает в диапазоне накладных расходов 0,5–3,0%; позволяет ОС взаимодействовать с гипервизором - улучшает планирование операций ввода-вывода и ресурсов; позволяет виртуализировать архитектуры, не поддерживающие полную виртуализацию.
  • Недостатки: Требуется перенос гостевой ОС для использования гипервызовов вместо конфиденциальных инструкций. Основное ограничение параллельной виртуализации заключается в том, что гостевая ОС должна быть специально настроена для работы поверх монитора виртуальных машин (VMM), хост-программы, которая поддерживает несколько идентичных сред выполнения. Это особенно влияет на устаревшие ОС с закрытым исходным кодом, в которых еще не реализованы параллельные виртуализированные расширения.

Здесь «параллельная виртуализация» выглядит как синоним «паравиртуализации». (Я никогда не слышал термин «параллельная виртуализация» до того, как прочитал книгу. Термин «паравиртуализация», с другой стороны, хорошо известен в Интернете.)

Однако в разделе 2.2.2, с. 39 книга, кажется, противоречит предыдущему отрывку:

В третьей классификации виртуализации, представленной в Разделе 2.2.3, мы представим два самых популярных решения виртуализации на основе HAL, то есть параллельную виртуализацию (или виртуализацию на «голом железе», или виртуализацию типа 1) и виртуализацию на основе хоста (или виртуализацию типа 1). -2 виртуализации) подробно.

То есть резюмировать:

Вопросы:

Верно ли, что паравиртуализация и виртуализация на «голом железе» (также известный как «Тип 1») - это разные вещи?

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

QEMU - это эмулятор. Добавьте KVM, и аппаратное ускорение сократит накладные расходы до минимума, фактически сделав его типом 1. Кроме того, KVM имеет паравиртуализированные гостевые драйверы. Тем не менее, и QEMU, и KVM работают в операционных системах общего назначения; вы можете запускать произвольные приложения на своих виртуальных хостах.

Hyper-V выполняет прямой доступ к оборудованию через привилегированный корневой раздел под управлением Windows. Похоже на тип 2. Тем не менее, уровни между гостевыми и аппаратными средствами минимальны, вы не можете запускать пользовательские процессы за пределами разделов Hyper-V.

Может помочь рисование схемы слоев абстракции. Реализации не сортируются по двоичным категориям так четко, как это предлагает тип 1 по сравнению с типом 2. Такие категории не обязательно измеряют такие практические аспекты, как накладные расходы по сравнению с «голым железом» или безопасность и удобство обслуживания, как мы надеемся, простого гипервизора.


Раннее использование термина паравиртуализация появляется в Бумага Денали из Вашингтонского университета. По крайней мере, Ксен бумага цитирует Денали как изобретателя этого термина. Я не могу найти доказательств его «параллельного» происхождения. Возможно, это было предназначено для того, чтобы ссылаться на значения префикса para- «рядом» и «помогать».