Cómo funciona la compresión en la arquitectura de memoria orientada a objetos

Un equipo de ingenieros del MIT desarrolló una jerarquía de memoria orientada a objetos para trabajar con datos de manera más eficiente. En el artículo entendemos cómo está organizado.

Cómo funciona la compresión en la arquitectura de memoria orientada a objetos
/ PxHere /PD

Como sabe, el crecimiento del rendimiento de las CPU modernas no va acompañado de una disminución correspondiente de la latencia al acceder a la memoria. La diferencia en el cambio de los indicadores de un año a otro puede llegar hasta 10 veces (PDF, página 3). Como resultado, aparece un cuello de botella que no permite el uso completo de los recursos disponibles y ralentiza el procesamiento de datos.

La penalización de rendimiento es el llamado retraso de descompresión. En algunos casos, la descompresión de datos preparatoria puede tardar hasta 64 ciclos de procesador.

A modo de comparación: suma y multiplicación de números de punto flotante ocupar no más de diez ciclos. El problema es que la memoria trabaja con bloques de datos de un tamaño fijo, mientras que las aplicaciones operan con objetos que pueden contener diferentes tipos de datos y difieren entre sí en tamaño. Para resolver el problema, los ingenieros del MIT desarrollaron una jerarquía de memoria orientada a objetos que optimiza el procesamiento de datos.

Cómo funciona la tecnología

La solución se basa en tres tecnologías: Hotpads, Zippads y el algoritmo de compresión COCO.

Los hotpads son una jerarquía impulsada por software de memoria de registro de scratchpad (bloc de notas). Estos registros se denominan pads (pads) y hay tres, de L1 a L3. Almacenan objetos de diferentes tamaños, metadatos y matrices de punteros.

En esencia, la arquitectura es un sistema de caché, pero perfeccionado para trabajar con objetos. El nivel de la almohadilla en la que se encuentra el objeto depende de la frecuencia con la que se utilice. Si uno de los niveles se "desborda", el sistema activa un mecanismo similar a los "recolectores de basura" en Java o Go. Analiza qué objetos se usan con menos frecuencia que otros y los mueve automáticamente entre niveles.

Zippads funciona sobre la base de Hotpads: archiva y descomprime datos que entran o salen de los dos últimos niveles de la jerarquía: el teclado L3 y la memoria principal. En los pads primero y segundo, los datos se almacenan sin cambios.

Cómo funciona la compresión en la arquitectura de memoria orientada a objetos

Zippads comprime objetos hasta 128 bytes. Los objetos más grandes se dividen en partes, que luego se colocan en diferentes áreas de la memoria. Como escriben los desarrolladores, este enfoque aumenta el coeficiente de memoria utilizada de manera efectiva.

Para comprimir objetos se utiliza el algoritmo COCO (Cross-Object COmpression), del que hablaremos más adelante, aunque el sistema es capaz de trabajar con Base-Delta-Inmediato o FPC. El algoritmo COCO es una variación de la compresión diferencial (compresión diferencial). Compara los objetos con la "base" y elimina los bits duplicados; consulte el diagrama a continuación:

Cómo funciona la compresión en la arquitectura de memoria orientada a objetos

Según los ingenieros del MIT, su jerarquía de memoria orientada a objetos es un 17 % más rápida que los enfoques clásicos. Su estructura es mucho más cercana a la arquitectura de las aplicaciones modernas, por lo que el nuevo método tiene potencial.

Se espera que, en primer lugar, las empresas que trabajan con big data y algoritmos de aprendizaje automático puedan comenzar a utilizar la tecnología. Otra dirección potencial son las plataformas en la nube. Los proveedores de IaaS podrán trabajar de manera más eficiente con virtualización, sistemas de almacenamiento y recursos informáticos.

Nuestros recursos y recursos adicionales:

Cómo funciona la compresión en la arquitectura de memoria orientada a objetos "Cómo construimos IaaS": materiales sobre el trabajo de 1cloud

Cómo funciona la compresión en la arquitectura de memoria orientada a objetos La evolución de la arquitectura en la nube 1cloud
Cómo funciona la compresión en la arquitectura de memoria orientada a objetos Servicio de almacenamiento de objetos en 1cloud

Cómo funciona la compresión en la arquitectura de memoria orientada a objetos Ataques potenciales a HTTPS y cómo protegerse contra ellos
Cómo funciona la compresión en la arquitectura de memoria orientada a objetos ¿Cuáles son las similitudes y diferencias entre los enfoques de entrega continua e integración continua?
Cómo funciona la compresión en la arquitectura de memoria orientada a objetos Cómo proteger un servidor en Internet: experiencia 1cloud

Fuente: habr.com

Añadir un comentario