Como funciona a compresión nunha arquitectura de memoria orientada a obxectos

Un equipo de enxeñeiros do MIT desenvolveu unha xerarquía de memoria orientada a obxectos para traballar con datos de forma máis eficiente. No artigo entenderemos como funciona.

Como funciona a compresión nunha arquitectura de memoria orientada a obxectos
/ stocks /PD

Como é sabido, o aumento do rendemento das CPU modernas non vai acompañado dunha diminución correspondente da latencia ao acceder á memoria. A diferenza nos cambios nos indicadores dun ano a outro pode chegar a ser ata 10 veces (PDF, páxina 3). Como resultado, xorde un pescozo de botella que impide o uso total dos recursos dispoñibles e ralentiza o procesamento de datos.

O dano no rendemento é causado polo chamado atraso de descompresión. Nalgúns casos, a descompresión de datos preparatoria pode levar ata 64 ciclos de procesador.

Para comparación: suma e multiplicación de números en coma flotante ocupar non máis de dez ciclos. O problema é que a memoria funciona con bloques de datos dun tamaño fixo, e as aplicacións operan con obxectos que poden conter diferentes tipos de datos e diferir en tamaño entre si. Para resolver o problema, os enxeñeiros do MIT desenvolveron unha xerarquía de memoria orientada a obxectos que optimiza o procesamento de datos.

Como funciona a tecnoloxía

A solución baséase en tres tecnoloxías: Hotpads, Zippads e o algoritmo de compresión COCO.

Hotpads son unha xerarquía controlada por software de memoria rexistrada de alta velocidade (bloc de notas). Estes rexistros chámanse almofadas e hai tres deles: de L1 a L3. Almacenan obxectos de diferentes tamaños, metadatos e matrices de punteiros.

Esencialmente, a arquitectura é un sistema de caché, pero adaptado para traballar con obxectos. O nivel da almofada no que se atopa o obxecto depende da frecuencia con que se use. Se un dos niveis "desborda", o sistema inicia un mecanismo similar aos "recolectores de lixo" nas linguaxes Java ou Go. Analiza cales son os obxectos que se usan con menos frecuencia que outros e móvenos automaticamente entre niveis.

Zippads funciona enriba de Hotpads: arquiva e desarquiva os datos que entran ou saen dos dous últimos niveis da xerarquía: o pad L3 e a memoria principal. O primeiro e o segundo pad almacenan datos sen cambios.

Como funciona a compresión nunha arquitectura de memoria orientada a obxectos

Zippads comprime obxectos cuxo tamaño non supera os 128 bytes. Os obxectos máis grandes divídense en partes, que despois se colocan en diferentes áreas da memoria. Segundo escriben os desenvolvedores, este enfoque aumenta o coeficiente de memoria utilizada de forma eficaz.

Para comprimir obxectos utilízase o algoritmo COCO (Cross-Object COmpression), do que comentaremos máis adiante, aínda que o sistema tamén pode traballar con Base-Delta-Inmediato ou FPC. O algoritmo COCO é un tipo de compresión diferencial (compresión diferencial). Compara obxectos coa "base" e elimina os bits duplicados; vexa o seguinte diagrama:

Como funciona a compresión nunha arquitectura de memoria orientada a obxectos

Segundo os enxeñeiros do MIT, a súa xerarquía de memoria orientada a obxectos é un 17% máis produtiva que os enfoques clásicos. Está moito máis próximo no deseño á arquitectura das aplicacións modernas, polo que o novo método ten potencial.

Espérase que as empresas que traballan con big data e algoritmos de aprendizaxe automática comecen a utilizar a tecnoloxía primeiro. Outra dirección potencial son as plataformas na nube. Os provedores de IaaS poderán traballar de forma máis eficiente coa virtualización, os sistemas de almacenamento de datos e os recursos informáticos.

Os nosos recursos e fontes adicionais:

Como funciona a compresión nunha arquitectura de memoria orientada a obxectos “Como construímos IaaS”: materiais sobre o traballo de 1cloud

Como funciona a compresión nunha arquitectura de memoria orientada a obxectos Evolución da arquitectura 1cloud cloud
Como funciona a compresión nunha arquitectura de memoria orientada a obxectos Servizo de almacenamento de obxectos en 1cloud

Como funciona a compresión nunha arquitectura de memoria orientada a obxectos Potenciais ataques a HTTPS e como protexerse contra eles
Como funciona a compresión nunha arquitectura de memoria orientada a obxectos En que son similares e diferentes os enfoques de entrega continua e integración continua?
Como funciona a compresión nunha arquitectura de memoria orientada a obxectos Como protexer un servidor en Internet: experiencia 1cloud

Fonte: www.habr.com

Engadir un comentario