• VOLTAR
  • Imprimir
  • ENVIAR
  • A+ A-
PRODIS - Aplicação de Técnicas de Processamento Distribuído nos Programas do DEA

Apresentação
A utilização de computação paralela e distribuída em aplicações computacionais de grande porte em engenharia e ciências é largamente adotada nos ambientes de pesquisa com o objetivo de reduzir os tempos finais de processamento de seus programas. Desta forma, o Cepel, no âmbito do Departamento de Otimização Energética e Meio Ambiente (DEA), procurou adotar uma solução que permitisse baixar os tempos finais de execução dos seus principais programas através de processamento distribuído.
 
O objetivo do projeto PRODIS é implementar técnicas de programação que permitam aos seus principais programas serem executados em ambiente de alto desempenho, utilizando processamento distribuído. Atualmente, os programas NEWAVE (Modelo de Planejamento da Operação de Sistemas Hidrotérmicos Interligados de Longo e Médio-Prazo), DECOMP (Modelo de Planejamento da Operação de Sistemas Hidrotérmicos Interligados de Curto-Prazo) e SUISHI (Modelo de Simulação a Usinas Individualizadas de Subsistemas Hidrotérmicos Interligados) já possuem versões executáveis neste tipo de ambiente. Eles são largamente utilizado no Setor Elétrico Brasileiro, com destaque para o NEWAVE no  Planejamento da Operação Energética de Médio Prazo e nos Estudos de Planejamento da Expansão. Eles também possuem grandes demandas de tempo de CPU e processam instruções que podem ser realizadas concomitantemente no tempo. Uma vez modificados, a execução dos programas passa a ser feita por vários processos e não mais por um único. Estes processos se comunicam entre si através de mensagens, enviando e recebendo os dados e resultados, cabendo a um deles a função de organizar estas mensagens.

A identificação das tarefas que a serem paralelizadas pode ser exemplificada pelo que foi feito no programa NEWAVE. Este programa é utilizado para resolver problema de planejamento da operação de longo e médio prazos (5 a 15 anos de horizonte de planejamento) e emprega como técnica de solução a programação dinâmica dual estocástica (PDDE). O processo de solução consiste em determinar uma estratégia de operação para que, a cada estágio do período de planejamento, dado um estado inicial, sejam fornecidas metas de geração para cada subsistema que minimizam o valor esperado do custo total de operação ao longo do horizonte de planejamento.

Esta estratégia, representada pela função de custo futuro (FCF), é aproximada através de uma função linear por partes, construída iterativamente pelos cortes de Benders. A cada estágio, e para cada estado do sistema (nível de armazenamento e afluências nos meses anteriores), o problema de operação hidrotérmica é modelado como um problema de programação linear (PL), e as variáveis duais associadas à solução desse problema são utilizadas para a construção dos cortes de Benders (etapa backward).
 
Para se obter uma estimativa do valor esperado do custo de operação ao longo do horizonte de planejamento, considerando-se a FCF construída, processa-se a simulação da operação do sistema para os diversos cenários de afluências (etapa forward). Dado que este método é constituído por processos que são independentes entre si, aproveitou-se esta característica para distribuir os vários problemas de PL envolvidos nas etapas backwardforward entre vários processadores.
 
Na etapa backward, em cada estágio do horizonte de planejamento, cada processador recebe um conjunto de problemas de despacho de operação associados a diferentes cenários de energias afluentes. De posse das soluções de cada um dos problemas, cada processador gera um corte de Benders que é enviado para um dos processadores. Esse processador, de posse de todos os cortes de Benders recebidos, constrói a FCF que será utilizada no estágio (t-1) e a transmite para todos os demais processadores participantes do cálculo (Figura 1).
  
Figura 1 - Distribuição dos cortes de Benders na etapa backward.
 
De forma semelhante, na etapa forward, em cada estágio, os processos recebem um conjunto de problemas de PL, cujas soluções são transferidas para um processador para verificação da convergência (Figura 2).
 
Figura 2 - Distribuição dos cortes de Benders na etapa forward.
 
Caso a convergência não tenha sido alcançada, uma nova iteração é executada, de forma distribuída, até a convergência final. As comunicações entre os processadores são feitas através de instruções MPI (Message Passing Interface).

A versão atual do programa conta com uma estratégia de paralelização com as seguintes características: (1) permite a distribuição dinâmica da solução dos PLs, otimizando o balanceamento de carga entre os núcleos de processamentos; (2) minimiza a comunicação entre os núcleos de processamento; (3) introduz assincronismo na comunicação de mensagens no agrupamento dos cortes de Benders; (4) ajusta as mensagens à nova estrutura de hardware com processadores e múltiplos núcleos de processamento 
 
De forma similar ao que foi feito com o programa NEWAVE, estudou-se os códigos fontes dos programas DECOMP e SUISHI, identificando as tarefas que poderiam ser  executadas de forma independente. Estas tarefas foram então distribuídas entre vários processos com o auxílio de instruções da biblioteca de funções do MPI, permitindo uma grande redução no tempo computacional dos mesmos.
 
A importância deste projeto pode ser medida na significativa redução de tempo de execução dos programas NEWAVE, DECOMP e SUISHI. . A redução destes tempos computacionais permitiu por em prática inúmeras melhorias na modelagem matemática dos programas, além de agilizar a obtenção de resultados em diversos estudos. Recentemente, iniciou-se o desenvolvimento de versões assíncronas da programação dinâmica dual estocástica do modelo NEWAVE e da programação dinâmica dual do modelo DECOMP. O objetivo destas versões assíncronas é aumentar a escalabilidade das respectivas estratégias de paralelização a partir do aumento da quantidade de processos.
 

Para a execução dos programas com processamento distribuído, o Cepel conta com a infraestrutura computacional do Laboratório de Computação Intensiva (Labcin).

Contato

Entre em contato com a área responsável através do e-mail:


 prodis@cepel.br