Come funziona la compressione nell'architettura della memoria orientata agli oggetti

Un team di ingegneri del MIT ha sviluppato una gerarchia di memoria orientata agli oggetti per lavorare con i dati in modo piΓΉ efficiente. Nell'articolo capiamo come Γ¨ organizzato.

Come funziona la compressione nell'architettura della memoria orientata agli oggetti
/ PxHere /PD

Come sapete, la crescita delle prestazioni delle moderne CPU non Γ¨ accompagnata da una corrispondente diminuzione della latenza durante l'accesso alla memoria. La differenza nel cambiamento degli indicatori di anno in anno puΓ² raggiungere fino a 10 volte (PDF, pagina 3). Di conseguenza, appare un collo di bottiglia, che non consente il pieno utilizzo delle risorse disponibili e rallenta l'elaborazione dei dati.

La penalizzazione delle prestazioni Γ¨ il cosiddetto ritardo di decompressione. In alcuni casi, la decompressione dei dati preparatori puΓ² richiedere fino a 64 cicli del processore.

Per confronto: addizione e moltiplicazione di numeri in virgola mobile prendere non piΓΉ di dieci cicli. Il problema Γ¨ che la memoria funziona con blocchi di dati di dimensioni fisse, mentre le applicazioni operano con oggetti che possono contenere diversi tipi di dati e differiscono tra loro per dimensioni. Per risolvere il problema, gli ingegneri del MIT hanno sviluppato una gerarchia di memoria orientata agli oggetti che ottimizza l'elaborazione dei dati.

Come funziona la tecnologia

La soluzione si basa su tre tecnologie: Hotpad, Zippad e l'algoritmo di compressione COCO.

Gli hotpad sono una gerarchia basata su software della memoria del registro di scratchpad (blocco appunti). Questi registri sono chiamati pad (pad) e ce ne sono tre, da L1 a L3. Memorizzano oggetti di diverse dimensioni, metadati e array di puntatori.

In sostanza, l'architettura Γ¨ un sistema di cache, ma affinato per lavorare con gli oggetti. Il livello del pad in cui si trova l'oggetto dipende dalla frequenza con cui viene utilizzato. Se uno dei livelli "trabocca", il sistema attiva un meccanismo simile ai "garbage collector" in Java o Go. Analizza quali oggetti vengono utilizzati meno spesso di altri e li sposta automaticamente tra i livelli.

Zippads funziona sulla base di Hotpad: archivia e decomprime i dati che entrano o escono dagli ultimi due livelli della gerarchia: il pad L3 e la memoria principale. Nel primo e nel secondo pad, i dati vengono memorizzati invariati.

Come funziona la compressione nell'architettura della memoria orientata agli oggetti

Zippads comprime oggetti fino a 128 byte. Gli oggetti piΓΉ grandi sono divisi in parti, che vengono poi collocate in diverse aree della memoria. Come scrivono gli sviluppatori, questo approccio aumenta il coefficiente di memoria effettivamente utilizzata.

Per comprimere gli oggetti viene utilizzato l'algoritmo COCO (Cross-Object COmpression), di cui parleremo in seguito, sebbene il sistema sia in grado di lavorare con Base-Delta-Immediato o FPC. L'algoritmo COCO Γ¨ una variazione della compressione differenziale (compressione differenziale). Confronta gli oggetti con "base" e rimuove i bit duplicati - vedi diagramma qui sotto:

Come funziona la compressione nell'architettura della memoria orientata agli oggetti

Secondo gli ingegneri del MIT, la loro gerarchia di memoria orientata agli oggetti è del 17% più veloce rispetto agli approcci classici. È molto più vicino nella sua struttura all'architettura delle applicazioni moderne, quindi il nuovo metodo ha del potenziale.

Si prevede che, prima di tutto, le aziende che lavorano con big data e algoritmi di apprendimento automatico possano iniziare a utilizzare la tecnologia. Un'altra potenziale direzione sono le piattaforme cloud. I provider IaaS saranno in grado di lavorare in modo piΓΉ efficiente con la virtualizzazione, i sistemi di storage e le risorse informatiche.

Le nostre risorse e risorse aggiuntive:

Come funziona la compressione nell'architettura della memoria orientata agli oggetti "Come costruiamo IaaS": materiali sul lavoro di 1cloud

Come funziona la compressione nell'architettura della memoria orientata agli oggetti L'evoluzione dell'architettura cloud 1cloud
Come funziona la compressione nell'architettura della memoria orientata agli oggetti Servizio di storage di oggetti in 1cloud

Come funziona la compressione nell'architettura della memoria orientata agli oggetti Potenziali attacchi su HTTPS e come proteggersi da essi
Come funziona la compressione nell'architettura della memoria orientata agli oggetti Quali sono le somiglianze e le differenze tra gli approcci Continuous Delivery e Continuous Integration
Come funziona la compressione nell'architettura della memoria orientata agli oggetti Come proteggere un server su Internet: esperienza 1cloud

Fonte: habr.com

Aggiungi un commento