Обзоры Обзоры 18.10.2006 в 14:15 comment

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

author avatar
https://secure.gravatar.com/avatar/2f8d57cddfeb455ba418faa11ee01bb0?s=96&r=g&d=https://itc.ua/wp-content/uploads/2023/06/no-avatar.png *** https://secure.gravatar.com/avatar/2f8d57cddfeb455ba418faa11ee01bb0?s=96&r=g&d=https://itc.ua/wp-content/uploads/2023/06/no-avatar.png *** https://itc.ua/wp-content/themes/ITC_6.0/images/no-avatar.svg

ITC.UA

автор

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

В конце весны темой недели одного из номеров журнала была виртуализация. В материале о программных решениях упоминалась технология под названием паравиртуализация (para-virtualization). Теперь она, как говорится, на слуху. Больше того, вокруг нее образовался какой-то странный ажиотаж, вследствие которого легко распространяются и принимаются на веру любые непроверенные данные и небылицы. Поэтому сегодня мы попытаемся рассказать о реальном положении вещей.

C чего начинается паравиртуализация

До нового тысячелетия в виртуализационных продуктах для платформы x86 применялся преимущественно такой подход к виртуализации, как эмуляция сугубо периферийных устройств с исполнением программного кода непосредственно на физической машине (нативная виртуализация). Позднее приобрел популярность метод разграничения физических ресурсов между несколькими ОС без эмуляции оборудования (hypervisor). Оба метода объединяет то, что гостевые ОС, не требуя модификации, исполняются как есть. Следовательно, так как преград запуску практически любых ОС нет, эти решения обладают таким немаловажным качеством, как гибкость. Если нативная виртуализация обеспечивает удовлетворительные показатели производительности выполнения гостевых ОС, то hypervisor-решение отличается довольно сносной производительностью. Но этого оказывается для некоторых мало. Возникает потребность в способе виртуализации, который позволил бы достигнуть высокой продуктивности.

На помощь приходит технология DIAGNOSE-кодов из бездонного кладезя IBM VM/CMS, созданная еще в чрезвычайно богатых на события шестидесятых. DIAGNOSE-коды представляют собой запросы сервисов, которые посылаются виртуальной машиной базовой системе. Уже в наши дни во многом подобная технология – усовершенствованный способ виртуализации на основе hypervisor, сводящийся к тому, что ОС взаимодействует с ним не напрямую, а посредством специального низкоуровневого набора вызовов VMI (Virtual Machine Interface) – была взята на вооружение разработчиками монитора виртуальных машин Denali. Именно в проекте Denali впервые употреблено новое название – паравиртуализация. И после того как это слово применили исследователи из компьютерной лаборатории Кембриджского университета в проекте Xen, оно окончательно утвердилось в терминологии. Впрочем, есть и исключения, например, в продукте Workstation компании Parallels сервисные запросы называются «гипервызовами» (hypercall). ОС (точнее сказать ее ядро) для работы в паравиртуальной среде должна быть подвергнута серьезной модификации. Очевидно, что дорога к паравиртуализации для ОС класса FOSS (Free and Open Source Software) открыта, хуже дело обстоит с проприетарными системами, поскольку требует от их владельцев либо предоставления исходных текстов сторонним специалистам для разработки паравиртуализованных версий, либо создания самим таких продуктов, а также их поддержки.

Paravirt_ops – лучше поздно, чем никогда

С появлением более или менее стабильных версий Xen компания XenSource предпринимает попытки добиться внедрения своих технологий в ядро Linux. Однако разработчики, а вместе с ними и некоторые вендоры коммерческих виртуализационных решений, не хотят привязываться только к одному решению на основе паравиртуализации, а заинтересованы в поддержке нескольких. Де-факто преимущества паравиртуализации не мог не заметить ведущий поставщик решений виртуализации компания VMware. Она и предложила принятие единого VMI, который мог бы использоваться различными hypervisor-программами. При создании данного API VMware ставила следующие цели:

  • Производительность. Способствование достижению высокой произоводительности исполнения ОС.
  • Переносимость. Легкость изменения ОС для использования API.
  • Обслуживание. Простота обслуживания и обновления ОС.
  • Расширяемость. API должен иметь свойство расширяемости.
  • Инвариантность. Одно и то же ядро ОС должно запускаться как на «голом» оборудовании, так и посредством hypervisor.

VMware предложила разработчикам ядра Linux свою стандартизованную реализацию VMI. Но попытка не увенчалась успехом – эта инициатива была встречена в штыки XenSource и приверженцами ее продуктов, а к их голосам FOSS-сообщество прислушивается. В конце концов, по прошествии года, на минувшей конференции USENIX, компаниям удалось таки прийти к соглашению о создании совместного проекта. Его нарекли paravirt_ops, ответственным за координацию был назначен эксперт из IBM Linux Technology Center, Расти Рассэл (Rusty Russell). Не успели работы над paravirt_ops еще толком начаться, как VMware ни с того ни с сего выпускает тестовую реализацию VMI с исходными текстами, а также предоставляет для свободной загрузки два Linux-дистрибутива (Fedora Core 5 и Suse OSS 10.1) с ядрами, поддерживающими VMI.

Курс English For Tech: Speaking&Listening від Enlgish4IT.
Після курсу ви зможете найкраще презентувати свої досягнення, обговорювати проекти та вирішувати повсякденні завдання англійською мовою. Отримайте знижку 10% за промокодом TCENG.
Дізнатись про курс

Другая сторона медали

Увы, паравиртуализация относится к тем технологиям, которые вряд ли оправдают надежды приверженцев и будут востребованы. И для такого пессимизма есть все основания. Дело не столько в «возрасте» этой технологии (ведь многие идеи, пришедшие именно из «антикварного компьютинга», сегодня довольно эффективно эксплуатируются), сколько в ее неадекватности современным массовым вычислениям. Начнем с того, что паравиртуализация не дает значительного роста производительности работы гостевых ОС. Да, по сравнению с нативной виртуализацией или применением чистого hypervisor у паравиртуализации прирост продуктивности больший. Но не настолько, чтобы расходовать уйму времени и сил на создание подобных версий ОС. Она нерелевантная из-за закона Мура и усовершенствований архитектуры x86. Благодаря косвенному действию этого, неоднократно похороненного СМИ, закона производительность процессоров постоянно увеличивается, емкость и скорость работы основной памяти также возрастают, причем с одновременным снижением стоимости. Наконец, наступает эра многоядерных процессоров. И все эти «лошадиные силы» нужно на что-то да тратить. Почему бы их не расходовать на работу с виртуализированными системами? Но что самое главное, согласно некоторым данным, когда будут выпущены первые стабильные продукты с поддержкой паравиртуализации (а это произойдет не ранее следующего года), более 80% доступных на рынке серверных процессоров Intel и AMD будут иметь встроенные средства виртуализации – VT (Virtualization Technology) и SVM (Secure Virtual Machine) соответственно. Такие решения разработаны для оптимизации производительности hypervisor-виртуализации и делают паравиртуализацию практически бесперспективной. Такого мнения придерживаются пока единицы. Среди них компания Virtual Iron Software, в Xen-базированном продукте которой не используется эта сомнительная технология, и основной расчет делается на применение аппаратных средств виртуализации. В общем, время покажет, какой подход будет востребован.

Продолжается конкурс авторов ИТС. Напиши статью о развитии игр, гейминг и игровые девайсы и выигрывай профессиональный игровой руль Logitech G923 Racing Wheel, или одну из низкопрофильных игровых клавиатур Logitech G815 LIGHTSYNC RGB Mechanical Gaming Keyboard!


Loading comments...

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: