Cientistas e pesquisadores de dados estão desenvolvendo novos processos de resolução de problemas com uso intensivo de computação, como sistemas HPC em grande escala. As cargas de trabalho de IA e análise de dados se beneficiam da infraestrutura HPC que pode ser dimensionada para melhorar o desempenho. Hoje vamos falar sobre as tendências desse mercado e as abordagens para a criação de arquitetura para DA, AI e HPC sob o corte.
A tendência de convergência de cargas de trabalho modernas requer uma arquitetura mais unificada. As cargas de trabalho HPC tradicionais (como simulação) exigem muito poder de computação, bem como conexões de rede rápidas e sistemas de arquivos de alto desempenho. Por exemplo, a criação de um modelo de reservatório para um depósito mineral pode levar de várias horas a vários dias.
As cargas de trabalho de inteligência artificial e análise de dados consomem muitos recursos, exigindo ferramentas de coleta de dados e espaços de trabalho especializados para os operadores processarem os dados. Inteligência artificial e análise de dados são processos que requerem interação interativa e ações repetitivas.
A diferença nas cargas de trabalho HPC, AI e DA pode dar a impressão de que seriam necessárias três infraestruturas separadas, mas não é o caso. A arquitetura unificada é adequada para analistas de dados e cientistas que trabalham com inteligência artificial, sem retreinamento e adaptação ao novo modelo operacional.
No entanto, integrar todas as três cargas de trabalho em uma única arquitetura apresenta desafios a serem considerados:
- As habilidades do usuário de HPC, AI ou DA variam.
- Os sistemas de gerenciamento de recursos e planejadores de carga não são intercambiáveis.
- Nem todos os softwares e nem todas as estruturas são integrados em uma única plataforma.
- Os ecossistemas requerem diferentes ferramentas e funções.
- As cargas e seus requisitos de desempenho são diferentes.
A base das soluções turnkey da Dell Technologies
As soluções de inteligência artificial e análise de dados prontas para uso da Dell Technologies fornecem um ambiente único para todas as três cargas de trabalho. Eles são construídos levando em consideração quatro princípios básicos:
- Disponibilidade de dados.
- Agendamento de tarefas e gerenciamento de recursos simples.
- Otimizando cargas de trabalho.
- Orquestração e conteinerização integradas.
Disponibilidade de dados
Os usuários precisam de acesso rápido aos seus dados, independentemente da carga de trabalho. A movimentação de dados deve ser limitada entre ambientes de armazenamento distintos. Conjuntos de dados para HPC, AI e DA devem ser combinados em um único ambiente para melhorar a eficiência operacional, especialmente se o fluxo de trabalho combinar várias técnicas.
Por exemplo, os sistemas avançados de assistência ao motorista usam modelos de condições climáticas extremas para evitar acidentes na direção real com mau tempo. Os novos dados são então usados para treinar a rede neural profunda: a saída se torna a entrada para treinar o modelo. Os resultados são carregados no Spark, que é usado para se conectar ao conjunto de dados atual do cliente e selecionar os melhores dados para o treinamento subsequente do modelo. Para melhor desempenho, os dados recebidos do fluxo de trabalho devem ser o mais próximo possível dos dados já disponíveis.
Agendamento de trabalho e gerenciamento de recursos
Os consumidores de HPC contam com planejadores de trabalho tradicionais como o SLURM. Para agendamento em lote, o SLURM aloca recursos de hardware com base em intervalos de tempo e fornece uma estrutura para iniciar, executar e controlar trabalhos em execução. SLURM também fornece gerenciamento de fila para tíquetes enviados para evitar contenção entre tarefas no cluster.
A análise de dados usa agendadores de tarefas, como Spark Standalone e Mesos. Uma arquitetura pré-construída para computação de alto desempenho e inteligência artificial usa o Kubernetes para orquestrar o Spark e gerenciar recursos para as tarefas que estão sendo realizadas. Visto que nenhum planejador de job atende a ambos os ambientes, a arquitetura deve oferecer suporte a ambos. A Dell Technologies desenvolveu uma arquitetura que atende a ambos os requisitos.
A arquitetura turnkey da Dell EMC para HPC, análise de dados e IA cria um único pool de recursos. Os recursos podem ser atribuídos dinamicamente a qualquer tarefa de HPC gerenciada por meio do HPC Resource Manager ou para IA em contêineres ou cargas de trabalho de análise de dados que, por sua vez, são gerenciadas a partir do sistema de contêiner Kubernetes.
Otimizando cargas de trabalho
A arquitetura deve ser capaz de ser dimensionada para um tipo de carga de trabalho sem comprometer outro. Linguagens de programação, necessidades de dimensionamento e gerenciamento da pilha de software e sistemas de arquivos são importantes para compreender os requisitos de carga de trabalho. A tabela abaixo mostra exemplos de tecnologias usadas ao construir uma arquitetura escalonável:
O componente de design final é a integração do Kubernetes e do Docker na arquitetura do Kubernetes, um sistema de contêiner de código aberto usado para automatizar a implantação, o dimensionamento e o gerenciamento. O Kubernetes ajuda você a organizar um cluster de servidores e contêineres de programação com base nos recursos disponíveis e nas necessidades de recursos de cada contêiner. Os contêineres são organizados em grupos, a unidade operacional básica do Kubernetes, que podem ser dimensionados para o tamanho desejado.
O Kubernetes ajuda a gerenciar o serviço de descoberta, que inclui balanceamento de carga, rastreamento de alocação de recursos, utilização e verificações de integridade de recursos individuais. Isso permite que os aplicativos sejam reparados automaticamente, reiniciando ou copiando contêineres automaticamente.
Docker é uma plataforma de software que permite construir, testar e implantar produtos de software rapidamente. Ele empacota programas em módulos padrão chamados contêineres, que têm tudo que você precisa para executar um programa, incluindo bibliotecas, ferramentas de sistema, código e condições para sua execução. Com o Docker, você pode implantar e dimensionar aplicativos rapidamente em qualquer ambiente e ter certeza de que seu código será executado.
Blocos de arquitetura de hardware
Escolhendo o servidor certo
O Dell EMC PowerEdge DSS 8440 é um servidor de 2 soquetes (4U) otimizado para HPC. Um DSS 8440 pode acomodar 4, 8 ou 10 aceleradores gráficos NVIDIA V100 para reconhecimento de imagem ou NVIDIA T4 para processamento de linguagem natural (NLP). Dez unidades NVMe fornecem acesso rápido aos dados de treinamento. Esse servidor tem o desempenho e a flexibilidade para ser ideal para aprendizado de máquina, bem como para outras cargas de trabalho que consomem muitos recursos. Por exemplo, modelagem e análise preditiva em ambientes científicos e de engenharia.
Dell EMC PowerEdge C4140atende às necessidades de soluções de servidor escalonáveis necessárias para o treinamento de redes neurais. O aprendizado profundo é um processo computacionalmente intensivo, incluindo GPUs rápidas, especialmente durante a fase de aprendizado. Cada servidor C4140 suporta até quatro GPUs NVIDIA Tesla V100 (Volta). Conectado através da fábrica NVIDIA NVLINK 20, oito ou mais C4140s podem ser agrupados para modelos maiores, oferecendo desempenho de até 500 Pflops.
Dell EMC PowerEdge R740xdÉ um servidor clássico de 2 soquetes adequado para a maioria dos projetos de aprendizado de máquina. Este servidor 2U de uso geral tem a perspectiva de ser usado posteriormente para tarefas de aprendizado profundo, pois suporta a instalação de aceleradores gráficos e um grande número de dispositivos de armazenamento.
Escolhendo a rede certa
Dell EMC PowerSwitch S5232F-ON: Ethernet de alto desempenho Dell EMC S5235F-ON O S5235F-ON tem 32 portas QSFP28, cada uma suportando 100 GbE ou 10/25/40/50 GbE usando cabos divididos. O barramento de switch possui largura de banda de 64 Tbps, proporcionando alto desempenho com baixa latência.
O Mellanox SB7800 é a solução certa para muitas cargas de trabalho simultâneas. Um barramento de 72 Tbit / s sem bloqueio de alto desempenho com uma latência de 90 ns entre quaisquer dois pontos de comutação fornece uma solução de alto desempenho.
Serviços e sistemas de armazenamento
Escolha do serviço de armazenamento certo
A escolha dos componentes de hardware depende do problema a ser resolvido e do software usado. Em vez de forma condicional, os subsistemas de armazenamento de dados podem ser divididos em três tipos:
- O serviço de armazenamento está embutido no software e é parte integrante dele. Um exemplo é o Apache Hadoop com sistema de arquivos HDFS ou banco de dados Sem SQL Apache Cassandra.
- O serviço de armazenamento é fornecido por soluções especializadas (por exemplo, Dell EMC PowerScale) ou por sistemas de armazenamento corporativos.
- Acesso aos recursos da nuvem: privados Dell EMC ECS, Cloudian, Ceph e públicos - Amazon, Google, MS Azure. O acesso aos dados, via de regra, é realizado com base em protocolos REST - Amazon S3, Openstack Swift, etc. Este é um dos segmentos de desenvolvimento mais ativo do mercado de armazenamento para Big Data.
Abordagens combinadas podem ser diferenciadas, quando serviços de armazenamento integrados ou sistemas especializados são usados como a camada de armazenamento operacional e os sistemas em nuvem atuam como armazenamento de arquivamento de longo prazo. A utilização de um determinado serviço de armazenamento depende da tarefa a ser resolvida e dos requisitos regulamentares (proteção contra desastres, integração com fornecedores de autorização e auditoria, usabilidade).
Por um lado, os serviços de armazenamento embutido, se estiverem disponíveis no software, são rapidamente implantados e, é claro, integrados o máximo possível a outros serviços de aplicativos. Por outro lado, nem sempre cumprem todos os requisitos necessários. Por exemplo, não há replicação completa ou integração com sistemas de backup. Além disso, criamos outro "segmento de dados / ilha" dedicado exclusivamente a uma distribuição ou conjunto de aplicativos.
Requisitos de funcionalidade
Os seguintes requisitos podem ser impostos ao serviço de armazenamento:
- Escalabilidade linear em capacidade e desempenho.
- A capacidade de trabalhar com eficiência em um ambiente multi-thread.
- Tolerância a falhas massivas de componentes do sistema.
- Fácil de atualizar e expandir o sistema.
- Capacidade de criar camadas de armazenamento online e de arquivo.
- Funcionalidade avançada para trabalhar com dados (auditoria, ferramentas de DR, proteção contra alterações não autorizadas, desduplicação, pesquisa de metadados, etc.).
O desempenho do armazenamento é crítico para projetos de computação de alto desempenho, aprendizado de máquina e inteligência artificial. É por isso que a Dell Technologies oferece uma ampla variedade de sistemas de armazenamento totalmente flash e híbridos para atender aos requisitos mais exigentes dos clientes.
O portfólio de armazenamento da Dell EMC inclui sistemas de armazenamento PowerScale (HDFS, NFS / SMB) e ECS (S3, Opensatck Swift, HDFS) de alto desempenho, bem como sistemas de armazenamento distribuídos NFS e Luster.
Um exemplo de sistema especializado
O Dell EMC PowerScale é um exemplo de sistema especializado que permite trabalhar com eficácia em projetos relacionados a big data. Ele permite que você crie um data lake corporativo. O sistema de armazenamento não contém controladores e prateleiras de disco, mas é um conjunto de nós equivalentes conectados usando uma rede duplicada dedicada. Cada nó contém discos, processadores, memória e interfaces de rede para acesso do cliente. Toda a capacidade de disco do cluster forma um único pool de armazenamento e um único sistema de arquivos, que pode ser acessado por meio de qualquer um dos nós.
Dell EMC PowerScaleÉ um sistema de armazenamento com acesso simultâneo a vários protocolos de arquivo. Todos os nós formam um único pool de recursos e um único sistema de arquivos. Todos os nós são iguais, qualquer nó pode processar qualquer solicitação sem sobrecarga adicional. O sistema se expande para 252 nós. Em um cluster, podemos usar pools de nós com desempenho diferente. Para processamento operacional, use nós produtivos com SSD / NVMe e acesso eficiente à rede de 40 ou 25 GbE, e para dados de arquivo, nós com discos SATA de 8-12 terabytes. Além disso, é possível mover os dados menos usados para a nuvem: privados e públicos.
Projetos e aplicações
O uso do Dell EMC PowerScale levou a uma série de projetos interessantes de big data . Por exemplo, um sistema de identificação de atividade suspeita para Mastercard. Ele também resolve com sucesso problemas relacionados ao controle automático de veículos (ADAS) do Zenuity. Um dos pontos importantes é a capacidade de separar o serviço de armazenamento em uma camada separada com a possibilidade de seu escalonamento separado.
Assim, várias plataformas analíticas podem ser conectadas a uma única plataforma de armazenamento com um único conjunto de dados. Por exemplo, um cluster analítico principal com uma distribuição específica do Hadoop que é executada diretamente nos servidores e um loop de desenvolvimento / teste virtualizado. Ao mesmo tempo, nem todo o cluster pode ser alocado para as tarefas de análise, mas apenas uma certa parte dele.
O segundo ponto importante é que o PowerScale fornece acesso ao sistema de arquivos. Ou seja, em comparação com as soluções tradicionais, não há limitação estrita da quantidade de informações analisadas. A arquitetura em cluster oferece excelente desempenho para tarefas de aprendizado de máquina, mesmo ao usar grandes unidades SATA. Uma excelente ilustração são os problemas de ML / DL em que a precisão do modelo resultante pode depender do volume e da qualidade dos dados.
Sistemas tradicionais
O Dell EMC PowerVault ME4084 (DAS) pode ser usado como um sistema de armazenamento básico. É expansível até 3 petabytes e é capaz de taxa de transferência de 5.500 MB / s e 320.000 IOPS.
Diagrama típico de uma solução pronta para uso para HPC, IA e análise de dados
Casos de uso de IA típicos por setor
Resumo
As soluções turnkey da Dell Technologies para HPC , IA e análise de dados fornecem uma arquitetura unificada que oferece suporte a várias cargas de trabalho. A arquitetura é baseada em quatro componentes principais: disponibilidade de dados, fácil agendamento de tarefas e gerenciamento de recursos, otimização da carga de trabalho mais orquestração e conteinerização integradas. A arquitetura oferece suporte a várias opções de servidor, rede e armazenamento para melhor atender às necessidades de HPC.
Eles podem ser usados para resolver problemas muito diversos, e estamos sempre prontos para ajudar os clientes na seleção, implantação, configuração e manutenção dos equipamentos.
O autor do material é Alexander Koryakovsky, engenheiro consultor do Departamento de Soluções de Rede e Computação da Dell Technologies na Rússia