Sapere Scienza

Sapere Scienza

Computer più veloci con una nuova tecnica di compressione dei dati

13 Maggio 2019

Quante volte vi sarete lamentati della lentezza del vostro computer o dello smartphone? La memoria non basta mai e le app hanno difficoltà nel funzionare. Il problema è nella compressione hardware dei dati e sembra che i ricercatori del MIT-Massachusetts Institute of Technology abbiano trovato una soluzione.

 

Cos'è la compressione hardware dei dati?

 

La compressione hardware dei dati usa a proprio vantaggio le informazioni ridondanti, per liberare lo spazio disponibile per l'immagazzinamento, aumentando la velocità di calcolo e fornendo altri tipi di benefici. Negli attuali sistemi di calcolo accedere alla memoria principale, quella che memorizza dati e istruzioni che servono per il funzionamento dell'unità centrale, è un processo dispendioso tenendo conto degli attuali processi computazionali. Comprimere dati nella memoria aiuta quindi a migliorare le performance della macchina, poiché diminuisce la frequenza e la quantità di programmi necessari da prendere dalla memoria principale. Nei computer che attualmente utilizziamo la memoria organizza e trasferisce dati in pezzi di dimensione fissa su cui le tecniche di compressione esistenti operano. Ma i software non immagazzinano dati in pacchetti di dimensione stabilita, usano invece strutture di dati orientate agli oggetti, che contengono vari tipi di informazione di dimensione variabile.

 

banner articoli sapere3

 

Questione di memoria

 

La memoria perfetta dovrebbe avere una capacità infinita, un tempo di accesso bassissimo e costi e consumi nulli. Purtroppo non è così: l'organizzazione di un calcolatore comprende diversi tipi di memorie con caratteristiche diverse, che seguono una gerarchia. In particolare, ci sono poche memorie a bassa capacità ed alti costi ma molto veloci e molta memoria più lenta e di capacità maggiore. Nella gerarchia di memoria i dati sono temporaneamente trasferiti in memorie sempre più veloci e l'obiettivo è avere accesso ai dati che più frequentemente utilizziamo più facilmente, avendole a disposizione nelle memorie più veloci (che, però, sono meno capienti). I ricercatori del MIT, in un lavoro presentato all'ACM International Conference on Architectural Support for Programming Languages and Operating Systems, hanno descritto il primo tentativo di comprimere oggetti nella gerarchia di memoria, dando una nuova struttura all'architettura della memoria per far sì che riesca direttamente a manipolare oggetti: ciò ridurrebbe l'utilizzo della memoria stessa, migliorando prestazione ed efficienza della macchina.

 

La soluzione del MIT

 

Come abbiamo accennato, l'architettura di memoria tradizionale immagazzina i dati in blocchi in una struttura gerarchica di memorie che sono progressivamente più grandi ma anche più lente, dette cache. Pacchetti a cui si ha avuto accesso recentemente vengono da cache più piccole e più veloci mentre quelli più vecchi sono spostati in cache più grandi e lente e poi riposizionate nella memoria principale. Un'organizzazione flessibile ma costosa perché per accedere alla memoria ciascuna cache ha bisogno di cercare un indirizzo tra i suoi contenuti. Il primo passo degli studiosi del MIT è stato progettare un sistema che immagazzinasse interi oggetti, impacchettati strettamente in livelli gerarchici chiamati "pad", che risiedono interamente in memorie efficienti, sul chip del processore e direttamente indirizzate. I programmi, quindi, consultano direttamente la posizione di tutti gli oggetti nella gerarchia dei pad. Gli oggetti allocati da poco e recentemente utilizzati e quelli a cui portano, sono nel livello più veloce che, quando è totalmente pieno, fa partire un processo di espulsione, mantenendo gli oggetti più recenti e spostando quelli più vecchi in livelli più lenti e riciclando oggetti non più utili per liberare spazio. Gli indirizzi degli oggetti sono quindi aggiornati per indicare le nuove posizioni. I programmi, in questo modo, possono accedere agli oggetti in maniera più economica rispetto alla ricerca nelle cache. Un ulteriore passo in avanti, descritto nell'articolo, è stato la compressione: quando gli oggetti sono nel livello più veloce sono non compressi e quando sottoposti a espulsione in livelli più lenti, vengono compressi. Questo meccanismo li rende più facili da richiamare in livelli più veloci e in grado di essere immagazzinati in maniera più compatta. Inoltre l'algoritmo di compressione, prima di tutto, sceglie pochi oggetti rappresentativi come "base" e quindi, in nuovi oggetti, conserva solo i dati che si differenziano.
Computer che si bloccano e smartphone in cui le app non funzionano correttamente potrebbero diventare presto solo un ricordo... da cancellare dalla nostra di memoria!

 

Rimaniamo nel mondo dell'informatica con l'articolo di Massimo Bertaccini, "La crittografia della Blockchain", che potrete acquistare e leggere singolarmente o con l'intero numero di aprile 2019 di Sapere.

 

Credits immagine: foto di StockSnap da Pixabay

copertina   maggio-giugno 2019

  COMPRA IL NUMERO

 
  ABBONATI

 
  SOMMARIO

 
  EDITORIALE

bannerCnrXSapere 0

iscriviti copia

clark

Questo sito utilizza cookie, anche di terze parti, per migliorare la tua esperienza di navigazione. Se vuoi saperne di più consulta l'informativa estesa. Cliccando su ok acconsenti all'uso dei cookie.