Kako kompresija radi u objektno orijentiranoj arhitekturi memorije

Tim inženjera s MIT-a razvio je objektno orijentiranu hijerarhiju memorije za učinkovitiji rad s podacima. U članku razumijemo kako je to uređeno.

Kako kompresija radi u objektno orijentiranoj arhitekturi memorije
/ dionice /PD

Kao što znate, rast performansi modernih CPU-a nije popraćen odgovarajućim smanjenjem latencije prilikom pristupa memoriji. Razlika u promjeni pokazatelja iz godine u godinu može doseći i do 10 puta (PDF, stranica 3). Kao rezultat toga, pojavljuje se usko grlo koje ne dopušta potpuno korištenje raspoloživih resursa i usporava obradu podataka.

Kazna performansi je takozvana odgoda dekompresije. U nekim slučajevima dekompresija pripremnih podataka može potrajati do 64 ciklusa procesora.

Za usporedbu: zbrajanje i množenje brojeva s pomičnim zarezom zauzeti ne više od deset ciklusa. Problem je u tome što memorija radi s podatkovnim blokovima fiksne veličine, dok aplikacije rade s objektima koji mogu sadržavati različite vrste podataka i međusobno se razlikuju po veličini. Kako bi riješili problem, inženjeri MIT-a razvili su objektno orijentiranu hijerarhiju memorije koja optimizira obradu podataka.

Kako tehnologija funkcionira

Rješenje se temelji na tri tehnologije: Hotpads, Zippads i COCO kompresijski algoritam.

Hotpadovi su softverski vođena hijerarhija memorije registara scratchpada (ogrebotina). Ti se registri nazivaju jastučići (padovi) i postoje ih tri - od L1 do L3. Oni pohranjuju objekte različitih veličina, metapodatke i nizove pokazivača.

U biti, arhitektura je sustav predmemorije, ali izoštren za rad s objektima. Razina podloge na kojoj se predmet nalazi ovisi o tome koliko se često koristi. Ako se jedna od razina "prelije", sustav pokreće mehanizam sličan "smećarima" u Javi ili Gou. Analizira koji se objekti koriste rjeđe od drugih i automatski ih premješta između razina.

Zippads radi na temelju Hotpada - arhivira i raspakuje podatke koji ulaze ili izlaze iz posljednje dvije razine hijerarhije - L3 pad i glavne memorije. U prvom i drugom bloku podaci su pohranjeni nepromijenjeni.

Kako kompresija radi u objektno orijentiranoj arhitekturi memorije

Zippads sažima objekte do 128 bajtova. Veći objekti se dijele na dijelove koji se zatim smještaju u različita područja memorije. Kao što programeri pišu, ovaj pristup povećava koeficijent učinkovito korištene memorije.

Za komprimiranje objekata koristi se COCO (Cross-Object COmpression) algoritam, o kojem ćemo govoriti kasnije, iako sustav može raditi s Baza-Delta-Odmah ili FPC. COCO algoritam je varijacija diferencijalne kompresije (diferencijalna kompresija). Uspoređuje objekte s "bazom" i uklanja dvostruke bitove - pogledajte dijagram u nastavku:

Kako kompresija radi u objektno orijentiranoj arhitekturi memorije

Prema inženjerima MIT-a, njihova objektno orijentirana hijerarhija memorije je 17% brža od klasičnih pristupa. Svojom je strukturom puno bliža arhitekturi modernih aplikacija, pa nova metoda ima potencijala.

Očekuje se da će, prije svega, tvrtke koje rade s velikim podacima i algoritmima strojnog učenja moći početi koristiti tehnologiju. Drugi potencijalni smjer su platforme u oblaku. IaaS pružatelji usluga moći će učinkovitije raditi s virtualizacijom, sustavima za pohranu i računalnim resursima.

Naši dodatni resursi i resursi:

Kako kompresija radi u objektno orijentiranoj arhitekturi memorije "Kako gradimo IaaS": materijali o radu 1clouda

Kako kompresija radi u objektno orijentiranoj arhitekturi memorije Evolucija arhitekture oblaka 1cloud
Kako kompresija radi u objektno orijentiranoj arhitekturi memorije Usluga pohranjivanja objekata u 1cloud

Kako kompresija radi u objektno orijentiranoj arhitekturi memorije Potencijalni napadi na HTTPS i kako se zaštititi od njih
Kako kompresija radi u objektno orijentiranoj arhitekturi memorije Koje su sličnosti i razlike između pristupa kontinuirane isporuke i kontinuirane integracije
Kako kompresija radi u objektno orijentiranoj arhitekturi memorije Kako zaštititi poslužitelj na internetu: 1cloud iskustvo

Izvor: www.habr.com

Dodajte komentar