Quando a memória persistente Intel® Optane™ (PMem) foi lançada, sabíamos que ela alteraria radicalmente a maneira como os negócios são feitos no datacenter, mas não podíamos prever totalmente o número de maneiras pelas quais ela seria. Como acontece com todas as novas tecnologias, conhecíamos os casos de uso iniciais para memória persistente, mas também sabíamos que casos de uso adicionais apareceriam assim que se tornassem amplamente disponíveis.
Quando a memória persistente Intel® Optane™ (PMem) foi lançada, sabíamos que ela alteraria radicalmente a maneira como os negócios são feitos no datacenter, mas não podíamos prever totalmente o número de maneiras pelas quais isso aconteceria. Como acontece com todas as novas tecnologias, conhecíamos os casos de uso iniciais para memória persistente, mas também sabíamos que casos de uso adicionais apareceriam assim que se tornassem amplamente disponíveis.
Em nossas discussões com as empresas, sabíamos que elas precisavam dos ganhos de desempenho que os sistemas in-memory ofereciam para se manterem competitivas. O uso de DRAM para isso tinha limitações de custo e tamanho que dificultavam a consideração do tamanho dos dados que desejavam armazenar na memória. Neste artigo, veremos como o Intel Optane PMem está sendo aproveitado por Hazelcast e MemVerge para superar as limitações da DRAM para criar uma construção de infraestrutura que oferece suporte a aplicativos rápidos e em tempo real que usam grandes conjuntos de dados.
Juntamos forças com MemVerge, Hazelcast, Intel e Dell Technologies para demonstrar como a infraestrutura pode ser implantada para permitir análises em tempo real. Especificamente, configuramos um ambiente que tinha um fluxo de entrada rápida de dados em tempo real que eram ingeridos e transformados antes de serem armazenados em um data mart na memória. O principal objetivo era mostrar como o Intel Optane PMem é essencial para permitir sistemas em tempo real em larga escala e que software adicional é necessário para permitir que o Intel Optane PMem atinja todo o seu potencial.
Antes de destacar os testes que fizemos, aqui está uma breve atualização sobre Intel Optane PMem, Hazelcast, e MemVerge.
Intel Optane PMem
A memória persistente, como um conceito, existe desde meados da década de 1980, mas só se tornou um produto real utilizável para data centers comerciais em 2018, quando a Intel começou a lançar seu Intel Módulos de memória persistente Optane (PMMs). O Intel Optane PMem é um divisor de águas para o setor, pois é um pouco mais lento que a DRAM, mas é consideravelmente mais rápido que as unidades de estado sólido (SSDs).
Embora seja mais lento que o DRAM, o Intel Optane PMem tem algumas vantagens distintas sobre ele, pois é consideravelmente mais barato, vem em tamanhos de capacidade de memória maiores do que o DRAM tradicional; e, como o nome sugere, quando ativado no modo direto no aplicativo, é persistente – o que significa que os dados armazenados nele sobreviverão a uma queda de energia ou reinicialização do dispositivo no qual residem.
Um dos segredos da baixa latência do Intel Optane PMem é que ele reside no barramento de memória, o que permite que ele tenha acesso aos dados como DRAM.
Embora o DDR4 tenha uma capacidade máxima teórica por módulo de 128 GB, as capacidades mais usadas estão entre 4 GB e 64 GB (mas mesmo os módulos de 64 GB, embora disponíveis, não são comumente usados).
A Intel está enviando atualmente o Intel Optane PMem em módulos de 128 GB, 256 GB e 512 GB. Isso fornece até 16 vezes a capacidade de DRAM.
Em uma base de custo por GB, o Intel Optane PMem é cerca de metade do DRAM. Devido à sua maior capacidade e menor preço, um servidor pode ter mais dados de baixa latência disponíveis para aplicações a um custo menor do que um servidor apenas com DRAM. E, como você pode ver em nossos testes, para muitos aplicativos, a diferença de latência entre DRAM e PMem no uso real é insignificante.
Embora o nome da tecnologia inclua a palavra “persistência”, a persistência dos dados que residem no Intel Optane PMem é frequentemente negligenciada e, no passado, não foi totalmente explorada. A MemVerge, no entanto, desenvolveu maneiras de aproveitar a persistência de dados para oferecer serviços adicionais às empresas.
MemVerge
Com o grande poder que o Intel Optane PMem fornece, vem a responsabilidade de usá-lo com sabedoria, e é aí que entra o MemVerge. Métricas de CPU, disco e rede, o MemVerge® Memory Machine™ é focado no monitoramento, gerenciamento e utilização de DRAM e Intel Optane PMem.
Um dos primeiros desafios do Intel Optane PMem foi determinar como permitir que os aplicativos o usassem. Sem o MemVerge Memory Machine, você pode usar o Intel Optane PMem como uma alternativa à DRAM, mas não como um substituto, pois o Intel Optane PMem usa uma API especializada. O MemVerge abstrai essa API para que o Intel Optane PMem se pareça com a DRAM para todos os aplicativos. Usando a Memory Machine, o Intel Optane PMem é apresentado aos aplicativos da mesma forma que a DRAM é para os aplicativos. Ao fazer isso, os aplicativos existentes podem usar o Intel Optane PMem sem precisar ser reprojetados, economizando assim para a empresa o custo de reprogramar aplicativos e, mais importante, o tempo que levaria para fazê-lo. Por meio de sua tecnologia patenteada, a Memory Machine cria um pool de memória e, em seguida, classifica o Intel Optane PMem e DRAM para maximizar seu impacto nos aplicativos, movendo os dados entre os dois conforme necessário para otimizar o desempenho do aplicativo.
O inovador ZeroIO da Memory Machine permite instantâneos de memória para memória (ou seja, instantâneos dos dados contidos na DRAM para Intel Optane PMem), o que, na verdade, torna a DRAM persistente.
No passado, éramos forçados a armazenar instantâneos na memória no armazenamento tradicional, um processo que podia levar até uma hora. Usando ZeroIO, no entanto, a mesma operação pode ocorrer, sem interrupções, em questão de segundos.
MemVerge utiliza ZeroIO para fornecer outros serviços de dados de memória. O Time Travel permite que um aplicativo reverta para instantâneos tirados anteriormente e, intimamente associado a esse recurso, está o AutoSave, que tira instantâneos automaticamente em intervalos baseados em tempo. Nos casos em que os dados armazenados na memória precisam ser movidos para outro servidor físico, um instantâneo ZeroIO pode ser movido para ele.
O monitoramento da memória, bem como a facilitação dos serviços acima, é feito através do MemVerge Memory Machine Management Center (M3C).
Embora tenhamos mencionado que o Memory Machine é usado com bancos de dados, ele também oferece suporte a uma ampla variedade de aplicativos: do Maya 3D da Autodesk para animação e renderização ao TensorFlow (uma estrutura de aprendizado de máquina), bem como outros aplicativos, incluindo Hazelcast, um produto que estaremos destacando neste artigo.
Hazelcast
A Hazelcast é uma importante inovadora e líder no crescente campo de plataformas de computação in-memory. Sua plataforma é usada por organizações financeiras, de comércio eletrônico e outros tipos de organizações em que informações em tempo real são essenciais; por exemplo, para detecção de fraude e para auxiliar na tomada de decisões comerciais.
O Hazelcast oferece suporte a aplicativos rápidos em dois níveis. Primeiro, ele oferece um armazenamento na memória que distribui dados por vários servidores em um cluster para permitir um pool virtual escalável de memória rápida. O processo de adicionar mais dados envolve simplesmente adicionar outro servidor ao cluster. Em segundo lugar, o Hazelcast inclui um mecanismo de computação que lida com a lógica do aplicativo dividida em subtarefas que são distribuídas por todas as CPUs em um cluster de servidores. Isso não apenas alavanca o poder de computação coletivo do cluster, mas também permite o processamento paralelo de dados de maneira eficiente e de alta velocidade (isso inclui transformação, enriquecimento, agregação e análise). Como o Hazelcast pode processar dados imediatamente após sua criação por meio de seus recursos de streaming de dados, é útil para criar a próxima geração de aplicativos em tempo real.
Análise de dados em tempo real
Os sistemas em tempo real são impulsionados principalmente por duas características principais: velocidade e escala. Enquanto a velocidade garante que você possa acompanhar os dados que estão sendo criados, a escala garante que você possa lidar com o volume desses dados. Para complicar ainda mais as coisas, os dados podem vir de muitas fontes diferentes. Obviamente, velocidades mais altas e maior escala equivalem a um custo mais alto, a menos que sejam utilizados meios inovadores, como a substituição de DRAM cara por Intel Optane PMem mais acessível.
Os recursos de análise de dados em tempo real fornecem informações imediatas sobre uma variedade de situações que empresas e organizações podem enfrentar e fornecem as informações de que precisam para responder a elas. Por exemplo, a conformidade com iniciativas como Basileia III, em que os bancos são obrigados a manter maior liquidez do que antes, significa que eles têm menos dinheiro para alavancar para gerar receita. Ao mesmo tempo, devem provar que seus riscos diários são compreendidos para que não sejam penalizados por auditores e supervisores com exigências de liquidez ainda maiores. Por ter sistemas em tempo real para gerenciamento de risco e conformidade, os bancos podem ter visualizações instantâneas de suas posições de negociação para entender e relatar com mais eficiência sua exposição ao risco.
Para destacar outro exemplo, os sistemas de análise de negociação de ações rastreiam as negociações e as apresentam de forma analisável em tempo real. Esses sistemas podem justificar suas altas despesas devido ao claro retorno sobre o investimento (ROI) por meio das receitas obtidas com a negociação de ações.
Cenário de teste
O aplicativo que escolhemos usar para investigar essas tecnologias é baseado em uma base de código de monitoramento comercial criada pela Hazelcast para mostrar como a "análise sob demanda" econômica é uma solução adequada alternativa aos sistemas de tempo real de alto custo.
Como este foi um projeto de pesquisa de pequena escala, fizemos algumas compensações que tornaram nosso ambiente de teste não refletindo totalmente um ambiente de produção típico. Por exemplo, o poder de computação dos servidores Dell EMC que usamos era muito mais poderoso do que nossa fonte de dados disponível precisava, então não aproveitamos ao máximo o poder de CPU disponível neles. Além disso, para simplificar, não otimizamos o sistema externo de entrega de dados. Em um sistema de produção, todos os componentes teriam sido otimizados e ajustados para melhorar o desempenho e a economia dessa configuração.
Objetivos do teste
O aspecto mais crítico do nosso teste foi verificar se o Intel Optane PMem poderia sustentar um feed de dados em tempo real.
Evitamos testar as velocidades de acesso dos dados agregados/indexados em um data mart na memória que era suportado pelo Intel Optane PMem; em testes anteriores da MemVerge e Hazelcast, os benchmarks mostraram que as velocidades de acesso a dados foram muito próximas às da DRAM (em muitos casos, velocidades idênticas para leituras e gravações foram demonstradas) e, portanto, muito mais rápidas do que dados baseados em disco ou SSD acessos. Como sabíamos que as velocidades de acesso aos dados ofereciam uma vantagem sobre outras configurações arquitetônicas, concentramos nossos testes apenas no lado da ingestão.
Para nossos testes, geramos dados fictícios no servidor de origem de dados. Cada elemento de dados no feed de dados de entrada representava uma negociação de ações. O símbolo da ação, a quantidade, o preço e o tempo foram os valores mais críticos. Cada símbolo de ação foi usado várias vezes no conjunto de dados gerado para simular várias negociações em um dia para uma determinada ação. Essas negociações separadas foram então agregadas para fornecer um total de transações para um determinado símbolo de ação.
Os dados gerados foram armazenados no Apache Kafka devido à sua capacidade de capturar um fluxo rápido de dados. Cada registro do Kafka exigia 210 bytes, incluindo todos os metadados na carga útil. O Kafka foi configurado para executar três agentes separados, todos em uma única máquina de fonte de dados e com quatro partições em cada agente. Essa configuração, é claro, não seria usada em um ambiente de produção, pois não é realista ter uma máquina de fonte única para uma tecnologia distribuída; no entanto, era adequado para os propósitos de nossos testes.
Ambiente de teste
Usamos três servidores Dell EMC PowerEdge R750 e um servidor Dell EMC PowerEdge R74xd para nossos testes; três executaram os aplicativos analíticos usando MemVerge Memory Machine e Hazelcast, enquanto o quarto criou e armazenou os dados de teste.
Servidores de análise
Modelo | Dell EMC PowerEdge R750 |
Processadores duplos Intel® Xeon® Gold 6330 a 2 GHz (Ice Lake) 28 núcleos cada (56 no total, 112 com tecnologia Intel® Hyper-Threading) | |
DRAM | 16 DIMMs de 64 GB DRAM DDR4 1 TB por servidor |
Intel Optane PMem | 16 DIMMs de 128 GB Intel Optane PMem DDR-T Interface 2 TB por servidor |
Interface de rede | 10 GbE |
Software | Máquina de memória MemVerge 1.2 Plataforma Hazelcast 5.0 |
Servidor de fonte de dados
Modelo | Dell EMC PowerEdge R740xd |
CPUs | Processadores duplos Intel® Xeon® Gold 6140 a 2,3 GHz (Skylake) 18 núcleos cada ( 36 no total; 72 com tecnologia Intel® Hyper-Threading) |
DRAM | 12 DIMMs de 32 GB DRAM DDR4 (384 GB) 2 DIMMs de 16 GB NVDIMM DDR4 (32 GB) |
Intel Optane PMem | Não é necessário |
Interface de rede | 10 GbE |
Software | Apache Kafka 2.8 Ferramenta de geração de dados fornecida pela Hazelcast |
Durante nossos testes, descobrimos que a quantidade de DRAM nos servidores analíticos poderia ser significativamente menor; enquanto a DRAM era usada principalmente pelo sistema operacional, o aplicativo usava principalmente o Intel Optane PMem com apenas uma pequena quantidade de DRAM. Para otimizar a economia de custos, um mínimo absoluto de DRAM no servidor seria uma configuração razoável.
Resultados do teste
Criamos aproximadamente 5 bilhões de registros que foram armazenados no Kafka para criar a fonte de dados. Os aplicativos de ingestão em execução nos três servidores de aplicativos foram então iniciados para ingerir os dados nas três instâncias Hazelcast (um servidor Hazelcast por servidor Dell Technologies).
Testamos o aplicativo usando apenas DRAM e comparamos com o uso do Intel Optane PMem com MemVerge. Os resultados de nossos testes mostraram que, para cargas de trabalho predominantemente de gravação, observamos uma penalidade de desempenho de 32% ao usar apenas o Intel Optane PMem versus DRAM puro (242 K x 357 K). Mas ao usar a configuração Intel Optane PMem + DRAM, vimos apenas uma penalidade de 9%. Isso poderia ter sido reduzido ainda mais com um número maior de servidores no cluster para espalhar ainda mais as gravações. O custo extra de servidores adicionais pode ser compensado pela aquisição de CPUs de menor potência, pois a carga de trabalho fornecida não exploraria necessariamente toda a potência da CPU dessa configuração de hardware testada.
Configuração | Desempenho (registros por segundo) |
Somente DRAM | 357.000 |
Intel Optane PMem assistido com DRAM de 50 GB + máquina de memória | < td>325.000|
Apenas Intel Optane PMem + Memory Machine | 242.000 |
Consideramos o preço de cada uma das configurações que testamos, mas recusamos devido a possíveis flutuações no custo e outros fatores que poderiam tornar essas estimativas desatualizadas em breve. Independentemente dos custos definidos, no entanto, o Intel Optane PMem assistido com DRAM será significativamente menor do que um servidor baseado apenas em DRAM.
Interpretação do teste
Nossa principal conclusão de nossos testes foi que um cluster de servidores habilitados para Intel Optane PMem poderia funcionar quase na mesma velocidade que um cluster que usava apenas DRAM, mas a um custo significativamente menor .
Outra lição importante para nós foi que semanas ou meses de dados podem ser capturados e armazenados usando o Intel Optane PMem, que oferece às empresas a capacidade de não apenas analisar dados em tempo real, mas também ter dados disponíveis para alta velocidade análise de dados históricos. Isso abre oportunidades para analisar tendências e padrões que podem revelar informações adicionais usando ferramentas analíticas avançadas, como aprendizado de máquina (ML).
Em outras palavras, as empresas podem implantar um ambiente de análise em tempo real que abrange um amplo intervalo de tempo e explorar novas formas de análise, sem as compensações de custo ou velocidade ao implantar data warehouses ou data lakes.
Outros testes
Embora tivéssemos o ambiente configurado, também queríamos testar alguns dos outros recursos do MemVerge Memory Machine, em particular, seus recursos de instantâneo e recuperação. Felizmente, o Memory Machine tem integração com o cluster Hazelcast para que os instantâneos e a recuperação de instantâneos possam ser gerenciados diretamente no M3C.
Os instantâneos podem ser obtidos a qualquer momento sob demanda ou em um cronograma definido, e testamos os dois métodos durante as operações de pico do nosso cluster. Os instantâneos foram concluídos em segundos sem problemas ou afetando o desempenho da análise. Se algo tivesse acontecido com o cluster Hazelcast, como uma queda de energia, os dados poderiam ter sido recuperados usando um de nossos instantâneos.
A função de instantâneo não é útil apenas para proteção, mas também pode ser usada para aumentar a taxa de utilização dos servidores. Nas instituições financeiras, os servidores são muito utilizados durante o horário normal de negociação, mas ficam relativamente ociosos fora do horário comercial. Usando um esquema de inicialização a quente, a taxa de utilização dos servidores pode ser drasticamente aprimorada. Por exemplo, no final do dia de negociação, pode ser obtido um instantâneo do banco de dados de negociação. Então, quando o banco de dados de negociação é desligado, os servidores podem ser configurados para outras tarefas de processamento de dados, como mineração de dados. No início de um dia de negociação, o banco de dados de negociação pode ser restaurado rapidamente e as operações de negociação podem ser retomadas.
Conclusão
O Intel Optane PMem é uma tecnologia empolgante e transformadora que está começando a remodelar o datacenter, mas, como acontece com todas as outras tecnologias, felizmente não existe no vácuo. Empresas líderes e inovadoras, como Dell Technologies, Intel, MemVerge e Hazelcast, estão encontrando sinergias e começando a explorar essa nova tecnologia para encontrar seu verdadeiro potencial no datacenter: os módulos Intel Optane PMem são oferecidos por cerca de metade do custo da DRAM; A Dell Technologies tem servidores que suportam as grandes quantidades de capacidade de memória de baixa latência que o Intel Optane PMem fornece; O Hazelcast permite que os aplicativos aproveitem essas tecnologias em grande escala; e o MemVerge fornece serviços de monitoramento, gerenciamento e dados para o Intel Optane PMem e, ao abstrair a API DRAM, faz com que o Intel Optane PMem apareça como DRAM para os aplicativos existentes, permitindo que sejam executados sem serem modificados ou reprojetados.
Se todo o resto for igual, as empresas optariam por atividades em tempo real em vez de atividades em lote. Mas como nem tudo é igual, o processamento em lote costuma ser o padrão escolhido para evitar os custos associados ao processamento em tempo real. No entanto, como as expectativas dos clientes continuam aumentando em um mundo cada vez mais orientado para o tempo real, as empresas precisam encontrar novas maneiras de criar uma vantagem competitiva. Ao aproveitar as velocidades em tempo real sem sofrer os custos tradicionais da computação in-memory, as empresas líderes podem dar o salto com tecnologias como Intel Optane PMem, MemVerge e Hazelcast para criar soluções que as ajudem a responder às suas demandas e às de seus clientes , mais rápido do que nunca.
Hazelcast
MemVerge
Este relatório é patrocinado pela MemVerge. Todas as visões e opiniões expressas neste relatório são baseadas em nossa visão imparcial do(s) produto(s) em consideração. Intel, o logotipo da Intel e Intel Optane são marcas comerciais da Intel Corporation ou de suas subsidiárias.
Envolva-se com o StorageReview
Boletim informativo | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | TikTok | Feed RSS