O desafio de aplicações serem executadas concorrentemente em plataformas heterogêneas competindo por recursos de processadores e facilidades de rede é uma abordagem importante, principalmente a ser observada em configurações de HPC.
O objetivo é atingir um agendamento de aplicações que possa garantir uma execução justa e eficiente em configurações distribuídas de processadores homogêneos/heterogêneos de HPC.
Exemplos de agendamento de tarefas, através de agendadores dedicados conhecidos, podem ser citados o Slum e o IBM LSF. Por outro lado, existem argumentos que devido à complexidade dessas ferramentas, muitas organizações estão migrando para orquestradores de contêineres como Kubernetes ou Nomad.
No entanto, a complexidade não se limita a este ponto. Os orquestradores de contêineres não oferecem (muitas vezes) suporte ao agendamento de GPU como padrão. Desta forma, é necessário adicionar agendamento de GPU ao seu orquestrador, usando plugins e bibliotecas fornecidos por alguns fornecedores de GPU e software. Exemplos são (i) AMD e NVIDIA ao fornecerem plugins de dispositivo para serem instalados no Kubernetes, (ii) HashiCorp Nomad fornecendo seu próprio plugin de dispositivo, e (iii) Microsoft oferecendo The DirectX API.
Por outro lado, o Portable Batch System, PBS, é conhecido como uma das principais soluções de gerenciamento de carga de trabalho para sistemas HPC e clusters Linux. O PBS foi originalmente projetado para a NASA para seus sistemas de gerenciamento de recursos. Atualmente, o PBS incluiu novas abordagens inovadoras para gerenciamento de recursos e agendamento de tarefas, como a extração de política de agendamento em um único módulo separável e completamente personalizável. O PBS, também é conhecido como (i) OpenPBS, na sua versão de código aberto e (ii) PBS Professional, uma solução confiável para gerenciamento de carga de trabalho. O conhecido PBS Works opera em ambientes UNIX multiplataforma em rede e oferece suporte a clusters heterogêneos de estações de trabalho, supercomputadores e sistemas massivamente paralelos.
Nesta palestra, vamos apresentar cenários e abordagens utilizadas para escalonamentos distribuídos e paralelos em configurações de HPC.
Gustavo Dias (RNP)
Bruno Nascimento (RNP)