No início deste ano, publicamos Memória Persistente Intel Optane DC dados em nossa revisão do Supermicro SuperServer 1029U-TN10RT plataforma. Supermicro foi um dos primeiros a lançar com suporte de memória persistente da Intel e o sistema 2U de processador duplo fez um ótimo trabalho como um banco de teste de memória persistente. Observar a velocidade da memória persistente Optane DC na maneira tradicional de armazenamento em bloco é instrutivo, mas o valor real da memória persistente é revelado por aplicativos que podem aproveitar nativamente esse novo meio, colocando dados de forma inteligente em DRAM, memória persistente ou armazenamento integrado como o necessidades de aplicação. Para entender melhor o perfil de desempenho da memória persistente Optane DC, colocamos o servidor Supermicro para trabalhar usando uma plataforma NoSQL líder, Aerospike.
No início deste ano, publicamos Memória Persistente Intel Optane DC dados em nossa revisão do Supermicro SuperServer 1029U-TN10RT plataforma. Supermicro foi um dos primeiros a lançar com suporte de memória persistente da Intel e o sistema 2U de processador duplo fez um ótimo trabalho como um banco de teste de memória persistente. Observar a velocidade da memória persistente Optane DC na maneira tradicional de armazenamento em bloco é instrutivo, mas o valor real da memória persistente é revelado por aplicativos que podem aproveitar nativamente esse novo meio, colocando dados de forma inteligente em DRAM, memória persistente ou armazenamento integrado como o necessidades de aplicação. Para entender melhor o perfil de desempenho da memória persistente Optane DC, colocamos o servidor Supermicro para trabalhar usando uma plataforma NoSQL líder, Aerospike.
Módulos de memória persistente Intel Optane DC no servidor Supermicro
O que é Aerospike?
O Aerospike fornece um sistema de gerenciamento de banco de dados distribuído, altamente escalável e não relacional para cargas de trabalho exigentes de leitura/gravação envolvendo dados operacionais. Ele foi projetado para fornecer tempos de resposta extremamente rápidos e previsíveis para acessar conjuntos de dados que abrangem bilhões de registros em bancos de dados de 10 a 100 TB. O Aerospike capacita uma ampla variedade de aplicações estratégicas, incluindo prevenção de fraudes, pagamentos digitais, mecanismos de recomendação, lances em tempo real e muito mais. Os clientes da Aerospike incluem grandes nomes como Adobe, Airtel, FlipKart, Kayak, Nielsen, PayPal e Wayfair.
Dependendo do caso de uso e do conjunto de dados, o Aerospike pode ser implantado em várias configurações que otimizam os recursos do sistema para um caso de uso. O Aerospike pode ser iniciado com dados na memória ou indexado na memória com dados no SSD ou indexado no SSD com dados no SSD. Recentemente, a Aerospike lançou uma nova configuração que aproveita a memória persistente Optane DC da Intel no modo AppDirect. O índice é armazenado no PMEM com os dados no SSD. Este novo modo expande a capacidade do Aerospike, mantendo o desempenho muito próximo ao índice na memória com dados no SSD. Esse novo modo não apenas fornece latências abaixo de milissegundos, mas também é possível reiniciar completamente o Aerospike sem reconstruções de índice primário.
Ao aplicar diferentes tipos de cargas de trabalho em diferentes configurações do Aerospike, é possível avaliar os benefícios e o desempenho da utilização da memória persistente Intel Optane DC em um SuperMicro SuperServer. Executar e comparar benchmarks com um índice em memória/dados na configuração do SSD e um índice em PMEM/dados no SSD fornece as informações para fazer uma escolha informada sobre o uso de memória persistente versus DRAM. Há uma configuração adicional que pode fornecer informações de desempenho adicionais para memória persistente. Embora o recurso índice no PMEM e dados no PMEM não tenha sido liberado, existe uma forma de configurar o PMEM no servidor para rodar com índice no PMEM e rodar uma parte do PMEM configurado como um dispositivo de bloco para dar uma ideia do possibilidades de desempenho para índice em PMEM e dados em PMEM.
Configuração NoSQL do Aerospike
Três cargas de trabalho diferentes foram aplicadas a cada uma das três configurações diferentes. O Aerospike Java Benchmark gerou uma carga de trabalho de leitura/gravação 50/50, uma carga de trabalho somente leitura e uma carga de trabalho somente gravação de 4 servidores clientes. Cada teste consistia em várias fases:
- Fase de ingestão – Carregando dados no banco de dados.
- Fase de aquecimento – execute uma carga de gravação por duas horas para criar um estado estável para o banco de dados.
- Fase de teste – execute a carga de trabalho real para o teste por uma hora.
Antes de executar qualquer teste, um conjunto de chaves e tamanho de objeto apropriados para os dados foram selecionados. Embora o Aerospike tenha uma grande variedade de tamanhos de objeto, de alguns bytes a um milhão de bytes, o conjunto de chaves e o tamanho do objeto foram selecionados para testar o hardware do servidor e demonstrar o desempenho das configurações do PMEM. Tamanhos de objetos maiores podem criar um gargalo de rede e não demonstrar totalmente o poder da memória persistente Optane DC. Portanto, um tamanho de objeto de 440 bytes foi usado para todos os testes.
O tamanho do conjunto de chaves foi limitado pela quantidade de memória usada para o índice na memória/dados na configuração do SSD. O índice na configuração de memória foi limitado a um conjunto de dados de 4 bilhões de objetos. Embora o índice no PMEM pudesse suportar a capacidade de 15.5 bilhões de chaves, apenas 4 bilhões de chaves foram usadas para uma melhor comparação com o índice no teste de memória. Os conjuntos finais de testes foram executados com índice em PMEM e dados em PMEM. Como o servidor tinha um total de 1.5 TB de PMEM, apenas um bilhão de chaves foram usadas para esses testes.
Configuração de hardware
A configuração de hardware inclui dois componentes principais. O único servidor de banco de dados abriga a memória persistente do PC Intel Optane. Os quatro servidores clientes geram a carga no servidor de banco de dados.
Servidor de banco de dados
- Chassi – SuperMicro Ultra 1U SYS-1029U-TN10RT
- CPU
- 2 x Intel Xeon Scalable 8268 (2.9 GHz, 24C)
- 2 x Intel Xeon Scalable 8280 (2.7 GHz, 28C)
- Armazenamento – 10 x SSD Intel DC P4510 2TB NVMe, 1DWPD
- DRAM – 12 x DDR32-4 de 2933 GB
- Memória persistente – 12 x 128 GB DDR4-2666 Intel Optane DC PMMs
- Rede – 100 GbE
- SO – Fedora 29
servidores cliente
- Chassi – Dell R740xd
- CPU – 2 x Intel Xeon escalável 6130
- RAM – 256 GB
- Rede – 2 x 25 GbE
- SO – Ubuntu – 18.04
- Software – Aerospike Enterprise 4.5.1
- Gerador de Carga – Aerospike Java Benchmark (Aerospike Java Client 4.4.0)
Resultados de desempenho do Aerospike
Conforme observado, executamos o teste em várias configurações de carga de trabalho, bem como no local do índice e do banco de dados. Além disso, usamos dois conjuntos diferentes de CPUs escalonáveis Intel Xeon de segunda geração. Executamos tanto o 8268 quanto o 8280 no servidor de banco de dados, sendo as CPUs 8280 a CPU Intel de maior capacidade que oferece suporte à memória persistente Optane DC. Na velocidade de clock bruta, o 8280 oferece um aumento de 12 GHz em relação ao 8268, ou 8.6% de aumento no desempenho. Embora não esteja nas tabelas abaixo, deve-se observar que, em termos de qualidade de serviço, todos os resultados de latência para os testes foram iguais ou próximos a 100% abaixo dos milissegundos no servidor.
Índice na memória, dados em SSDs NVMe
Atividade | Operações de taxa de transferência Intel 8268 |
Operações de taxa de transferência Intel 8280 |
---|---|---|
Ler/escrever 50/50 | 2,100,000 | 2,298,000 |
Leia 100% | 2,240,000 | 2,720,000 |
Escreva 100% | 1,760,000 | 2,020,000 |
Embora saibamos que o 8280 oferece uma melhoria de 8.6% na velocidade de clock bruta em relação ao 8268, ver como isso se converte em melhoria de aplicativo é um objetivo central. Com o Aerospike, com o índice na memória e os dados nos SSDs NVMe, vimos as seguintes alterações nos itens de linha. O desempenho misto de leitura/gravação 50/50 aumentou 9.4%, 100% leu 21.4% e em 100% de gravação o desempenho aumentou 14.8%.
Índice na memória persistente Optane DC, dados em SSDs NVMe
Atividade | Operações de taxa de transferência Intel 8268 |
Operações de taxa de transferência Intel 8280 |
---|---|---|
Ler/escrever 50/50 | 2,000,000 | 2,252,000 |
Leia 100% | 2,200,000 | 2,630,000 |
Escreva 100% | 1,740,000 | 1,980,000 |
Como podemos ver nesses dados, mover os índices da DRAM para a memória persistente teve pouco impacto no desempenho transacional. No entanto, na produção, isso significa que, como o Aerospike pode usar memória persistente em vez de DRAM para índices, a restauração após a reinicialização de um nó de banco de dados é muito mais rápida, pois um grande pool de DRAM não precisa ir para SSDs para reconstruir. Há também uma economia de custo em caixas de alta densidade, já que os módulos de memória persistente Optane DC de 128 GB em teste são consideravelmente mais baratos do que os DIMMS de 128 GB.
Índice e dados na memória persistente Optane DC
Atividade | Operações de taxa de transferência Intel 8268 |
Operações de taxa de transferência Intel 8280 |
---|---|---|
Ler/escrever 50/50 | 2,600,000 | 2,866,000 |
Leia 100% | 2,810,000 | 3,100,000 |
Escreva 100% | 2,120,000 | 2,210,000 |
Conforme observado, a Aerospike anunciou, mas ainda não forneceu disponibilidade geral para a capacidade de executar os índices e o banco de dados na memória persistente Intel Optane DC. Dito isso, demonstramos a compilação de código atual que permite isso, o que mostra um aumento de aproximadamente 33% ou 600,000 operações por segundo na carga de trabalho mista.
Conclusão
A memória persistente Intel Optane DC é uma parte incrivelmente poderosa da hierarquia de dados. Colocando-se entre a RAM e o armazenamento, a encarnação da memória persistente da Intel finalmente traz o mainstream da tecnologia. Mas apenas ter acesso a uma nova tecnologia de armazenamento não é bom o suficiente, os aplicativos que podem aproveitar a memória persistente nativamente terão uma enorme vantagem competitiva. A flexibilidade que vemos com o Aerospike mostra que eles estavam prontos desde o início com suporte ao modo direto do aplicativo (armazenamento em bloco) para memória persistente Optane DC. Além disso, eles são líderes no mundo NoSQL quando se trata de manter índices e dados nos módulos de memória persistente. Embora o último ainda seja uma visão emergente, os primeiros resultados parecem muito promissores.
Inscreva-se no boletim informativo StorageReview