Início Empreendimento Fungible FS1600 leva armazenamento em hiperescala para o data center

Fungible FS1600 leva armazenamento em hiperescala para o data center

by Haroldo Fritts

A Fungible está mudando a maneira como as plataformas de armazenamento são projetadas, removendo as limitações das arquiteturas de armazenamento existentes com o lançamento do Fungible Storage Cluster, nó de armazenamento de alto desempenho FSC 1600. O Fungible Storage Cluster oferece uma solução de armazenamento desagregado NVMe/TCP de alto desempenho e baixa latência que é totalmente transparente para aplicativos de alto nível. Alimentado pelo Fungible DPU™, o Fungible Storage Cluster (FSC) é uma plataforma de armazenamento all-flash desagregada de alto desempenho, segura e expansível.

A Fungible está mudando a maneira como as plataformas de armazenamento são projetadas, removendo as limitações das arquiteturas de armazenamento existentes com o lançamento do Fungible Storage Cluster, nó de armazenamento de alto desempenho FSC 1600. O Fungible Storage Cluster oferece uma solução de armazenamento desagregado NVMe/TCP de alto desempenho e baixa latência que é totalmente transparente para aplicativos de alto nível. Alimentado pelo Fungible DPU™, o Fungible Storage Cluster (FSC) é uma plataforma de armazenamento all-flash desagregada de alto desempenho, segura e expansível.

Fungível FS1600

Matriz flash fungível FS1600

Uma Unidade de Processamento de Dados (DPU) é essencialmente um sistema em um chip. Normalmente, uma DPU é composta por um microprocessador de vários núcleos, uma interface de rede e mecanismos de aceleração que descarregam tarefas centradas em dados, como rede, armazenamento, virtualização, segurança e funções analíticas. DPUs e SmartNICs continuam ganhando popularidade em centros de dados corporativos e de provedores de nuvem.

A FSC1600 fungível Cluster de armazenamento

O FS1600 é alimentado por duas unidades de processamento de dados fungíveis. Uma inovação exclusiva da Fungible, o DPU representa uma nova classe de microprocessadores projetados desde o início para oferecer desempenho e eficiência inigualáveis ​​na execução de serviços de infraestrutura.

Internos fungíveis FS1600

Internos fungíveis FS1600

Embora a maioria das plataformas de armazenamento seja baseada em x86, o FS1600 está baseado na tecnologia Fungible DPU fundamental. Projetado especificamente para executar cargas de trabalho centradas em dados com mais eficiência do que CPUs, o DPU permite que o FS1600 ofereça maior desempenho. O FS1600 apresenta uma taxa de leitura aleatória de 13M IOPS de desempenho de leitura de blocos brutos (4KB), taxa de transferência de 75 GB/s por nó e latências de leitura de +10μs para um desempenho muito mais eficiente do que os sistemas de armazenamento de conexão direta (DAS), oferecendo uma 96.5% de Percentual de Eficiência de Desempenho (PEP).

Fungível FS1600 completo por dentro

Os aceleradores de hardware DPU incluem compactação, codificação de eliminação, criptografia, expressão regular, inspeção profunda de pacotes e DMA, operando a uma taxa de linha de 800 Gb/s. Com a codificação de eliminação, se um nó falhar, os dados são reconstruídos usando paridade e blocos de dados de outros nós, enquanto o host fornece um caminho alternativo para acessar os dados por meio de caminhos múltiplos. O FS1600, compatível com NVMe/TCP e software de gerenciamento por meio de Container Storage Interface (CSI) para Kubernetes e Openstack para VMs, pode ser um substituto imediato para os sistemas de armazenamento existentes. Não há requisitos para agentes especiais que usam recursos da CPU do host; apenas um driver NVMe/TCP padrão é necessário. E os aplicativos existentes não requerem alterações.

Modelos de DPU S1 e F1

Existem dois modelos Fungible DPU: o S1 DPU e o F1 DPU. A família de processadores Fungible utiliza o mesmo co-design de hardware e software e compartilha o mesmo modelo de programação. No entanto, enquanto o F1 DPU é projetado para dispositivos autônomos de alto desempenho, como armazenamento, segurança, IA e servidores analíticos, o S1 DPU maximiza o desempenho dentro da área ocupada e do envelope de energia de um adaptador PCIe padrão.

DPU fungível FS1600

O Fungible S1 DPU é otimizado para combinar cálculos centrados em dados dentro dos nós do servidor e mover dados de forma eficiente entre os nós. As computações centradas em dados são caracterizadas pelo processamento dinâmico de fluxos de dados em altas taxas, normalmente por rede, segurança e pilhas de armazenamento.

Portas bak FS1600 fungíveis

Portas traseiras FS1600 fungíveis

O S1 DPU facilita o intercâmbio de dados entre os nós do servidor por meio de sua tecnologia TrueFabric™. TrueFabric é um protocolo de malha IP-over-Ethernet em grande escala que fornece largura de banda transversal total da rede com baixa média e latência de cauda, ​​QoS de ponta a ponta, conectividade sem congestionamento e segurança entre os nós do servidor. O protocolo TrueFabric é totalmente compatível com os padrões e interoperável com TCP/IP sobre Ethernet, garantindo que a rede Spine-Leaf do centro de dados possa ser construída com switches Ethernet padrão disponíveis no mercado.

FunOS

O plano de dados para o S1 e o F1 DPU executa o FunOS™, um sistema operacional desenvolvido especificamente em linguagens de programação de alto nível (ANSI-C). O FunOS executa as pilhas de rede, armazenamento, segurança, virtualização e análise. O plano de controle executa um sistema operacional padrão (por exemplo, Linux) e contém agentes que permitem que um cluster de DPUs S1 e F1 seja gerenciado, controlado e monitorado por um conjunto de APIs REST. Essas APIs REST podem ser integradas a sistemas de orquestração padrão ou de terceiros, como plug-ins Kubernetes CSI, OpenStack, OpenShift etc.

Ao combinar esses principais recursos em uma única solução, a família de processadores Fungible DPU permite a hiper desagregação e o agrupamento de recursos de computação e armazenamento, oferecendo uma infraestrutura composável altamente escalável e de alto desempenho para data centers de última geração!

O que compõe um cluster

O FSC™ compreende um cluster de dois ou mais nós de destino de armazenamento Fungible FS1600 e três nós do Fungible Composer. O software Fungible Composer gerencia o plano de controle, uma solução de gerenciamento centralizado que configura, gerencia, orquestra, controla e implanta o Fungible Storage Cluster. Os nós do Composer fornecem serviços como armazenamento, gerenciamento de rede, telemetria, gerenciamento de nós para coleta de logs e um gateway de API que fornece acesso externo aos serviços fornecidos pelo Fungible Composer.

Tampa pintada fungível FS1600 com ssd

O Fungible Storage Cluster oferece uma solução de armazenamento desagregado NVMe/TCP de alto desempenho e baixa latência que é totalmente transparente para aplicativos de alto nível. Cada FS1600 suporta até 24 SSDs U.2 NVMe/TCP, e o desempenho escala linearmente de 70 TB a múltiplos PBs.

Casos de uso

Armazenamento nativo da nuvem para hiper desagregação: O FSC oferece aos provedores de nuvem uma alternativa ao armazenamento convencional. Ao desagregar o armazenamento, o FSC permite dimensionamento independente de computação e armazenamento, maior utilização, redução de SKU de servidor, menor complexidade de gerenciamento e maior agilidade.

Inteligência Artificial / Aprendizado de Máquina: As cargas de trabalho modernas de IA/ML geralmente exigem paralelismo maciço em desempenho, baixa latência e grande capacidade. O FSC, combinado com sistemas de arquivos paralelos altamente escaláveis, elimina gargalos de armazenamento para alcançar desempenho, latência e eficiência sem precedentes para essas cargas de trabalho modernas.

Bancos de dados de alto desempenho nativos da nuvem: muitos dos bancos de dados expansíveis de alto desempenho de hoje implementam DAS para atender aos requisitos de latência. Esses bancos de dados geralmente oferecem durabilidade por meio de esquemas de redundância em cluster, como conjuntos de réplicas ou configurações primárias secundárias. Se um servidor falhar, os dados serão preservados em outro servidor. O FSC preserva as latências do tipo DAS enquanto oferece melhor utilização do armazenamento e redundância em cluster, mas com menor sobrecarga de capacidade.

Gerenciamento de TI simplificado

Além de todos os benefícios de desempenho que acompanham o FS1600 e os DPUs fungíveis, há também uma abordagem de gerenciamento simplificada. A Fungible oferece uma ferramenta de gerenciamento para data centers seguros e multilocatários por meio de um único painel de vidro. O painel do Fungible Composer tornará o dia do administrador de TI mais produtivo e fornecerá as informações necessárias para gerenciar com eficiência as funções diárias do data center.

Compositor fungível

O painel do Fungible Composer é simples de usar, com muitos detalhes para rastreamento, gerenciamento, configuração e monitoramento de desempenho. A guia superior indicará o sistema conectado, com uma exibição completa dos detalhes do cluster, IOPS, detalhes do armazenamento, bem como quaisquer alarmes que precisem de atenção.

Os ícones no lado esquerdo da tela fornecem acesso imediato a ferramentas de gerenciamento específicas.

Dependendo do detalhe fornecido ao implantar dispositivos fungíveis, a tabela de host fornecerá ao administrador uma visão rápida dos hosts conectados com opções para detalhar um host específico.

Para dados de desempenho, selecionando o ícone de análise, a tela será preenchida com detalhes de desempenho do cluster, fornecendo uma visão rápida de IOPS, largura de banda e latência.

O detalhe do volume fornece uma visão geral rápida da integridade de cada volume. A partir daqui, você pode detalhar os volumes individuais para obter mais detalhes.

Detalhes de implantação

1 x FSC1600 fungível

  • 8 conexões de 100 GbE
  • 24 dispositivos NVME de 3.84 TB

4 x Dell R740xd

  • 1 x FC200 fungível
    • 1 conexão de 100 GbE
  • 1 x NVIDIA ConnectX-5
    • 1 conexão de 100 GbE
  • 2 x CPU Intel Xeon Gold 6130 @ 2.10 GHz
    • 1 RAM de 256 GB

Calculo de volumes e distâncias

  • 192 volumes RAW de 100 G no total
  • 16 volumes RAW 4K por host
  • 16 volumes RAW 8K por host
  • 16 volumes RAW 16K por host

Processo de Teste

A preparação do teste incluiu o pré-condicionamento de todos os volumes com uma carga de trabalho de gravação para preenchê-los antes de iniciar as cargas de trabalho de teste. Os volumes foram dimensionados para alinhar com o tamanho do bloco da carga de trabalho aplicada. Para testes, volumes de 4K, 8K e 16K foram usados ​​para as cargas de trabalho aleatórias de 4K, aleatórias de 8K e sequenciais de 64K, respectivamente. Aproveitamos o protocolo NVMe sobre TCP e com um único nó, o armazenamento foi testado sem um esquema de proteção.

Cada iteração de FIO entre as DPUs fungíveis ou as NICs de 100 GbE foi balanceada para oferecer um perfil de latência semelhante. A carga de trabalho da NIC de 100 GbE foi então aumentada para gerar maior desempenho, resultando em mais latência e utilização da CPU.

Durante o estágio inicial de teste, os trabalhos FIO foram vinculados ao nó NUMA onde os cartões foram instalados. A DPU ou NIC foi trocada e localizada no mesmo slot PCIe entre cada teste. Nenhum ajuste especial fora da configuração do perfil do BIOS do servidor para Desempenho foi necessário no nível do servidor. Para cada loadgen, instalamos o Ubuntu 20.04.2 Live Server.

Fungível FS1600 Resumo dos resultados de desempenho

FC200 IOPS fungível

Carga de trabalho Anfitrião 1 Anfitrião 2 Anfitrião 3 Anfitrião 4
4k leituras 2019k 2015k 2016k 2012k
gravações em 4k 2244k 2020k 2280k 2203k
64 lê 167k 166k 166k 166k
gravações em 64k 161k 168k 164k 186k
8k 70r/30w 1118k / 479k 1105k / 474k 1075k / 461k 1117k / 479k

Largura de banda FC200 fungível

Carga de trabalho Anfitrião 1 Anfitrião 2 Anfitrião 3 Anfitrião 4
4k leituras 7886 MiB/s 7871 MiB/s 7873 MiB/s 7858 MiB/s
gravações em 4k 8766 MiB/s 7890 MiB/s 8905 MiB/s 8606 MiB/s
64 lê 9.80 GiB/s 10.1 GiB/s 10.2 GiB/s 10.1 GiB/s
gravações em 64k 8732 MiB/s 10.2 GiB/s 11.3 GiB/s 11.4 GiB/s
8k 70r/30w 8732MiB/3743MiB/s 8632 MiB/3699 MiB/s 8395 MiB/3598 MiB/s 8729MiB/3741MiB/s

IOPS de placa de rede de 100 GbE

Carga de trabalho Anfitrião 1 Host 1 Rampado Anfitrião 2 Anfitrião 3 Anfitrião 4
4k leituras 980k 2019k 1108k 1102k 1120k
gravações em 4k 968k 2776k 494k 1025k 1011k
64 lê 140k 118k 125k 141k 140k
gravações em 64k 72.5k 179k 40.1k 100k 47.0k
8k 70r/30w 498k / 213k 1147k / 491k 597k / 256k 567k / 243k 595k / 255k

Largura de banda 100 GbE NIC

Carga de trabalho Anfitrião 1 Host 1 Rampado Anfitrião 2 Anfitrião 3 Anfitrião 4
Leitura do 4K
3828 MiB/s 7887 MiB/s 4330 MiB/s 4303 MiB/s 4374 MiB/s
Gravação 4K
3783 MiB/s 10.6 GiB/s 1931 MiB/s 4005 MiB/s 3950 MiB/s
Leitura do 64K 8761 MiB/s 7269 MiB/s 7804 MiB/s 8832 MiB/s 8753 MiB/s
Gravação 64K
4529 MiB/s 10.9 GiB/s 2505 MiB/s 6251 MiB/s 3000 MiB/s
8K 70R/30W 3889 MiB/1667 MiB/s 8958 MiB/3839 MiB/s 4663 MiB/1998 MiB/s 4427 MiB/1897 MiB/s 4646 MiB/1991 MiB/s

A Fungível FS1600 é um artista

Ao entrar nesta análise, sabíamos que o Fungible FS1600 era rápido; isso não estava em dúvida. Embora as placas individuais em cada host estivessem saturadas, incluindo DPU e NIC, o array ainda tinha desempenho de sobra. O foco principal era como os NICs e DPUs se comparam para cargas de trabalho NVMe/TCP utilizando o mesmo array de armazenamento com cenários de teste semelhantes. As DPUs trouxeram benefícios incríveis para o mercado de armazenamento. Eles podem descarregar a atividade da CPU, liberando-a para lidar com outras tarefas, como cargas de trabalho de aplicativos, usando essa E/S ou largura de banda. Ao restringir nosso foco a um único host, vemos esses benefícios.

DPU fungível

De cara, se você mantiver a latência média de cada carga de trabalho semelhante, poderá ver que o DPU pode gerar aproximadamente o dobro do desempenho do NIC. Aqui medimos leitura aleatória de 2.02M IOPS 4K do DPU fungível, com uma latência média de 0.474ms. Observando o uso da CPU em tempo real durante essa carga de trabalho, podemos ver que a carga de trabalho está contida nos núcleos da CPU especificados na carga de trabalho FIO.

fio –group_reporting –time_based –runtime=10m –rw=randread –bs=4k –iodepth=5 –numjobs=12 –ioengine=libaio –direct=1 –prio=0 –cpus_allowed_policy=split –cpus_allowed=25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63, 0 –randrepeat=XNUMX

placa de rede de 100 GbE

Em seguida, mudamos para a NIC de 100 GbE, que é capaz de gerar 980 mil IOPS com uma latência média de 0.39 ms. A profundidade de IO e o número de trabalhos foram reduzidos do DPU para manter a latência sob controle, mas olhando para o uso da CPU, você vê rapidamente onde entram os benefícios do DPU. Enquanto o NIC recebeu os mesmos núcleos de CPU no trabalho FIO , tinha uma utilização do sistema muito mais ampla. Há uma compensação entre a utilização da CPU para processos de back-end (NICs, adaptadores, etc.) em um servidor de produção versus processos de front-end, como cargas de trabalho de aplicativos. Aqui vemos o driver NIC consumindo ciclos de CPU enquanto o DPU é mantido internalizado.

fio –group_reporting –time_based –runtime=10m –rw=randread –bs=4k –iodepth=4 –numjobs=6 –ioengine=libaio –direct=1 –prio=0 –cpus_allowed_policy=split –cpus_allowed=25,27,29,31,33,35,37,39,41,43,45,47,49,51,53,55,57,59,61,63, 0 –randrepeat=XNUMX

100 GbE NIC Ramificado

Por fim, passamos para a carga de trabalho 100GbE NIC ajustada, que pode atingir o mesmo nível de desempenho da DPU, em torno de 2.02M IOPS. O custo dessa velocidade mais alta, porém, é a latência, que aumentou significativamente para 2.6 ms e latência de pico mais alta. Isso foi dimensionando a profundidade de io de 4 para 16 e o ​​número de tarefas de 6 para 20. Embora o foco possa estar centrado no aumento da latência, observando o uso da CPU, você pode ver que quase todos os recursos do sistema estão sendo focados em a atividade de I/O, não deixando muito para outros processos. Para empresas que tentam tornar suas implantações de servidor mais densas e eficientes, é fácil ver que nem todas as E/S são criadas da mesma forma e como as DPUs estão mudando rapidamente o mercado de armazenamento.

fio –group_reporting –time_based –runtime=10m –rw=randread –bs=4k –iodepth=16 –numjobs=20 –ioengine=libaio –direct=1 –prio=0 –cpus_allowed_policy=split –cpus_allowed=14-63 –randrepeat= 0

Palavras finais

Estamos trabalhando com o Fungible FS1600 e seus DPUs há várias semanas. Embora o array em si não exija nenhum cabeamento sofisticado ou alterações, queríamos ser minuciosos na análise para entender profundamente o impacto dos DPUs. Não é que os próprios DPUs sejam novos, mas eles estão finalmente se tornando comercialmente disponíveis em soluções de nível empresarial, não apenas em projetos científicos. E, para ser claro, as implementações de DPU não são todas iguais, portanto, entender a infraestrutura e as implicações de desempenho nas decisões de design é fundamental.

Neste mundo DPU, Fungible se destaca como único. Eles foram atrás de uma solução personalizada quando a empresa começou em 2015, gastando um dinheiro significativo para construir a empresa no final de 2016. Foi mais ou menos quando a Mellanox anunciou sua primeira versão de um DPU, apelidado de BlueField. Embora se possa argumentar que a Fungible teria feito bem em adotar o BlueField, seguir seu próprio caminho resultou em uma tecnologia substantiva e vantagem de liderança. A Fungible tem controle total sobre sua pilha e pode aproveitar facilmente os DPUs no cliente e no destino. Ou não, a decisão é dos clientes. Mas em nossos testes, vemos vantagens significativas em ir de ponta a ponta com o Fungible.

Fungible chegando com DPUs alavancados na matriz de armazenamento e host completa uma imagem que oferece um enorme benefício em termos de desempenho. Os DPUs descarregam recursos que, de outra forma, seriam atribuídos ao processador do sistema, o que apresenta uma combinação interessante quando usado em ambos os lados da equação. Quando você é capaz de aproveitar o Fungible FC200 no lugar de uma NIC tradicional, você vê enormes ganhos significativos com velocidade de E/S, bem como menor uso de CPU. Olhando apenas para nossa transferência de leitura aleatória de 4K, o FC200 foi capaz de conduzir mais de 2M IOPS a 0.474ms de latência, enquanto o NIC poderia fazer cerca de 1M IOPS a 0.39ms. Aumentar a NIC para conduzir 2M IOPS foi possível, mas com um custo significativo de latência e recursos do sistema.

Fungível FC200 DPU

Fungível FC200 DPU

As DPUs como uma classe têm um tremendo potencial quando se trata de desbloquear o desempenho nativo disponível no armazenamento flash. Embora isso já seja uma afirmação verdadeira hoje, a matemática fica ainda mais favorável para DPUs à medida que tecnologias como SSDs Gen5 e interconexões mais rápidas chegam ao mercado. Pagar o x86 premium para gerenciar pistas PCIe simplesmente não faz sentido quando se trata de aplicativos que podem tirar proveito desses componentes e as arquiteturas legadas simplesmente não são tão escaláveis.

A Fungible possui hardware e software atraentes com o nó de armazenamento FS1600 e placas aceleradoras. Eles também recentemente estão de olho em desagregando GPUs, oferecendo aos clientes uma pilha mais completa para cargas de trabalho de HPC e IA. Haverá vários vencedores no espaço de DPU que está surgindo rapidamente, mas Fungible é certamente um para ficar de olho. As organizações que precisam ao máximo de seu armazenamento devem definitivamente dar uma volta no FS1600.

Cluster de armazenamento fungível

Envolva-se com a StorageReview

Newsletter | YouTube | Podcast iTunes/Spotify | Instagram | Twitter | Facebook | TikTok | RSS feed