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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Nel caso in cui l’hypervisor determina che una VM exit è stata causata da un’eccezione<br />

dovuta a una con<strong>di</strong>zione stabilita dall’hypervisor stesso, può scegliere <strong>di</strong> rimuovere la<br />

con<strong>di</strong>zione e riprendere (resume) l’esecuzione del guest; l’approccio <strong>di</strong> rimozione della<br />

con<strong>di</strong>zione <strong>di</strong> eccezione <strong>di</strong>pende dall’architettura e dagli algoritmi del software hypervisor.<br />

L’operazione <strong>di</strong> resume può avvenire, ad esempio, quando:<br />

il campo NMI exiting del VM-execution control fields è 0;<br />

il campo virtual NMIs è 1;<br />

il bit 31 dell’IDT è 1.<br />

Per la virtualizzazione delle interruzioni, l’hypervisor può consegnare un’interruzione al guest<br />

usando una VM entry come event injection; se il guest non è pronto all’interruzione,<br />

l’hypervisor effettua una VM entry per far eseguire il guest, e quando quest’ultimo è pronto<br />

per gestire l’interruzione, effettua una VM exit, e la prossima VM entry viene usata per la<br />

consegna dell’interruzione [25].<br />

Ovviamente questo meccanismo non ha solo lati positivi: infatti, i frequenti world switches<br />

(cambiamenti <strong>di</strong> ambiente) tra i mo<strong>di</strong> <strong>di</strong> funzionamento del processore porta comunque a<br />

problemi <strong>di</strong> prestazione. Questi “performance overheads” sono dovuti soprattutto alle VM<br />

exit dal sistema operativo guest all’hypervisor, e, in particolare, a quattro eventi principali:<br />

1) Access to privileged CPU state<br />

2) Interrupt virtualization<br />

3) Page table virtualization<br />

4) I/O-device virtualization<br />

Infatti, ogni evento ha un costo in termini <strong>di</strong> cicli <strong>di</strong> CPU per uscire e ritornare all’hypervisor,<br />

<strong>di</strong> tempo impiegato per la gestione del particolare evento, ed <strong>di</strong> problemi relativi al<br />

funzionamento dell’architettura (ad esempio TLB miss, che avviene quando l’informazione<br />

sulla traduzione da in<strong>di</strong>rizzo virtuale a fisico del dato desiderato non si trova nella TLB).<br />

Per ottimizzare le performance si deve agire su due fronti, riducendo in primo luogo il numero<br />

<strong>di</strong> eventi dovuti a 1) e 2), e/o riducendo i singoli costi degli eventi (come i tempi <strong>di</strong><br />

transizione, costi <strong>di</strong> gestione) [26].<br />

Per questi motivi, dal 2007, Intel ha migliorato la sua virtualization technology attraverso<br />

quattro estensioni del processore, che sono FlexPriority, FlexMigration, Extended Page<br />

Tables (EPT) e Virtual Processor ID.<br />

47

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

Saved successfully!

Ooh no, something went wrong!