Kuinka pakkaus toimii olio-muistiarkkitehtuurissa

MIT:n insinööriryhmä on kehittänyt oliopohjaisen muistihierarkian työskennelläkseen tietojen kanssa tehokkaammin. Artikkelissa ymmärrämme, kuinka se toimii.

Kuinka pakkaus toimii olio-muistiarkkitehtuurissa
/ Taustakuva /PD

Kuten tiedetään, nykyaikaisten suorittimien suorituskyvyn kasvuun ei liity vastaavaa viiveen vähenemistä muistia käytettäessä. Ero indikaattoreiden muutoksissa vuodesta toiseen voi olla jopa 10-kertainen (PDF, sivu 3). Tämän seurauksena syntyy pullonkaula, joka estää käytettävissä olevien resurssien täyden käytön ja hidastaa tietojen käsittelyä.

Suorituskykyvaurio johtuu ns. dekompressioviiveestä. Joissakin tapauksissa valmisteleva tietojen purku voi kestää jopa 64 prosessorijaksoa.

Vertailun vuoksi: liukulukujen yhteen- ja kertolasku miehittää enintään kymmenen sykliä. Ongelmana on, että muisti toimii kiinteän kokoisten tietolohkojen kanssa ja sovellukset toimivat objektien kanssa, jotka voivat sisältää erityyppistä dataa ja poikkeavat kooltaan toisistaan. Ongelman ratkaisemiseksi MIT:n insinöörit kehittivät oliokeskeisen muistihierarkian, joka optimoi tietojenkäsittelyn.

Miten tekniikka toimii

Ratkaisu perustuu kolmeen teknologiaan: Hotpads, Zippads ja COCO-pakkausalgoritmi.

Hotpadit ovat ohjelmistoohjattu hierarkia nopeista rekisteröidyistä muistista (naarmuuntuma). Näitä rekistereitä kutsutaan padiksi ja niitä on kolme - L1:stä L3:een. Ne tallentavat erikokoisia objekteja, metatietoja ja osoitintaulukoita.

Pohjimmiltaan arkkitehtuuri on välimuistijärjestelmä, mutta se on räätälöity toimimaan objektien kanssa. Esineen tyynyn taso riippuu siitä, kuinka usein sitä käytetään. Jos jokin tasoista "vuotaa yli", järjestelmä käynnistää samanlaisen mekanismin kuin "jätteenkeräimet" Java- tai Go-kielillä. Se analysoi, mitä kohteita käytetään harvemmin kuin muita, ja siirtää ne automaattisesti tasojen välillä.

Zippads toimii Hotpadien pohjalta – arkistoi ja purkaa tietoja, jotka saapuvat hierarkian kahdelle viimeiselle tasolle – L3-alustalle ja päämuistille – tai poistuvat niistä. Ensimmäinen ja toinen tyyny tallentavat tiedot muuttumattomina.

Kuinka pakkaus toimii olio-muistiarkkitehtuurissa

Zippads pakkaa objektit, joiden koko ei ylitä 128 tavua. Suuremmat esineet jaetaan osiin, jotka sitten sijoitetaan eri muistialueille. Kuten kehittäjät kirjoittavat, tämä lähestymistapa lisää tehokkaasti käytetyn muistin kerrointa.

Objektien pakkaamiseen käytetään COCO (Cross-Object COmpression) -algoritmia, josta keskustelemme myöhemmin, vaikka järjestelmä voi toimia myös Base-Delta-Immediate tai FPC. COCO-algoritmi on eräänlainen differentiaalinen pakkaus (differentiaalinen puristus). Se vertaa objekteja "pohjaan" ja poistaa päällekkäiset bitit - katso alla oleva kaavio:

Kuinka pakkaus toimii olio-muistiarkkitehtuurissa

MIT:n insinöörien mukaan heidän oliokeskeinen muistihierarkia on 17 % tuottavampi kuin klassiset lähestymistavat. Se on suunnittelultaan paljon lähempänä nykyaikaisten sovellusten arkkitehtuuria, joten uudella menetelmällä on potentiaalia.

Suuren datan ja koneoppimisalgoritmeilla työskentelevien yritysten odotetaan alkavan ensin käyttää teknologiaa. Toinen mahdollinen suunta on pilvialustat. IaaS-palveluntarjoajat pystyvät työskentelemään tehokkaammin virtualisoinnin, tiedontallennusjärjestelmien ja laskentaresurssien kanssa.

Lisäresurssimme ja lähteemme:

Kuinka pakkaus toimii olio-muistiarkkitehtuurissa “Kuinka rakennamme IaaS:n”: materiaalia 1cloudin toiminnasta

Kuinka pakkaus toimii olio-muistiarkkitehtuurissa Pilviarkkitehtuurin kehitys 1pilvi
Kuinka pakkaus toimii olio-muistiarkkitehtuurissa Objektien säilytyspalvelu 1pilvessä

Kuinka pakkaus toimii olio-muistiarkkitehtuurissa Mahdolliset HTTPS-hyökkäykset ja niiltä suojautuminen
Kuinka pakkaus toimii olio-muistiarkkitehtuurissa Miten jatkuva toimitus ja jatkuva integrointi ovat samanlaisia ​​ja erilaisia?
Kuinka pakkaus toimii olio-muistiarkkitehtuurissa Palvelimen suojaaminen Internetissä: 1 pilvikokemus

Lähde: will.com

Lisää kommentti