Hardwarově podporovaná virtualizace - Hardware-assisted virtualization

V práci na počítači , hardware-asistované virtualizace je virtualizační platformou přístup, který umožňuje efektivní plnou virtualizaci pomocí pomoc od hardwarových schopností, a to především z hostitelských procesorů. Plná virtualizace se používá k emulaci kompletního hardwarového prostředí nebo virtuálního počítače , ve kterém se nemodifikovaný hostující operační systém (používající stejnou sadu instrukcí jako hostitelský počítač) efektivně provádí v úplné izolaci. Hardwarová virtualizace byla přidána k procesorům x86 ( Intel VT-x nebo AMD-V ) v letech 2005 a 2006 (v uvedeném pořadí).

Hardwarově podporovaná virtualizace je také známá jako zrychlená virtualizace ; Xen tomu říká hardwarový virtuální stroj ( HVM ) a Virtual Iron tomu říká nativní virtualizace .

Dějiny

Hardwarově podporovaná virtualizace se poprvé objevila na systému IBM System / 370 v roce 1972 pro použití s VM / 370 , prvním operačním systémem pro virtuální stroje. S rostoucí poptávkou po počítačové grafice ve vysokém rozlišení (např. CAD ) ztratila virtualizace sálových počítačů na konci 70. let 20. století určitou pozornost, když nadcházející minipočítače podporovaly alokaci zdrojů prostřednictvím distribuovaných výpočtů , což zahrnovalo komoditizaci mikropočítačů .

IBM nabízí virtualizaci hardwaru pro své POWER CPU pod AIX (např. System p ) a pro svůj IBM- Mainframes System z . IBM označuje svou specifickou formu virtualizace hardwaru jako „logický oddíl“, nebo častěji jako LPAR .

Zvýšení výpočetní kapacity na server x86 (a zejména podstatné zvýšení šířky pásma moderních sítí) znovu vzbudilo zájem o výpočty založené na datových centrech, které jsou založeny na virtualizačních technikách. Primárním ovladačem byl potenciál pro konsolidaci serverů: virtualizace umožnila jednomu serveru nákladově efektivně konsolidovat výpočetní výkon na více nevyužitých dedikovaných serverech. Nejviditelnějším znakem návratu ke kořenům výpočetní techniky je cloud computing , který je synonymem pro výpočty založené na datových centrech (nebo mainframeové výpočty) prostřednictvím sítí s velkou šířkou pásma. Je úzce spojena s virtualizací.

Počáteční implementace architektury x86 nesplňovala virtualizační požadavky Popek a Goldberg pro dosažení „klasické virtualizace“:

  • ekvivalence : program spuštěný pod monitorem virtuálního stroje (VMM) by měl vykazovat chování v podstatě totožné s chováním, které bylo prokázáno při přímém spuštění na ekvivalentním stroji
  • řízení prostředků (nazývané také bezpečnost ): VMM musí mít úplnou kontrolu nad virtualizovanými prostředky
  • účinnost : statisticky dominantní část strojních instrukcí musí být provedena bez zásahu VMM

To ztěžovalo implementaci monitoru virtuálního stroje pro tento typ procesoru. Specifická omezení zahrnovala neschopnost zachycovat některé privilegované pokyny.

Aby kompenzovali tato architektonická omezení, designéři provedli virtualizaci architektury x86 dvěma způsoby: plnou virtualizací nebo paravirtualizací . Oba vytvářejí iluzi fyzického hardwaru k dosažení cíle nezávislosti operačního systému na hardwaru, ale představují určité kompromisy ve výkonu a složitosti.

  1. Plná virtualizace byla implementována do VMM první generace x86. Spoléhá se na binární překlad, aby zachytil a virtualizoval provádění určitých citlivých, virtualizovatelných pokynů. S tímto přístupem jsou kritické pokyny objeveny (staticky nebo dynamicky za běhu) a nahrazeny pasti do VMM, které mají být emulovány v softwaru. Binární překlad může způsobit velkou režii výkonu ve srovnání s virtuálním strojem běžícím na nativně virtualizovaných architekturách, jako je IBM System / 370. VirtualBox , VMware Workstation (pouze pro 32bitové hosty) a Microsoft Virtual PC jsou známé komerční implementace plné virtualizace.
  2. Paravirtualizace je technika, při které hypervisor poskytuje API a OS hostovaného virtuálního počítače volá toto API a vyžaduje úpravy OS.

V letech 2005 a 2006 vytvořily společnosti Intel a AMD (pracující samostatně) nová rozšíření procesoru pro architekturu x86 s názvem Intel VT-x a AMD-V. V architektuře Itanium je virtualizace podporovaná hardwarem známá jako VT-i. První generace procesorů x86 na podporu těchto rozšíření byla vydána koncem roku 2005 počátkem roku 2006:

  • Dne 13. listopadu 2005 společnost Intel vydala jako první procesory Intel podporující VT-x dva modely Pentium 4 (Model 662 a 672).
  • 23. května 2006 uvedla společnost AMD jako první procesory AMD podporující tuto technologii Athlon 64 („Orleans“), Athlon 64 X2 („Windsor“) a Athlon 64 FX („Windsor“).

Mezi známé implementace hardwarově podporované virtualizace x86 patří VMware Workstation (pouze pro 64bitové hosty), XenCenter, Xen 3.x (včetně derivátů jako Virtual Iron), Linux KVM a Microsoft Hyper-V .

Výhody

Virtualizace podporovaná hardwarem snižuje režii údržby paravirtualizace, protože snižuje (v ideálním případě eliminuje) změny potřebné v hostovaném operačním systému. Je také podstatně snazší dosáhnout lepšího výkonu. Praktickou výhodu virtualizace podporované hardwarem uvedli inženýři VMware a Virtual Iron.

Nevýhody

Hardwarově podporovaná virtualizace vyžaduje výslovnou podporu v hostitelském CPU, která není k dispozici u všech procesorů x86 / x86_64.

„Čistý“ přístup k virtualizaci podporovaný hardwarem, využívající zcela nemodifikované operační systémy pro hosty, zahrnuje mnoho pastí virtuálních počítačů, a tedy vysoké režijní náklady CPU, což omezuje škálovatelnost a efektivitu konsolidace serverů. Tento výkonnostní hit lze zmírnit použitím paravirtualizovaných ovladačů; této kombinaci se říká hybridní virtualizace.

V roce 2006 byla první generace 32- a 64bitové hardwarové podpory x86 zřídka shledána jako výhoda výkonu oproti virtualizaci softwaru.

Viz také

Reference

  1. ^ Adams, Keith. „Srovnání softwarových a hardwarových technik pro virtualizaci x86“ (PDF) . Citováno 20. ledna 2013 .
  2. ^ Chris Barclay, Nový přístup k virtualizaci x86s , Network World , 20. října 2006
  3. ^ Viz „Virtualizace grafiky a I / O“ .
  4. ^ Viz „Hybridní virtualizace: nová generace XenLinuxu“ . Archivovány 20. března 2009 na Wayback Machine
  5. ^ Jun Nakajima a Asit K. Mallick, „Hybridní virtualizace - vylepšená virtualizace pro Linux“, archivovány 1. 1. 2009 na Wayback Machine , ve sborníku z Linux Symposium , Ottawa, červen 2007.
  6. ^ Srovnání softwarových a hardwarových technik pro virtualizaci x86, Keith Adams a Ole Agesen, VMware, ASPLOS'06 21. – 25. Října 2006, San Jose, Kalifornie, USA „Překvapivě zjišťujeme, že hardwarová podpora první generace zřídka nabízí výkonnostní výhody oproti stávajícím softwarovým technikám. Tuto situaci připisujeme vysokým nákladům na přechod VMM / host a rigidnímu programovacímu modelu, který ponechává malý prostor pro flexibilitu softwaru při správě frekvence nebo nákladů na tyto přechody.

Další čtení