5.8 milhões de IOPS: por que tanto?

Olá Habr! Os conjuntos de dados para Big Data e machine learning estão crescendo exponencialmente e precisamos acompanhá-los. Nosso post sobre mais uma tecnologia inovadora na área de computação de alto desempenho (HPC, High Performance Computing), apresentada no estande da Kingston em Supercomputação-2019. Trata-se da utilização de sistemas de armazenamento de dados (SDS) Hi-End em servidores com unidades de processamento gráfico (GPU) e tecnologia de barramento de armazenamento GPUDirect. Graças à troca direta de dados entre o sistema de armazenamento e a GPU, contornando a CPU, o carregamento de dados nos aceleradores de GPU é acelerado em uma ordem de grandeza, de modo que os aplicativos de Big Data sejam executados com o desempenho máximo que as GPUs oferecem. Por sua vez, os desenvolvedores de sistemas HPC estão interessados ​​em avanços em sistemas de armazenamento com as mais altas velocidades de E/S, como os produzidos pela Kingston.

5.8 milhões de IOPS: por que tanto?

O desempenho da GPU supera o carregamento de dados

Desde a criação da CUDA, uma arquitetura de computação paralela de hardware e software baseada em GPU para o desenvolvimento de aplicativos de uso geral, em 2007, os recursos de hardware das próprias GPUs cresceram incrivelmente. Hoje, as GPUs são cada vez mais usadas em aplicativos de HPC, como Big Data, aprendizado de máquina (ML) e aprendizado profundo (DL).

Observe que, apesar da semelhança dos termos, os dois últimos são tarefas algoritmicamente diferentes. ML treina o computador com base em dados estruturados, enquanto DL treina o computador com base no feedback de uma rede neural. Um exemplo para ajudar a entender as diferenças é bastante simples. Vamos supor que o computador deva distinguir entre fotos de cães e gatos carregadas do sistema de armazenamento. Para ML, você deve enviar um conjunto de imagens com várias tags, cada uma delas definindo uma característica específica do animal. Para DL, basta fazer upload de um número bem maior de imagens, mas com apenas uma tag “isto é um gato” ou “isto é um cachorro”. DL é muito semelhante à forma como as crianças são ensinadas - elas simplesmente vêem fotos de cães e gatos nos livros e na vida (na maioria das vezes, sem nem mesmo explicar a diferença detalhada), e o próprio cérebro da criança começa a determinar o tipo de animal após um certo número crítico de imagens para comparação (segundo estimativas, estamos falando de apenas cem ou dois programas durante a primeira infância). Os algoritmos DL ainda não são tão perfeitos: para que uma rede neural também funcione com sucesso na identificação de imagens, é necessário alimentar e processar milhões de imagens na GPU.

Resumo do prefácio: com base em GPUs, você pode construir aplicativos HPC na área de Big Data, ML e DL, mas há um problema - os conjuntos de dados são tão grandes que o tempo gasto no carregamento de dados do sistema de armazenamento para a GPU começa a reduzir o desempenho geral do aplicativo. Em outras palavras, GPUs rápidas permanecem subutilizadas devido à lentidão dos dados de E/S provenientes de outros subsistemas. A diferença na velocidade de E/S da GPU e do barramento para a CPU/sistema de armazenamento pode ser uma ordem de magnitude.

Como funciona a tecnologia de armazenamento GPUDirect?

O processo de E/S é controlado pela CPU, assim como o processo de carregamento de dados do armazenamento para as GPUs para processamento posterior. Isso levou a uma solicitação de tecnologia que fornecesse acesso direto entre GPUs e unidades NVMe para comunicação rápida entre si. A NVIDIA foi a primeira a oferecer essa tecnologia e a chamou de GPUDirect Storage. Na verdade, esta é uma variação da tecnologia GPUDirect RDMA (Remote Direct Memory Address) desenvolvida anteriormente.

5.8 milhões de IOPS: por que tanto?
Jensen Huang, CEO da NVIDIA, apresentará o GPUDirect Storage como uma variante do GPUDirect RDMA no SC-19. Fonte: NVIDIA

A diferença entre GPUDirect RDMA e GPUDirect Storage está nos dispositivos entre os quais o endereçamento é realizado. A tecnologia GPUDirect RDMA é reaproveitada para mover dados diretamente entre a placa de interface de rede (NIC) front-end e a memória GPU, e o armazenamento GPUDirect fornece um caminho de dados direto entre armazenamento local ou remoto, como NVMe ou NVMe over Fabric (NVMe-oF) e Memória GPU.

Tanto o GPUDirect RDMA quanto o GPUDirect Storage evitam movimentos desnecessários de dados através de um buffer na memória da CPU e permitem que o mecanismo de acesso direto à memória (DMA) mova dados da placa de rede ou armazenamento diretamente para ou da memória da GPU - tudo sem carga na CPU central. Para o armazenamento GPUDirect, a localização do armazenamento não importa: pode ser um disco NVME dentro de uma unidade GPU, dentro de um rack ou conectado pela rede como NVMe-oF.

5.8 milhões de IOPS: por que tanto?
Esquema de operação do GPUDirect Storage. Fonte: NVIDIA

Sistemas de armazenamento Hi-End em NVMe estão em demanda no mercado de aplicativos HPC

Percebendo que com o advento do GPUDirect Storage, o interesse de grandes clientes será atraído para oferecer sistemas de armazenamento com velocidades de E/S correspondentes ao rendimento da GPU, na exposição SC-19 a Kingston mostrou uma demonstração de um sistema que consiste em um sistema de armazenamento baseado em discos NVMe e uma unidade com GPU, que analisava milhares de imagens de satélite por segundo. Já escrevemos sobre esse sistema de armazenamento baseado em 10 unidades DC1000M U.2 NVMe em uma reportagem da exposição de supercomputadores.

5.8 milhões de IOPS: por que tanto?
Um sistema de armazenamento baseado em 10 unidades DC1000M U.2 NVMe complementa adequadamente um servidor com aceleradores gráficos. Fonte: Kingston

Este sistema de armazenamento foi projetado como uma unidade de rack de 1U ou maior e pode ser dimensionado dependendo do número de unidades DC1000M U.2 NVMe, cada uma com capacidade de 3.84-7.68 TB. O DC1000M é o primeiro modelo SSD NVMe no formato U.2 na linha de unidades para data center da Kingston. Ele possui uma classificação de resistência (DWPD, gravações na unidade por dia), permitindo reescrever os dados em sua capacidade total uma vez por dia para garantir a vida útil da unidade.

No teste fio v3.13 no sistema operacional Ubuntu 18.04.3 LTS, kernel Linux 5.0.0-31-generic, a amostra de armazenamento de exibição mostrou uma velocidade de leitura (Leitura Sustentada) de 5.8 milhões de IOPS com uma taxa de transferência sustentável (Largura de Banda Sustentada ) de 23.8 Gbit/s.

Ariel Perez, gerente de negócios SSD da Kingston, disse sobre os novos sistemas de armazenamento: “Estamos preparados para equipar a próxima geração de servidores com soluções SSD U.2 NVMe para eliminar muitos dos gargalos de transferência de dados que têm sido tradicionalmente associados ao armazenamento. A combinação de unidades SSD NVMe e nossa DRAM Server Premier premium torna a Kingston um dos fornecedores de soluções de dados ponta a ponta mais abrangentes do setor."

5.8 milhões de IOPS: por que tanto?
O teste gfio v3.13 mostrou uma taxa de transferência de 23.8 Gbps para o sistema de armazenamento de demonstração em unidades DC1000M U.2 NVMe. Fonte: Kingston

Qual seria a aparência de um sistema típico para aplicativos HPC usando armazenamento GPUDirect ou tecnologia semelhante? Esta é uma arquitetura com separação física de unidades funcionais dentro de um rack: uma ou duas unidades para RAM, várias outras para nós de computação GPU e CPU e uma ou mais unidades para sistemas de armazenamento.

Com o anúncio do armazenamento GPUDirect e o possível surgimento de tecnologias similares de outros fornecedores de GPU, a demanda da Kingston por sistemas de armazenamento projetados para uso em computação de alto desempenho está se expandindo. O marcador será a velocidade de leitura de dados do sistema de armazenamento, comparável ao rendimento de placas de rede de 40 ou 100 Gbit na entrada de uma unidade de computação com GPU. Assim, os sistemas de armazenamento de altíssima velocidade, incluindo NVMe externo via Fabric, deixarão de ser exóticos e se tornarão convencionais para aplicações HPC. Além dos cálculos científicos e financeiros, eles encontrarão aplicação em muitas outras áreas práticas, como sistemas de segurança no nível metropolitano de Cidade Segura ou centros de vigilância de transportes, onde são necessárias velocidades de reconhecimento e identificação de milhões de imagens HD por segundo”, destacou o nicho de mercado do principal sistema de armazenamento

Mais informações sobre os produtos da Kingston podem ser encontradas em o site oficial empresa.

Fonte: habr.com

Adicionar um comentário