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 ...
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