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.

Per questo motivo, Intel ha successivamente introdotto il VPID (Virtual-Processor-ID), un<br />

campo <strong>di</strong> 16 bit, nel VMCS, in cui l’hypervisor alloca un valore univoco per ogni sistema<br />

operativo guest; tutte le traduzioni <strong>di</strong> in<strong>di</strong>rizzo vengono contrassegnate con un valore <strong>di</strong> VPID<br />

e, in questo modo, possono coesistere nella stessa TLB translations relative a più CPU, e non<br />

si azzera la TLB ad ogni VM entry o VM exit, ma solo quando necessario.<br />

Il beneficio del VPID è molto <strong>di</strong>pendente dal carico <strong>di</strong> lavoro e dal meccanismo <strong>di</strong><br />

virtualizzazione della memoria; infatti, senza la tecnica EPT, i carichi più intensivi per il<br />

processore mostrano solo piccoli miglioramenti con il VPID. Invece VPID unito a EPT dà<br />

risultati maggiori, perché rende la frequenza delle VM exit più bassa, rendendo la gestione<br />

della memoria più efficiente.<br />

Il VPID ottimizza il tempo <strong>di</strong> transizione tra le macchine virtuali, evitando flush<br />

incon<strong>di</strong>zionati della TLB; le traduzioni da in<strong>di</strong>rizzi virtuali a fisici sono mantenuti nella<br />

memoria cache della CPU e ad ogni VM è assegnato un ID per contrassegnare la TLB. Il<br />

processore in questo modo è informato sui dati che appartengono a ogni macchina virtuale,<br />

perché i dati della TLB sono contrassegnati (dal VPID) e mantenuti nel momento in cui<br />

avviene il passaggio da una VM a un’altra, evitando <strong>di</strong> resettare ogni volta la TLB [27].<br />

3.1.6 Intel VT-d e Intel VT-c<br />

Insieme a Intel VT-x, come detto all’inizio, le altre tecnologie che supportano la<br />

virtualizzazione sono Intel VT-d e Intel VT-c.<br />

Intel VT-d (Intel VT for Directed I/O) è l’assistenza hardware per le operazioni <strong>di</strong> I/O; poiché<br />

su un server possono coesistere molteplici VM (e quin<strong>di</strong> molteplici sistemi operativi guest), il<br />

movimento <strong>di</strong> dati in ingresso e uscita dal sistema (I/O traffic) aumenta e <strong>di</strong>venta più<br />

complesso. Senza aiuto hardware, l’hypervisor è coinvolto <strong>di</strong>rettamente in ogni transizione <strong>di</strong><br />

I/O: ciò non solo rallenta i movimenti <strong>di</strong> dati, ma accresce anche il carico sui processori del<br />

server, dovuto all’elevata attività dell’hypervisor. Intel VT-d ha l’obiettivo <strong>di</strong> risolvere questi<br />

problemi, riducendo il coinvolgimento dell’hypervisor nella gestione dell’I/O traffic; infatti<br />

consente all’hypervisor <strong>di</strong> assegnare specifici <strong>di</strong>spositivi <strong>di</strong> I/O a specifici sistemi operativi<br />

guest. Ogni <strong>di</strong>spositivo ha un’area <strong>di</strong> memoria del sistema de<strong>di</strong>cata, che può essere acceduta<br />

solo dal <strong>di</strong>spositivo e da suo guest assegnato. Una volta che l’assegnamento iniziale viene<br />

effettuato, i dati possono viaggiare <strong>di</strong>rettamente tra il sistema operativo guest e i suoi<br />

54

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

Saved successfully!

Ooh no, something went wrong!