O que é PAD?

O “Processamento de Alto Desempenho” (PAD) é a utilização, de forma maximizada, dos componentes e tecnologias de uma área da computação que emprega equipamentos e conhecimento na vanguarda do poder computacional. Seu objetivo é de reduzir o tempo de processamento de algum programa/aplicação ou fazê-lo processar um volume maior de informações. É pertinente à área de PAD termos como “paralelismo”, “aceleração”, “otimização”, “recodificação” e vários outros.

No contexto de PAD os componentes básicos da computação – equipamentos e programas – são diferenciados. Os equipamentos computacionais, algumas vezes denominados supercomputadores, são compostos por muitas unidades de processamento (“Central Processing Unit” ou CPU), aceleradores de cálculos (como uma “Graphics Processing Unit” ou GPU), redes de comunicação de altíssima velocidade e enorme capacidade de armazenamento e memória.

Já os programas que empregam processamento de alto desempenho geralmente não possuem intervenção humana, característica que os torna diferentes de editores de texto, jogos ou sistemas operacionais. Podem ser pequenos – com poucas linhas de código – ou grandes – como modelos numéricos de previsão do tempo. Em geral realizam cálculos matemáticos com uso de ponto flutuante e/ou “dupla precisão”.

A lista de aplicações e programas que podem se utilizar de PAD é extensa. Podemos listar alguns exemplos:

  • modelos numéricos de várias áreas da tecnologia, engenharia, ciências e medicina;
  • problemas matemáticos como otimização de grafos, busca por números primos e soluções de equações diferenciais;
  • simulações de inúmeros tipos, como agrupamentos de estrelas e galáxias, reservatórios de óleo e gás, tanques de combustível de aviões e navios e monoblocos de automóveis;
  • otimização de cadeia produtiva, cálculo de risco de ações e de seguros e mineração de dados (data mining);
  • modelagem de distribuição e consumo de energia elétrica, de água e combustível;
  • estudo de desempenho de algoritmos paralelos, genéticos e redes neurais;
  • programação de testes de novas tecnologias computacionais e de redes de alta velocidade.

É bastante comum que as aplicações já existam e estejam em uso constante no momento em que seja necessário melhorar seu desempenho. Listamos abaixo alguns dos principais motivos ou características que leva determinado programa ou aplicação à utilização de PAD:

  • um programa demora muito para realizar seus cálculos e apresentar seus resultados;
  • uma aplicação não consegue mais trabalhar com determinada massa de dados, pois esta cresceu de tamanho tornando-a intratável;
  • um novo equipamento foi adquirido, porém o investimento não reverteu o ganho esperado de desempenho;
  • diferentes configurações de um modelo matemático precisam ser executadas ao mesmo tempo, de forma coordenada, para trazer robustez a um prognóstico;
  • é interessante, do ponto de vista científico, empregar um equipamento com muitas CPUs, GPUs ou a união destas tecnologias, para estudar o comportamento de um algoritmo em um ambiente multi-processado;
  • diversos processos manuais (ou não interligados) precisam ser eliminados para otimizar o desempenho de determinado programa;
  • é necessário alterações (tunning) em ambientes, hardware e software, para permitir que um programa fechado e inalterável seja executado mais rapidamente.

Para a utilização de PAD por programas em uso, muitas vezes ocorrem modificações profundas em seus códigos e algoritmos e é premissa que os resultados da sua versão otimizada sejam idênticos a versão original. Quando o código emprega paradigmas de programação inapropriados, utiliza de padrões e/ou linguagens antigas há um aumento significativo da dificuldade e cuidado nas modificações.

A Exaflop é uma empresa especializada nesta área de atuação, levando o processamento de alto desempenho diretamente aos nossos clientes. Somos comprometidos com a confiabilidade do resultado, a melhor utilização de determinado equipamento ou tecnologia e os ganhos que alterações em programas poderão ocasionar. Empregamos padrões sólidos de programação e paralelismo, metodologias consagradas para gerenciamento de projetos e trabalhamos com total transparência e sigilo.

Entre em contato!

Top