Balanceamento de carga automático intra-nó entre CPUs e GPUs para aplicações sísmicas com decomposição de domínio
Balanceamento de carga; Propagação de onda; Modelagem sísmica; Processamento colaborativo; Execução colaborativa; Arquiteturas heterogêneas.
O processo de modelagem sísmica, aplicado à técnicas de imageamento de subsuperfícies, requer soluções computacionais de alto desempenho para extrair informações com uma maior acurácia sobre as propriedades das formações geológicas do subsolo. Nos últimos anos, a integração entre CPU e GPU tem se tornado muito atraente graças à excelente combinação de poder computacional e eficiência energética. Porém, abordagens tradicionais que delegam a carga de trabalho massivamente paralela às GPUs podem tornar as CPUs ociosas, o que leva a um desperdício do potencial de desempenho geral do sistema. Com o intuito de tornar eficiente o uso de todas as unidades de processamento disponíveis, este trabalho tem por objetivo investigar e desenvolver métodos de balanceamento de carga em sistemas heterogêneos compostos por múltiplas CPUs e GPUs. Como experimento, foi implementado um código de modelagem da onda acústica que foi executado em duas arquiteturas computacionais distintas. Os resultados mostram que realizar um processamento colaborativo entre CPU e GPU pode ser mais eficiente do que executar apenas em CPU ou apenas em GPU. Além disso, dependendo da configuração dos recursos computacionais e da carga de trabalho, diferentes proporções de particionamento da carga de trabalho devem ser distribuídas para otimizar o uso desses recursos e reduzir o tempo de execução do algoritmo.