Cos'è la memoria cache?

Cos'è la memoria cache?

Una cache è costituita da dati memorizzati localmente in un'applicazione per un recupero più veloce. Le cache funzionano agendo come posizioni iniziali per l'accesso ai dati quando le interfacce client fanno una richiesta di dati.

Se i dati richiesti vengono trovati, lo chiamiamo "cache hit" e restituiamo i dati richiesti. Se i dati non vengono trovati, si parla di "cache miss". Le cache miss innescano un processo per ottenere i dati corretti chiamato "politica di sostituzione".

I dati vengono trasferiti tra la memoria e la cache in blocchi di dimensioni fisse chiamati "linee di cache" o "blocchi di cache" dopo che i dati stantii sono stati rimossi. Se la cache più piccola fallisce, viene controllata la prossima cache più veloce (livello 2, L2), e così via, prima di accedere alla memoria esterna. Le cache più grandi hanno migliori tassi di successo ma una latenza più lunga. Molti computer usano più livelli di cache per affrontare questo compromesso, con cache piccole e veloci supportate da cache più grandi e lente.

La dimensione della cache può essere calcolata come il numero di byte memorizzati in ogni blocco di dati per il numero di blocchi memorizzati. Le cache di "livello superiore" (cioè il livello 2 e superiore) hanno un numero progressivamente più significativo di blocchi, dimensioni di blocco più grandi e tempi di accesso relativamente più lunghi ma più veloci della memoria principale. Le implementazioni pratiche di caching costituiscono un modo potente per le applicazioni di migliorare le loro prestazioni.

Caching hardware vs. software

Le strategie di caching hardware utilizzano parte dell'hardware in un dispositivo informatico per memorizzare i dati necessari. Spesso questi dispositivi informatici offrono il caching su più livelli delle parti hardware responsabili del caching.

Cache della CPU: L'unità di elaborazione centrale di un computer contiene più livelli di cache, con L1 che è il più veloce. Ogni livello successivo di cache è più lento e significativo. Sui chip multicore, la cache L3 è generalmente condivisa tra tutti i core di elaborazione.

Cache GPU: La Graphics Processing Unit (GPU) di un computer ha una memoria di dispositivo indipendente dalla RAM del sistema host e può essere usata come cache.

Cache del disco: Disk Cache anche chiamato Disk Buffer, è la memoria incorporata in un hard disk (HDD) che agisce come un buffer tra il resto del computer e il componente fisico dell'hard disk usato per la memorizzazione.

Le strategie di caching software utilizzano il software per memorizzare i dati necessari localmente e recuperarli in modo efficiente e ottimizzato.

CDN: caching nel browser tramite Content Delivery Network (CDN). Conserva copie del contenuto web in vari punti di una rete e serve i clienti dalla posizione di rete più vicina.

Memoizzazione: La memoizzazione è una tecnica di ottimizzazione utilizzata per accelerare le applicazioni memorizzando i risultati delle chiamate di funzione e restituendo il risultato della cache quando gli stessi input si ripetono.

Post in primo piano