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

Un equipo de ingenieros del MIT ha desarrollado una jerarquía de memoria orientada a objetos para un manejo de datos más eficiente. En este artículo, examinamos cómo está estructurada.

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

Como se sabe, el aumento del rendimiento de los CPU modernos no viene acompañado de una reducción correspondiente en la latencia de acceso a la memoria. La diferencia en los indicadores de un año a otro puede alcanzar hasta 10 veces (PDF, p.3). Como resultado, se genera un cuello de botella que impide aprovechar plenamente los recursos disponibles y ralentiza el procesamiento de datos.

El daño al rendimiento lo causa la llamada latencia de descompresión. En algunos casos, la preparación de la descompresión de datos puede tardar hasta 64 ciclos de CPU.

Para comparar: la suma y multiplicación de números de punto flotante toman no más de diez ciclos. El problema es que la memoria trabaja con bloques de datos de tamaño fijo, mientras que las aplicaciones operan con objetos que pueden contener diferentes tipos de datos y variar en tamaño. Para solucionar este problema, los ingenieros del MIT han desarrollado 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 un algoritmo de compresión COCO.

Hotpads es una jerarquía de memoria de registro de súper operación controlada por software (scratchpad). Estos registros se llaman pads y hay tres de ellos, de L1 a L3. En ellos se almacenan objetos de diferentes tamaños, metadatos y arreglos de punteros.

En esencia, la arquitectura es un sistema de cachés, pero diseñado para trabajar con objetos. El nivel de pad donde se encuentra un objeto depende de cuán frecuentemente se utiliza. Si uno de los niveles "se desborda", el sistema activa un mecanismo similar a los "recolectores de basura" en lenguajes como Java o Go. Este analiza qué objetos se usan con menos frecuencia y los mueve automáticamente entre los niveles.

Zippads funciona sobre la base de Hotpads: archiva y desarchiva los datos que entran o salen de los dos últimos niveles de la jerarquía: el pad L3 y la memoria principal. En los pads uno y dos, los datos se almacenan en su forma inalterada.

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

Zippads comprime objetos de hasta 128 bytes. Los objetos más grandes se dividen en partes que se almacenan en diferentes áreas de la memoria. Según los desarrolladores, este enfoque aumenta el coeficiente de memoria utilizada eficientemente.

Para la compresión de objetos se utiliza el algoritmo COCO (Compresión entre Objetos), del cual hablaremos a continuación, aunque el sistema también puede trabajar con Base-Delta-Immediate o FPC. El algoritmo COCO es una variante de compresión diferencial (compresión diferencial). Compara objetos con 'base' y elimina los bits repetidos; vea el esquema a continuación:

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

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

Se espera que primero la tecnología sea adoptada por empresas que trabajen con grandes volúmenes de datos y algoritmos de aprendizaje automático. Otra dirección potencial son las plataformas en la nube. Los proveedores de IaaS podrán trabajar de manera más efectiva con virtualización, sistemas de almacenamiento de datos y recursos computacionales.

Nuestros recursos y fuentes adicionales:

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

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

Cómo funciona la compresión en una arquitectura de memoria orientada a objetos Ataques potenciales a HTTPS y cómo protegerse de ellos
Cómo funciona la compresión en una arquitectura de memoria orientada a objetos Similitudes y diferencias entre los enfoques de Continuous Delivery y Continuous Integration
Cómo funciona la compresión en una arquitectura de memoria orientada a objetos Cómo proteger un servidor en Internet: experiencia de 1cloud

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster