19.05.2013 Views

Facoltà di Ingegneria Tesi di laurea ANALISI DELLE TECNOLOGIE ...

Facoltà di Ingegneria Tesi di laurea ANALISI DELLE TECNOLOGIE ...

Facoltà di Ingegneria Tesi di laurea ANALISI DELLE TECNOLOGIE ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.1.4 Intel VT Extended Page Tables (EPT)<br />

In precedenza, abbiamo visto che la virtualizzazione via software del meccanismo <strong>di</strong><br />

in<strong>di</strong>rizzamento della memoria (shadow page tables) è la maggiore fonte <strong>di</strong> overhead, con un<br />

forte impatto negativo sulle prestazioni della macchina virtuale.<br />

La prima soluzione introdotta da Intel per risolvere il problema è stata la Virtual TLB<br />

(VTLB), composta dalla TLB del processore più una Active Page Table: l’hypervisor<br />

inizializza una VTLB vuota e inizia l’esecuzione del guest; quando quest’ultimo accede alla<br />

memoria, si verifica un’eccezione <strong>di</strong> page fault (#PF) che provoca l’intervento<br />

dell’hypervisor, che provvede a copiare la traduzione richiesta (VTLB refill) e riprende<br />

l’esecuzione del guest.<br />

L’algoritmo della VTLB programma le VM exits ad ogni tentativo <strong>di</strong> scrittura nel registro<br />

CR3, ad ogni eccezione #PF e ogni volta che si incontra una pagina non valida.<br />

Con le Virtual TLB si riducono i world switch, tuttavia i miglioramenti nelle prestazioni non<br />

sono significativi, perché l’intervento dell’hypervisor viene comunque richiesto in molti casi,<br />

cosa che non consente prestazioni efficienti per workloads memory-intensive [29].<br />

Per questo, intorno al 2008, Intel ha migliorato la tecnologia <strong>di</strong> VT con un metodo <strong>di</strong> gestione<br />

della memoria più efficiente: Extended Page Tables.<br />

Si tratta <strong>di</strong> un meccanismo del processore per “mappare” i riferimenti tra memoria del guest e<br />

memoria fisica, e permette al software guest <strong>di</strong> avere il controllo sul paging del processore,<br />

riducendo, in questo modo, la frequenza delle VM exits verso l’hypervisor.<br />

Figura 3.6: utilizzo <strong>di</strong> EPT<br />

Il software guest ha pieno controllo sulle sue page tables (le guest page tables) e sugli eventi<br />

ad esse connesse (può controllare i registri CR3,CR0, i bit <strong>di</strong> paging <strong>di</strong> CR4, può gestire le<br />

page fault), mentre l’hypervisor controlla le Extended Page Tables; il processore utilizza le<br />

51

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!