Projeto NEWAVE / DECOMP SUMÁRIO • • • • • • • • • • Introdução Arquitetura do Ambiente Conceitos Objetivo Análise Requisitos Otimizações Implementadas Resultados Próximos Passos Observações INTRODUÇÃO • A TI não têm como fim a si mesma. • O objetivo da TI é suportar seus clientes e prover soluções que otimizem, mitiguem os riscos e apresentem oportunidades para seus clientes. • Foco no cliente. • Alinhamento com a estratégia da empresa. • É nesse contexto que o projeto de otimização do NEWAVE / DECOMP entra. INTRODUÇÃO • Semanalmente, o ONS executa simulações em seu ambiente NEWAVE / DECOMP a fim de determinar a produção de energia das usinas que compõem o sistema elétrico brasileiro. • FURNAS, por sua vez, executa diversas simulações em seu próprio ambiente NEWAVE / DECOMP a fim de gerar previsões do comportamento de suas usinas e previsões de preço da energia para diversos cenários. Esta ação visa provisionar subsídio para decisões estratégicas da empresa. INTRODUÇÃO • Como o tempo de execução destas simulações é longo, fez-se necessário este projeto a fim de se otimizar a infraestrutura utilizada, e com isso se obter redução de tempo juntamente com redução do consumo de recursos (fazendo mais com menos). INTRODUÇÃO • MPICH é construído / mantido sob a supervisão do Departamento de Energia dos Estados Unidos: • NEWAVE / DECOMP é construído / mantido pelo CEPEL, empresa do grupo ELETROBRAS. CONCEITOS • O NEWAVE/DECOMP é uma aplicação que roda em cluster utilizando processamento distribuído a fim de otimizar a performance de sua execução. • A execução das simulações ocorre por meio da chamada do software MPICH informando o NEWAVE/DECOMP como parâmetro deste. • O MPICH é o software que recebe as requisições do NEWAVE/DECOMP e as distribui, em processos, entre os nós do cluster e, por sua vez, entre os núcleos de CPU de cada nó do cluster. OBJETIVO • Otimizar o desempenho das simulações que utilizam o cluster NEWAVE visando: o Redução do tempo de execução. o Definição do número ótimo de processos. o Definição, para cada “nó” do cluster, do número, para o nosso caso, mais adequado de: CPUs Tamanho de Memória Tamanho de Disco ANÁLISE • Em tese, quanto mais “nós” adicionarmos ao cluster maior seria a performance (throughput) deste. • Porém, temos que considerar que existe um custo de administração das threads a serem processadas. • Quanto maior o número threads, maior também será o custo de administração destas. ANÁLISE PERFORMANCE CLUSTER NEWAVE Total de Nós 1 2 3 4 5 6 7 8 CPUs / Nó 8 8 8 8 8 8 8 8 Total de CPUs 8 16 24 32 40 48 56 64 Número de Processos 8 16 24 32 40 48 56 64 Tempo Total de Execução 001h 30min 04s 52min 25s 40min 31s 33min 38s 29min 55s 27min 42s 25min 22s 25min 29s REQUISITOS • É necessário que exista um número mínimo de clusters disponíveis a serem utilizados simultaneamente pelo cliente. • Existe uma limitação de servidores físicos disponíveis para hospedar os “nós” dos clusters. • Opção pelo CentOS como distribuição Linux a ser utilizada. • Os “nós” dos clusters são máquinas virtuais. OTIMIZAÇÕES IMPLEMENTADAS • Padronização da construção dos clusters a partir da utilização de: o Templates para as máquinas virtuais. o Utilização de um procedimento padrão para a sua construção. • Implantação de melhores práticas para a otimização de desempenho das máquinas virtuais. OTIMIZAÇÕES IMPLEMENTADAS • Script de conformidade. o Configura o arquivo “caso.dat”. o Configura o arquivo “dger.dat”. o Executa corretamente a chamada do NEWAVE / DECOMP. • Conscientização do cliente: o Apresentando a ele o trabalho realizado. o Como ele pode se beneficiar dessa otimização. RESULTADOS • A execução de simulações NEWAVE / DECOMP, para o nosso caso, apresenta uma performance ~40% melhor em um ambiente VMware quando comparado a um ambiente Hyper-V. • Para chegarmos a estas conclusões utilizamos hosts físicos com características idênticas, máquinas virtuais (VMs), SO, MPICH e Newave/Decomp também com configurações idênticas. RESULTADOS • Redução do tempo de indisponibilidade por falhas: o Com a padronização e os scripts de conformidade a quantidade de falhas foi reduzida e o tempo de recuperação também. • Definição do número ótimo de processos: o Definimos como padrão que o número de processos utilizados será sempre igual ao total de cores de CPU disponíveis no cluster. RESULTADOS • (Para o nosso caso) Definição do número mais adequado, para cada “nó” de cluster, de: o CPUs o Tamanho de Memória o Tamanho de Disco • Definição dos tamanhos de cluster por perfil de utilização de cada cliente. • Redução do tempo de execução das simulações. RESULTADOS • Houve uma atualização recente do ambiente para as seguintes definições de versão: • • • • SO: Linux CentOS 7 MPICH: 3.1.4 NEWAVE: 21 DECOMP: 23 • Somente esta atualização trouxe uma redução aproximada de ~30% no tempo consumido para a execução de simulações para clusters de 4 nós. PRÓXIMOS PASSOS • Automação do processo de construção de um novo cluster NEWAVE / DECOMP. • newave.builder • Automação do processo de monitoração e recuperação da configuração de um cluster NEWAVE / DECOMP • newave.keeper • Realizar testes utilizando o sistema operacional: Oracle Linux. OBSERVAÇÕES • Força Tarefa – NEWAVE / DECOMP • Segundo nossos clientes internos, FURNAS possui uma excelente performance de clusters NEWAVE / DECOMP. • Isso permite que mais simulações sejam executadas, aumentando o subsídio para a tomada de decisões estratégicas da empresa. Obrigado Gerencia de Infraestrutura e Segurança de Rede Timóteo Teixeira de Brito (21) 2528 – 2688 [email protected]