Intel e AMD: CPU con supporto alla virtualizzazione

Scritto il 21/09/2009
 

La virtualizzazione dei sistemi operativi – Capitolo 2.2.1

Le aziende produttrici di hardware stanno investendo molto per trovare soluzioni che riducano l’intervento dell’hypervisor incrementando le performance delle macchine virtuali. Intel e AMD hanno lanciato nel mercato delle CPU che offrono un supporto alla virtualizzazione.

Intel

Intel ha reso disponibile il supporto alla virtualizzazione nelle CPU Xeon e Itanium con le tecnologie Intel VT-x e Intel VT-i. Queste tecnologie hanno lo scopo di limitare, o addirittura eliminare, l’intervento del VMM liberando cicli di CPU e di gestire il cambiamento di contesto tra i sistemi operativi guest, il VMM ed eventualmente la service console.

È stata introdotta una nuova modalità operativa denominata VMX Root nella quale il VMM è eseguito con privilegi massimi, eliminando la necessità di de-privilegiare il kernel del sistema operativo guest, che opera nella modalità VMX non–root. Entrambe le modalità supportano i quattro livelli di privilegio da ring 0 a 3. In questo modo il kernel del sistema operativo guest potrà lavorare nel ring 0, eliminando la necessità che il VMM mascheri il livello di privilegio in alcune chiamate di sistema.

Sono introdotte due transizioni di stato. La transizione da VMX Root operation mode a VMX non–root operation mode è chiamata VM entry, e la transizione da VMX non–root operation mode a VMX root operation mode è detta VM exit. VM entry e VM exit sono gestite da una struttura dati chiamata Virtual machine Control Structure (VMCS). La VMCS contiene due aree, la guest-state area e la host-state area. La VM entry carica nei registri della CPU lo stato presente nella guest-state area e la VM exit salva lo stato della CPU nella guest state area e carica lo stato della host-state area

Ruolo della VMCS nella tecnologia Intel VT-x
Fig. 2.3: Ruolo della VMCS nella tecnologia Intel VT-x

Un’altra funzionalità introdotta nella tecnologia Intel VT-x è chiamata Flex Migration e consente la migrazione delle macchine virtuali tra server fisici con diversi modelli di processori Intel, anche nel caso in cui le future CPU disporranno di instruction set ampliate.

AMD

La tecnologia adottata da AMD per supportare su silicio la virtualizzazione è chiamata AMD-V e consiste in un insieme di estensioni hardware all’architettura x86 per ridurre, e in alcuni casi eliminare, l’intervento del VMM. La Direct Connect Architecture ha lo scopo di aumentare le prestazioni eliminando il collo di bottiglia rappresentato dall’architettura con front side bus (FSB) utilizzata nella maggior parte dei processori Intel Xeon. Solo di recente Intel sta sostituendo la tecnologia del FSB .

L’offerta di AMD consiste di tre elementi:

  • un controller della memoria integrato in ciascun processore che connette i core ad un area di memoria dedicata
  • un bus con una tecnologia denominata HyperTransport Link in uscita da ciascun controller I/O come PCI o PCI-X
  • un bus con la stessa tecnologia che collega i processori

AMD-V Direct Connect Architecture
Fig. 2.4: AMD-V Direct Connect Architecture

Questi bus dedicati punto a punto evitano la gestione dell’arbitraggio sull’utilizzo e riducono i tempi di latenza minimi per l’accesso alla memoria incrementando le prestazioni nei sistemi multiprocessore che fanno uso dell’architettura Non-Uniform Memory Access (NUMA). Sia VMware, sia Xen supportano questa la tecnologia NUMA. Per approfondimenti sull’architettura NUMA si rimanda ai riferimenti in bibliografia.

Altri elementi introdotti con l’architettura AMD-V sono la Rapid Virtualization Indexing (RVI) e il TLB Tagging che forniscono un supporto all’accesso della memoria e saranno descritti più avanti.

Anche AMD ha introdotto una caratteristica denominata AMD-V Extended Migration, che consente la migrazione a caldo delle macchine virtuali tra tutti i processori AMD Opteron.

Torna all’Indice »

Serverlab