Kuidas toimib tihendamine objekt-orienteeritud mÀluarhitektuuris

MITi insenerite meeskond on töötanud vÀlja objektipÔhise mÀluhierarhia, et andmetega tÔhusamalt töötada. Artikliks uurime, kuidas see toimib.

Kuidas toimib tihendamine objekt-orienteeritud mÀluarhitektuuris
/ PxHere / PD

Nagu teada, ei kaasne kaasaegsete CPUde tootlikkuse tÔusuga samaaegne mÀlu juurde pÀÀsemise viibimise vÀhenemine. Aastaste nÀitajate muutuste erinevus vÔib ulatuda kuni 10 korda (PDF, lk. 3). Selle tulemusel tekib kitsaskoht, mis ei vÔimalda tÀiel mÀÀral olemasolevaid ressursse kasutada ja aeglustab andmete töötlemist.

Tootlikkusele avaldab negatiivset mĂ”ju nn dekompressiooniviivitus. MĂ”nel juhul vĂ”ib andmete ettevalmistav dekompressioon vĂ”tta kuni 64 protsessoritsĂŒklit.

VĂ”rdluseks: ujukomaarvude liitmine ja korrutamine mitte rohkem kui kĂŒmme tsĂŒklit. Probleem seisneb selles, et mĂ€lu töötab fikseeritud suurusega andmeplokkidega, samas kui rakendused töötavad objektidega, mis vĂ”ivad sisaldada erinevat tĂŒĂŒpi andmeid ja erineda suuruse poolest. Probleemi lahendamiseks on MIT-i insenerid vĂ€lja töötanud objektorienteeritud mĂ€luhierarhia, mis optimeerib andmete töötlemist.

Kuidas tehnoloogia töötab

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

Hotpads on programmide kaudu juhitav ĂŒlivĂ”imeka registermĂ€lu hierarhia (scratchpad). Need registreid nimetatakse padjadeks (pads) ja neid on kolm — L1-st L3-ni. Neis hoitakse erineva suurusega objekte, metaandmeid ja viidete massiive.

Sisuliselt kujutab arhitektuur endast vahemĂ€lu sĂŒsteemi, kuid kohandatud objektidega töötlemiseks. Padja tase, kus objekt asub, sĂ”ltub sellest, kui sageli seda kasutatakse. Kui ĂŒks tasanditest Â«ĂŒle tĂ€itub», kĂ€ivitab sĂŒsteem mehhanismi, mis sarnaneb Java vĂ”i Go keeles olevate «prĂŒgikogujatega». See analĂŒĂŒsib, milliseid objekte kasutatakse harvemini kui teisi ja liigub automaatselt nende tasemete vahel.

Zippads töötab Hotpads’i alusel — arhiveerib ja de-arhiveerib andmeid, mis sisenevad vĂ”i vĂ€ljuvad kaheastmelise hierarhia viimastest tasemest — padi L3 ja pĂ”hismĂ€lu. Esimeses ja teises padrunis salvestatakse andmed muutumatuna.

Kuidas toimib tihendamine objekt-orienteeritud mÀluarhitektuuris

Zippads tihendab objekte, mille maht ei ĂŒleta 128 baiti. Suuremad objektid jagatakse osadeks, mis paigutatakse seejĂ€rel erinevatesse mĂ€lukohtadesse. Nagu arendajad kirjutavad, suurendab see lĂ€henemine efektiivselt kasutatava mĂ€lu koefitsienti.

Objektide tihendamiseks kasutatakse algoritmi COCO (Cross-Object COmpression), millest me rÀÀgime hiljem, kuigi sĂŒsteem suudab töötada ka Base-Delta-Immediate vĂ”i FPC. Algoritm COCO on erinevustihenduse (differential compression) tĂŒĂŒp. See vĂ”rreldab objekte "baasobjektidega" ja eemaldab korduvad bitid — vt skeemi allpool:

Kuidas toimib tihendamine objekt-orienteeritud mÀluarhitektuuris

MIT inseneride sÔnul on nende objektorienteeritud mÀluhierarhia 17% tootlikum kui traditsioonilised lÀhenemisviisid. See on palju lÀhemal kaasaegsete rakenduste arhitektuurile, seega on uuel meetodil potentsiaali.

Eeldatakse, et esimesena hakkavad tehnoloogiat kasutama ettevĂ”tted, mis tegelevad suurte andmete ja masinĂ”ppe algoritmidega. Veel ĂŒks potentsiaalne suund on pilveplatvormid. IaaS-teenusepakkujad saavad vĂ”imaluse tĂ”husamalt töötada virtualiseerimise, andmesalvestussĂŒsteemide ja arvutusressurssidega.

Meie tÀiendavad ressursid ja allikad:

Kuidas toimib tihendamine objekt-orienteeritud mĂ€luarhitektuuris „Kuidas me ehitame IaaS”: materjalid 1cloudi tööst

Kuidas toimib tihendamine objekt-orienteeritud mÀluarhitektuuris 1cloudi pilvearhitektuuri evolutsioon
Kuidas toimib tihendamine objekt-orienteeritud mÀluarhitektuuris Objekthoiu teenus 1cloudis

Kuidas toimib tihendamine objekt-orienteeritud mĂ€luarhitektuuris Potentsiaalsed rĂŒnnakud HTTPS-i vastu ja kaitsemeetodid nende vastu
Kuidas toimib tihendamine objekt-orienteeritud mÀluarhitektuuris Kuidas erinevad ja sarnanevad Continuous Delivery ja Continuous Integration lÀhenemisviisid
Kuidas toimib tihendamine objekt-orienteeritud mÀluarhitektuuris Kuidas kaitsta teenuseid internetis: 1cloudi kogemus

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster