Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect

Echipa de ingineri de la MIT a dezvoltat o ierarhie de memorie orientată pe obiecte pentru a lucra mai eficient cu datele. În acest articol, analizăm cum este structurată aceasta.

Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect
/ PxHere / PD

Cum se știe, creșterea performanței procesoarelor moderne nu este însoțită de o reducere corespunzătoare a întârzierii la accesarea memoriei. Diferența în modificările indicatorilor de la an la an poate ajunge până la 10 ori (PDF, p.3). Ca rezultat, apare un gât de sticlă care împiedică utilizarea pe deplin a resurselor disponibile și încetinește procesarea datelor.

Întârzierea de performanță este cauzată de așa-numita întârziere de decomprimare. În unele cazuri, pregătirea pentru decomprimarea datelor poate dura până la 64 de cicluri de procesor.

Pentru comparație: adunarea și înmulțirea numerelor cu virgulă mobilă apelează la nu mai mult de zece cicluri. Problema este că memoria lucrează cu blocuri de date de dimensiuni fixe, iar aplicațiile operează cu obiecte care pot conține diferite tipuri de date și pot diferi între ele ca dimensiune. Pentru a rezolva această problemă, inginerii de la MIT au dezvoltat o ierarhie de memorie orientată pe obiecte care optimizează procesarea datelor.

Cum funcționează tehnologia

La baza soluției stau trei tehnologii: Hotpads, Zippads și un algoritm de compresie COCO.

Hotpads este o ierarhie de memorie de registru super-rapidă, controlată software (scratchpad). Aceste registre se numesc peds și există trei — de la L1 la L3. Ele stochează obiecte de diferite dimensiuni, metadate și mase de indicii.

În esență, arhitectura este un sistem de cache-uri, dar special conceput pentru a lucra cu obiecte. Nivelul pedei pe care se află un obiect depinde de cât de des este utilizat. Dacă unul dintre niveluri "se umple", sistemul activează un mecanism asemănător "colectorilor de gunoi" din limbajele Java sau Go. Acesta analizează care obiecte sunt folosite mai rar decât celelalte și le mută automat între niveluri.

Zippads funcționează pe baza Hotpads — arhivează și dezarhivează datele care intră sau ies din ultimele două niveluri ale ierarhiei — pede L3 și memoria principală. În primele două pede, datele sunt stocate în forma lor neschimbată.

Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect

Zippads comprimă obiectele al căror volum nu depășește 128 de octeți. Obiectele mai mari sunt împărțite în fragmente, care sunt apoi plasate în diferite regiuni de memorie. Așa cum au scris dezvoltatorii, această abordare crește coeficientul de utilizare eficientă a memoriei.

Pentru comprimarea obiectelor se aplică algoritmul COCO (Cross-Object COmpression), despre care vom vorbi în continuare, deși sistemul poate funcționa și cu Base-Delta-Immediate sau FPC. Algoritmul COCO reprezintă un tip de compresie diferențială (compresie diferențială). Acesta compară obiectele cu cele „de bază” și elimină biții repetitivi — vezi schema de mai jos:

Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect

Conform inginerilor de la MIT, ierarhia lor de memorie orientată pe obiecte este cu 17% mai performantă decât abordările clasice. Ea este mult mai apropiată de arhitectura aplicațiilor moderne, astfel că noua metodă are potențial.

Se așteaptă ca tehnologia să fie folosită în primul rând de companii care lucrează cu big data și algoritmi de învățare automată. O altă direcție potențială sunt platformele cloud. Furnizorii de IaaS vor putea lucra mai eficient cu virtualizarea, sistemele de stocare a datelor și resursele de calcul.

Resursele și sursele noastre suplimentare:

Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect „Cum construim IaaS”: materiale despre activitatea 1cloud

Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect Evoluția arhitecturii cloud 1cloud
Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect Serviciul de stocare obiectual în 1cloud

Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect Atacuri potențiale asupra HTTPS și metode de protecție împotriva lor
Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect Ce asemănări și diferențe există între abordările Continuous Delivery și Continuous Integration
Cum funcționează comprimarea în arhitectura de memorie orientată pe obiect Cum să protejezi un server pe internet: experiența 1cloud

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster