Como funciona a compressão na arquitetura de memória orientada a objetos

Uma equipe de engenheiros do MIT desenvolveu uma hierarquia de memória orientada a objetos para um trabalho mais eficiente com dados. Neste artigo, exploramos como ela funciona.

Como funciona a compressão na arquitetura de memória orientada a objetos
/ PxHere / PD

Como é sabido, o aumento do desempenho dos CPUs modernos não é acompanhado por uma redução correspondente na latência de acesso à memória. A diferença nas métricas pode chegar a 10 vezes de um ano para o outro (PDF, p.3). Como resultado, um gargalo surge, impedindo o uso pleno dos recursos disponíveis e desacelerando o processamento de dados.

A chamada latência de descompressão prejudica o desempenho. Em alguns casos, a preparação da descompressão dos dados pode levar até 64 ciclos de processador.

Para comparação: a adição e multiplicação de números de ponto flutuante levam não mais que dez ciclos. O problema é que a memória trabalha com blocos de dados de tamanho fixo, enquanto os aplicativos operam com objetos que podem conter diferentes tipos de dados e variar em tamanho. Para resolver isso, os engenheiros do MIT desenvolveram uma hierarquia de memória orientada a objetos que otimiza o processamento de dados.

Como funciona a tecnologia

No cerne da solução estão três tecnologias: Hotpads, Zippads e o algoritmo de compressão COCO.

Hotpads é uma hierarquia de memória de registradores superrápidos controlada por software (scratchpad). Esses registradores são chamados de pads e existem três deles — de L1 a L3. Eles armazenam objetos de diferentes tamanhos, metadados e arrays de ponteiros.

Essencialmente, a arquitetura é um sistema de caches, mas adaptado para trabalhar com objetos. O nível do pad onde um objeto está localizado depende de quão frequentemente ele é utilizado. Se um dos níveis ‘transborda’, o sistema inicia um mecanismo semelhante ao ‘coletor de lixo’ em linguagens como Java ou Go. Ele analisa quais objetos são usados com menos frequência e os move automaticamente entre os níveis.

Zippads opera com base nos Hotpads — arquivando e desarquivando dados que entram ou saem dos dois últimos níveis da hierarquia — pad L3 e a memória principal. Nos pads primeiro e segundo, os dados são armazenados inalterados.

Como funciona a compressão na arquitetura de memória orientada a objetos

O Zippads comprime objetos com volume de até 128 bytes. Objetos maiores são divididos em partes que são colocadas em diferentes áreas de memória. Como afirmam os desenvolvedores, essa abordagem aumenta a eficiência do uso da memória.

Para comprimir objetos, é utilizado o algoritmo COCO (Cross-Object COmpression), que será detalhado a seguir, embora o sistema também possa funcionar com Base-Delta-Immediate ou FPC. O algoritmo COCO representa uma forma de compressão diferencial (differential compression). Ele compara objetos a um "base" e remove bits duplicados — veja o diagrama abaixo:

Como funciona a compressão na arquitetura de memória orientada a objetos

Segundo engenheiros do MIT, sua hierarquia de memória orientada a objetos é 17% mais eficiente do que abordagens clássicas. Ela se aproxima mais da arquitetura de aplicações modernas, portanto, o novo método possui potencial.

Espera-se que, em primeiro lugar, a tecnologia comece a ser utilizada por empresas que trabalham com grandes dados e algoritmos de aprendizado de máquina. Outro potencial a ser explorado são as plataformas em nuvem. Provedores de IaaS terão a capacidade de operar de forma mais eficiente com virtualização, sistemas de armazenamento e recursos computacionais.

Nossos recursos e fontes adicionais:

Como funciona a compressão na arquitetura de memória orientada a objetos «Como construímos IaaS»: materiais sobre o trabalho da 1cloud

Como funciona a compressão na arquitetura de memória orientada a objetos A evolução da arquitetura em nuvem da 1cloud
Como funciona a compressão na arquitetura de memória orientada a objetos Serviço de armazenamento de objetos na 1cloud

Como funciona a compressão na arquitetura de memória orientada a objetos Ataques potenciais ao HTTPS e formas de proteção contra eles
Como funciona a compressão na arquitetura de memória orientada a objetos Semelhanças e diferenças entre as abordagens de Continuous Delivery e Continuous Integration
Como funciona a compressão na arquitetura de memória orientada a objetos Como proteger um servidor na internet: a experiência da 1cloud

Fonte: habr.com

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster