A Microsoft divulgou detalhes de seu uso de seu serviço de agendamento distribuído de “escala planetária” Singularity, projetado para gerenciar cargas de trabalho de IA. Em um relatório da empresa, o objetivo da Singularity é ajudar a gigante do software a controlar os custos, garantindo alta utilização de hardware para tarefas de aprendizado profundo.
A Singularity consegue isso com um novo escalonador capaz de alta utilização de aceleradores (incluindo FPGAs e ASICs) sem aumentar os erros ou a degradação do desempenho. A Singularity oferece provisionamento transparente e dimensionamento elástico de recursos de computação alocados para cada tarefa. Na verdade, ele desempenha o papel de uma espécie de camada “inteligente” entre o próprio hardware e a plataforma de software para cargas de trabalho de IA.
A singularidade permite separar as tarefas atribuídas aos recursos dos aceleradores. Se o dimensionamento for necessário, o sistema não apenas altera o número de dispositivos envolvidos, mas também gerencia a alocação e a alocação de memória, o que é extremamente importante para cargas de trabalho de IA. O planejamento adequado permite que você não fique ocioso sem a necessidade de um hardware muito caro, devido ao qual um efeito econômico positivo é alcançado.
O relatório também afirma explicitamente que a Microsoft possui centenas de milhares de GPUs e outros aceleradores de IA. Em particular, é mencionado que Singularity é usado em plataformas NVIDIA DGX-2: dois Xeon Platinum 8168 (20 núcleos cada), oito aceleradores V100 com NVSwitch, 692 GB de RAM e uma interconexão InfiniBand. Assim, o parque de IA de uma empresa deve incluir dezenas de milhares de nós, por isso sua gestão eficaz é muito importante.