Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris

MITi insenerite meeskond on välja töötanud objekt-orienteeritud mäluhierarhia, et andmeid tõhusamalt töödelda. Artiklis uurime, kuidas see toimib.

Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris
/ PxHere / PD

Nagu teada, ei kaasne kaasaegsete CPU tootlikkuse kasvuga vastav mälu juurdepääsu latentsuse vähenemine. Muutuste erinevus võib ulatuda kuni 10 korda aastas (PDF, lk. 3). Tulemusena tekib pudelikael, mis ei võimalda täielikult olemasolevaid ressursse ära kasutada ning aeglustab andmete töötlemist.

Toodangut kahjustab nn dekompressioonilaatne viivitus. Mõnedel juhtudel võib andmete ettevalmistamise dekompressioon võtta kuni 64 protsessoritsüklit.

Võrdluseks: ujukoma arvude liitmine ja korrutamine võtavad mitte rohkem kui kümme tsüklit. Probleem seisneb selles, et mälu töötab fikseeritud suurusega andmeblokkidega, samas kui rakendused opereerivad objektidega, mis võivad sisaldada erinevaid andmetüüpe ja erineda suuruse poolest. Probleemi lahendamiseks on MITi insenerid välja töötanud objekt-orienteeritud mäluhierarhia, mis optimeerib andmete töötlemist.

Kuidas tehnoloogia töötab

Lahenduse aluseks on kolm tehnoloogiat: Hotpads, Zippads ja COCO kompresseerimisalgoritm.

Hotpads on tarkvaraliselt hallatav ülimemori registrihierarhia (scratchpad). Need registrid nimetatakse padadeks (pads) ja neid on kolm — L1-st kuni L3-ni. Neis hoitakse eri suurusega objekte, metaandmeid ja viidete massiive.

Sisuliselt on arhitektuur süsteem, mis on optimeeritud objektidega töötamiseks sarnane nagu vahemälu. Peda tase, kus objekt asub, sõltub sellest, kui sageli seda kasutatakse. Kui mõni tase 'üleujub', käivitab süsteem mehhanismi, mis sarnaneb 'prügikoristajatele' programmeerimiskeeltes Java või Go. See analüüsib, milliseid objekte kasutatakse harvemini kui teisi, ja liigub automaatselt nende vahel.

Zippads toimib Hotpads'i alusel — arhiveerib ja de-arhiveerib andmed, mis sisenevad või väljuvad hierarhia kahe viimase taseme — päd L3 ja põhijälu. Esimeses ja teises pädas hoitakse andmeid muutumatul kujul.

Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris

Zippads komprimeerib objekte, mille suurus ei ületa 128 baiti. Suuremad objektid jagatakse osadeks, mis needjärel paigutatakse erinevatesse mälu piirkondadesse. Arendajate sõnul tõstab selline lähenemine mälu tõhususe määra.

Objektide kompressimiseks kasutatakse algoritmi COCO (Cross-Object COmpression), millest räägime edaspidi, kuigi süsteem töötab ka Base-Delta-Immediate või FPC. Algoritm COCO on diferentsiaalsete kompressioonide liik (differential compression). See võrdleb objekte "baas"-objektidega ja eemaldab korduvad bitid — vt skeemi allpool:

Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris

MIT-i inseneride sõnul on nende objektorienteeritud mälu hierarhia 17% efektiivsem kui klassikalised lähenemisviisid. See on palju lähemal kaasaegsete rakenduste arhitektuurile, seega on uuel meetodil potentsiaali.

Oodatavasti hakkavad tehnoloogiat esmajoones kasutama ettevõtted, mis töötavad suurte andmete ja masinõppe algoritmidega. Veel üks potentsiaalne suund on pilveplatvormid. IaaS-teenuse pakkujad saavad võimekuse paremini hallata virtualiseerimise, andmesalvestussüsteemide ja arvutusressurssidega.

Meie täiendavad ressursid ja allikad:

Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris «Kuidas me ehitame IaaS-i»: materjalid 1cloudi töö kohta

Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris Pilve arhitektuuri evolutsioon 1cloud
Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris Objektide salvestusteenus 1cloud

Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris Potentsiaalsed rünnakud HTTPS-i vastu ja meetodid nende vastu kaitsmiseks
Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris Kuidas sarnanevad ja erinevad Continuous Delivery ja Continuous Integration lähenemised
Kuidas töötab kokkusurumine objekti-orienteeritud mäluarhitektuuris Kuidas kaitsta serverit internetis: 1cloud'i kogemused

Allikas: habr.com

Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster