Com funciona la compressió a l'arquitectura de memòria orientada a objectes

Un equip d'enginyers del MIT va desenvolupar una jerarquia de memòria orientada a objectes per treballar amb dades de manera més eficient. A l'article entenem com està organitzat.

Com funciona la compressió a l'arquitectura de memòria orientada a objectes
/ PxAquí /PD

Com sabeu, el creixement del rendiment de les CPU modernes no va acompanyat d'una disminució corresponent de la latència en accedir a la memòria. La diferència en el canvi d'indicadors d'un any a l'altre pot arribar fins a 10 vegades (PDF, pàgina 3). Com a resultat, apareix un coll d'ampolla, que no permet l'ús total dels recursos disponibles i alenteix el processament de dades.

La penalització de rendiment és l'anomenat retard de descompressió. En alguns casos, la descompressió preparatòria de dades pot trigar fins a 64 cicles de processador.

Per comparació: suma i multiplicació de nombres de coma flotant ocupar no més de deu cicles. El problema és que la memòria funciona amb blocs de dades de mida fixa, mentre que les aplicacions operen amb objectes que poden contenir diferents tipus de dades i difereixen entre si en mida. Per resoldre el problema, els enginyers del MIT van desenvolupar una jerarquia de memòria orientada a objectes que optimitza el processament de dades.

Com funciona la tecnologia

La solució es basa en tres tecnologies: Hotpads, Zippads i l'algoritme de compressió COCO.

Els hotpads són una jerarquia de programari de memòria de registre de bloc de notes (bloc de notes). Aquests registres s'anomenen pads (pads) i n'hi ha tres: de L1 a L3. Emmagatzemen objectes de diferents mides, metadades i matrius de punters.

En essència, l'arquitectura és un sistema de memòria cau, però afinat per treballar amb objectes. El nivell del coixinet on es troba l'objecte depèn de la freqüència amb què s'utilitza. Si un dels nivells "desborda", el sistema activa un mecanisme similar als "recollidors d'escombraries" a Java o Go. Analitza quins objectes s'utilitzen amb menys freqüència que altres i els mou automàticament entre nivells.

Zippads funciona sobre la base de Hotpads: arxiva i descomprimeix les dades que entren o surten dels dos últims nivells de la jerarquia: el bloc L3 i la memòria principal. Al primer i al segon bloc, les dades s'emmagatzemen sense canvis.

Com funciona la compressió a l'arquitectura de memòria orientada a objectes

Zippads comprimeix objectes fins a 128 bytes. Els objectes més grans es divideixen en parts, que després es col·loquen en diferents àrees de la memòria. Tal com escriuen els desenvolupadors, aquest enfocament augmenta el coeficient de la memòria utilitzada amb eficàcia.

Per comprimir objectes s'utilitza l'algoritme COCO (Cross-Object COmpression), del qual parlarem més endavant, tot i que el sistema és capaç de treballar amb Base-Delta-Immediata o Fundació Politècnica de Catalunya. L'algorisme COCO és una variació de la compressió diferencial (compressió diferencial). Compara objectes amb "base" i elimina els bits duplicats; vegeu el diagrama següent:

Com funciona la compressió a l'arquitectura de memòria orientada a objectes

Segons els enginyers del MIT, la seva jerarquia de memòria orientada a objectes és un 17% més ràpida que els enfocaments clàssics. És molt més proper en la seva estructura a l'arquitectura de les aplicacions modernes, de manera que el nou mètode té potencial.

S'espera que, en primer lloc, les empreses que treballen amb big data i algorismes d'aprenentatge automàtic puguin començar a utilitzar la tecnologia. Una altra direcció potencial són les plataformes en núvol. Els proveïdors d'IaaS podran treballar de manera més eficient amb la virtualització, els sistemes d'emmagatzematge i els recursos informàtics.

Els nostres recursos i recursos addicionals:

Com funciona la compressió a l'arquitectura de memòria orientada a objectes "Com construïm IaaS": materials sobre el treball d'1cloud

Com funciona la compressió a l'arquitectura de memòria orientada a objectes L'evolució de l'arquitectura del núvol 1cloud
Com funciona la compressió a l'arquitectura de memòria orientada a objectes Servei d'emmagatzematge d'objectes a 1cloud

Com funciona la compressió a l'arquitectura de memòria orientada a objectes Potencials atacs a HTTPS i com protegir-se contra ells
Com funciona la compressió a l'arquitectura de memòria orientada a objectes Quines són les similituds i diferències entre els enfocaments de lliurament continu i d'integració contínua
Com funciona la compressió a l'arquitectura de memòria orientada a objectes Com protegir un servidor a Internet: experiència 1cloud

Font: www.habr.com

Afegeix comentari