8) Quali sono le problematiche di realizzazione della cache nei FSD?

Dimensioni della cache e tecnica di read-ahead

client e server bufferizzano i dati ancora prima che questi diventino necessari.

l’aumento della dimensione di unità di cache aumenta l'efficacia read-ahead.

tempo richiesto per il trasferimento dei dati.

probabilità di problemi di inconsistenza.

Allocazione della cache

cache in memoria centrale:

veloce accesso ai dati, anche per macchine diskless.

cache su disco:

maggiore tempo di accesso ai dati

maggiori dimensioni ed affidabilità della cache

Politiche di flushing:

si denominano blocco sporco (dirty block) i dati, in cache, modificati e non più consistenti con la copia primaria.

il flushing è l’azione di scrittura di dirty block per svuotare la cache

Tecniche di modifica della cache

Write through

invio immediato dei dati modificati al server ed a tutti i client per aggiornare le cache

affidabilità ma scarsa efficienza

Delayed write (scrittura ritardata)

modifiche scritte nella cache locale e solo più tardi propagate al server e alle altre copie

migliore performance, problemi di affidabilità e consistenza

Write on close

scrittura alla chiusura, cioè aggiornamento solo alla chiusura del file

ottime performance in accessi prolungati con frequenti modifiche ad un file

problemi di consistenza ed affidabilità

Periodic write

esame periodico della cache e aggiornamento solo dei blocchi modificati

problemi di consistenza ed affidabilità dipendenti dal periodo

Convalida della cache: decisione se la propria copia è consistente con la principale. In caso di inconsistenza si usa un protocollo di aggiornamento.

Client-initiated approach

Il cliente controlla la consistenza delle informazioni con richiesta al server

frequenza di controllo: da un controllo per ogni accesso alla cache fino ad un solo controllo all'apertura del file, passando attraverso il controllo richiesto periodicamente.

Il controllo introduce ritardo nelle richiesta di accesso

Occorre evitare un eccessivo traffico in rete

Server-initiated approach

Il server controlla le copie di ciascun cliente. Se verifica situazioni di potenziale inconsistenza dei dati, richiede l'aggiornamento

necessità di mantenere nozione dei clienti correnti

con una semantica di sessione, ad ogni richiesta di chiusura di un file modificato, il server avvisa i clienti dell'invalidità delle copie

 


Back
Index
Next