15.06.2013 Views

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

Dispensa in PDF - Dipartimento di Scienze Ambientali, Informatica e ...

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.

Figura 5.8. Cach<strong>in</strong>g<br />

Carnielli Efrem: Programmazione a componenti<br />

Organizzazione delle risorse<br />

Il server C è il detentore della master copy e il vero repository. All’occorrenza, i dati<br />

vengono replicati <strong>in</strong> altri server. Esistono tre <strong>di</strong>verse tecniche <strong>di</strong> cach<strong>in</strong>g:<br />

• cach<strong>in</strong>g read-only: l’esempio è la cronologia delle pag<strong>in</strong>e web visitate. Il<br />

dato viene portato <strong>in</strong> A ma per la sola lettura. Le mo<strong>di</strong>fiche vengono<br />

fatte <strong>di</strong>rettamente sulla master copy <strong>in</strong> C, <strong>in</strong>validando tutte le copie<br />

nelle cache degli altri server.<br />

• write through: ogni volta che viene fatta una mo<strong>di</strong>fica ad un dato<br />

presente <strong>in</strong> cache si fa subito anche nella master copy. Il server C,<br />

conoscendo quali sono i server che hanno il dato <strong>in</strong> cache, aggiorna il<br />

valore con un commit a due fasi annidato. In questo caso, C svolge sia<br />

la funzione <strong>di</strong> commit manager sia quella <strong>di</strong> <strong>in</strong>formation broker<br />

(conosce quali server devono essere aggiornati).<br />

• lazy update (write back): se viene mo<strong>di</strong>ficato il dato presente nella cache<br />

<strong>di</strong> A, si comunica a C solamente che il dato è <strong>in</strong>validato il quale lo<br />

comunica a sua volta a tutti i server che hanno quel dato <strong>in</strong> cache. Il<br />

valore del dato viene aggiornato solamente quando un altro server<br />

richiede quel dato a C, il quale lo preleva dal server A. In questo modo<br />

varie mo<strong>di</strong>fiche successive sullo stesso dato non devono essere<br />

comunicate ma solamente l’ultima <strong>di</strong>m<strong>in</strong>uendo il traffico <strong>di</strong> rete.<br />

Per concludere il capitolo, bisogna sottol<strong>in</strong>eare il fatto che tutte queste<br />

architetture sono scalabili, e che la scalabilità è <strong>in</strong>tr<strong>in</strong>seca nella loro natura.<br />

134

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

Saved successfully!

Ooh no, something went wrong!