Categorizzazione della politica della cache

1

Da quello che cerco online, ci sono 2 criteri più comuni usati nell'accesso alla cache:

  • Cache a parte
  • Leggi + scrivi attraverso

Ma ci sono altre politiche come:

  • Per il caso scrivi hit :
    • Scrivi attraverso
    • Scrivi indietro (Scrivi dietro)
  • Per il caso write miss :
    • Scrivi allocazione
    • No write allocate (write around)

Le mie domande sono:

  • Perché la cache da parte e la lettura + scrittura attraverso sono più comunemente usate?
  • La cache è a parte solo riferendosi alla politica di lettura della cache (.i.e. leggi solo il caso, confrontabile con la lettura)? È possibile utilizzare la cache a parte con altri criteri di scrittura, ad es. cache a parte + scrivere attraverso? .i.e. quando l'applicazione ha una mancanza di scrittura, scrive sia nella cache che nell'archivio dati.

Riferimento:

posta Phuong Nguyen 30.04.2015 - 14:19
fonte

1 risposta

1

Le politiche che stai citando riguardano principalmente ciò che ha la responsabilità di mantenere la cache e decidere quando e come leggere i dati dalla memoria principale.

In Cache Aside l' applicazione si assume la responsabilità. L'applicazione guarderà la cache e vedrà se ha i dati di cui ha bisogno. Se la cache non contiene i dati richiesti, l'applicazione leggerà i dati e copia i dati nella cache.

Nella cache Read-through / Write-through , l'applicazione comunica direttamente con la cache. È responsabilità della cache determinare se contiene già o meno i dati. Se la cache non contiene i dati, otterrà i dati dalla memoria principale, conserverà una copia dei dati e restituirà i dati all'applicazione.

Esistono due modi per scrivere i dati: write-through e write-behind. Write-through significa che i dati vengono scritti immediatamente nella memoria principale. Non fornisce alcun miglioramento della velocità, ma è più sicuro. Write-behind significa che i dati vengono scritti nella cache, ma solo riscritti nella memoria principale dopo un certo periodo di tempo o quando il blocco viene rimosso dalla cache.

Se rifletti su questo punto, vedrai che ci sono dei vantaggi nell'affrontare direttamente con la cache, lasciandoti la responsabilità di leggere e scrivere la memoria principale. Se tutto l'accesso alla memoria passa attraverso la cache, la cache può garantire l'integrità dei dati, poiché è a conoscenza di ogni accesso alla memoria principale. In altre parole, non vi è alcuna possibilità di ottenere dati obsoleti.

Per quanto posso dire, non vi è alcun problema di popolarità. Ogni approccio al caching ha i suoi vantaggi e svantaggi. Se c'è una strategia che viene osservata più spesso delle altre, è perché quella strategia soddisfa più comunemente gli obiettivi del programmatore.

    
risposta data 01.05.2015 - 06:03
fonte

Leggi altre domande sui tag