O que fazemos?

Somos um grupo dedicado ao desenvolvimento de tecnologia de ponta para análise de desempenho, consumo energético e emissão de CO2 em aplicações científicas e computação distribuida em nuvem utilizando aprendizado de máquina, redes neurais e outras ferramentas.


Nossas Publicações

Nossos Projetos

Convergência IA-HPC

IA após HPC

IA é utilizada para entender e analisar os resultados das execuções de simulações/aplicações científicas em HPC. Envolve o uso de AM para entender as aplicações científicas, como se relacionam com diferentes arquiteturas de HPC e o impacto dessa relação no desempenho e consumo de energia. Está mais relacionado ao processo de descoberta de conhecimento e seu resultado pode ser usado na tarefa de auto ajuste de sistemas de HPC.

Auto Ajuste

Usando IA para configurar (autotune) ambientes HPC. Envolve a escolha do melhor conjunto de parâmetros de computação para atingir algum objetivo, por exemplo, a redução do consumo de energia. A IA pode ser usada para predizer o desempenho e o consumo de energia, melhorar o escalonamento de jobs com base nas predições e auto ajustes de frequência e voltagem.

Green AI

Atualmente a IA é uma das forças mais transformadoras do nosso tempo, com resultados surpreendentes. Esses resultados se devem, em grande parte, ao uso de alta capacidade computacional oferecida pelos ambientes de HPC, os quais ao mesmo tempo requerem muita energia para seu funcionamento, e sendo responsáveis pela emissão de gases de efeito estufa. Assim, avaliar o impacto do treinamento de diferentes algoritmos de IA no consumo energético e na emissão de CO2 equivalente entre diferentes arquiteturas computacionais é o nosso objetivo.

Avaliação de Desempenho

Tem como objetivo entender o comportamento e os principais requisitos computacionais das aplicações científicas em diferentes arquiteturas computacionais (X86, ARM, GPU) e desenvolver ferramentas e abordagens de monitoramento de desempenho. Ser capaz de analisar como cada parâmetro influencia o desempenho de uma aplicação permite a otimização e projeto de novas aplicações e arquiteturas e utilizar esses dados como base em outros projetos como IA após HPC, Auto Ajuste e Green AI.

Computação em Nuvem

Pesquisa na avaliação de arquiteturas de sistemas de computação, desenvolvimento de novos algoritmos, de novas configurações de uso, de novas arquiteturas de processamento, no contexto de computação em larga escala no contexto de Nuvens privadas e/ou públicas.

Membros

Bruno Schulze

Pesquisador Senior / Professor do Laboratório Nacional de Computação Científica (LNCC). Doutorado em Ciência da Computação (UNICAMP) / Fraunhofer Institute for Open Communication Systems (FOKUS (sand.). Mestrado em Eng. Elétrica (COPPE/UFRJ). Atuação na área de Computação, com ênfase em Arquitetura de Sistemas de Computação, principalmente nos temas: middleware, cloud computing, e-ciencia, segurança, escalonamento, virtualização, simulações, entre outros. Editor Associado de IEEE Transactions on Cloud Computing e Journal of Network and Computer Applications. Editor Convidado de edições especiais de Concurrency and Computation: Practice & Experience. Revisor de periódicos como IEEE Transaction on Parallel and Distributed Systems, IEEE Distributed Systems Online, Computer Networks, Computer Communications, Information and Software Technology. Coordenador de diferentes Projetos em Clouds e Multicores. Sociedades: SBC | ACM | IEEE-CS | SBPC.

Mariza Ferro

Doutora em Modelagem Computacional pelo LNCC (2015) e mestre em Ciências da Computação e Matemática Computacional pela USP (2004) com ênfase em Inteligência Artificial. Pós-doutoramento pelo projeto HPC4e EU-Brasil, desenvolvendo pesquisas em análise de desempenho e consumo de energia de simulações científicas. Atualmente é pesquisadora de pós-doutorado no LNCC e seus principais interesses de pesquisa estão na convergência entre IA e HPC, uso de IA para melhorar o desempenho e reduzir o consumo de energia para HPC, Green AI e autotune.

Matheus Gritz

Graduado em Tecnologia da Informação na FAETERJ Petrópolis. Desenvolvedor Fullstack e Cientista de Dados com experiência principalmente em Python, Node.JS, C e desenvolvimento web. Entusiasta de tecnologia e plataformas móveis. Atualmente trabalha em projetos de análise e predição de desempenho computacional e consumo energético utilizando Machine Learning (scikit-learn) e Redes Neurais (Keras). Responsável pelo desenvolvimento e manutenção desse site.

Gabrieli Dutra Silva

Bacharel em Engenharia de Computação pela Universidade Católica de Petrópolis. Atualmente é estudante de Mestrado no LNCC. Possui experiência em computação de alto desempenho (HPC), especialmente em abordagens de monitoramento de desempenho e energia. Atualmente seus interesses de pesquisa estão focados na convergência de HPC e Inteligência Artificial (IA).

Vinícius Klôh

Atualmente é mestrando em Modelagem Computacional pelo LNCC. Possui graduação em Tecnologia da Informação e Comunicação pela FAETERJ Petrópolis e formação técnica em Telecomunicações pelo CEFET Petrópolis. Trabalhou em projetos de gerenciamente de Redes de Computadores e em Computação Científica, analisando o desempenho de simulações e aplicações para o projeto High Performance Computing for Energy (HPC4e).

Felipe Bernardo

Formado pela Universidade Católica de Petrópolis em engenharia da Computação. Trabalhou com analista de suporte e analista de T.I na Fábrica de Telas São Jorge por mais de 5 anos. Atualmente é pesquisador no LNCC, com foco no consumo de energia e geração de C02 por algoritmos de Inteligência Artificial.

Vitor Carlos

Aluno de tecnologia da informação na FAETERJ Petrópolis. Com conhecimento nas linguagens Java, C e Web. Atualmente trabalhando com pesquisas relacionadas à computação de alto desempenho (HPC) no Laboratório Nacional de Computação Científica (LNCC) com foco na avaliação de desempenho e características das aplicações científicas utilizando a metodologia Roofline. Com os objetivos de auxiliar na procura de uma arquitetura ideal, aumentar o desempenho das aplicações e consequentemente reduzir seu custo energético.

Vitor Vieira

Graduando em Tecnologia da Informação na FAETERJ Petrópolis e bolsista de Iniciação Científica no LNCC. Possui conhecimento em Python. Atualmente sua pesquisa é focada em Machine Learning (ML), especificamente avaliando os diferentes algoritmos de ML e os desafios da fase de pré processamento de dados.

Andre Yokoyama

Doutorando em Modelagem Computacional (LNCC).

Publicações

2020

Static job scheduling for environments with vertical elasticity

Henrique Kloh, Vinod EF Rebello, Cristina Boeres, Bruno Schulze, Mariza Ferro

Journal Article @ Concurrency and Computation Practice and Experience

In virtualized environments, such as Clouds, allocating a fixed amount of resources to a job a priori, may result in underutilization of the shared host. Meanwhile, vertical elasticity can be adopted to reduce the impact by resizing virtual machines (VMs) dynamically, in conjunction with suspension and/or migration before the host had been overloaded. In order to reduce the number of such events, but still avoid overloading the host, it is important to find an effective initial VM allocation. To achieve this, the scheduler must work in unison with the local host elasticity controllers to reduce interference. This work proposes and evaluates a framework for job scheduling in elastic memory managed virtualized environments. The memory elasticity management in clouds (MEMiC) framework is a two‐tier VM scheduler for batch jobs which attempts to predict the impact caused by competition for the memory of a host in shared Cloud‐like environments for harnessing VM allocation, suspension, and migration. Evaluations show that the MEMiC achieves a reduction of approximately 19% in the total time for jobs execution in comparison to other approaches, by reducing the degree of interference.

O coronavírus e a desigualdade socioeconômica: um modelo baseado em agentes para simular e avaliar o impacto de intervenções na redução da disseminação da COVID-19 no Rio de Janeiro, Brasil

Mariza Ferro, Vinícius Klôh, Gabrieli Silva, Eric F. de Mello Aráujo, Cristiano de Melo, José Roberto Pinho de Andrade Lima, Ernesto Rademaker Martins

Technical Report @ Universidade Federal de Lavras

O objetivo desta nota técnica é apresentar as simulações, com diferentes medidas de isolamento, para compreender a disseminação e o impacto dessas medidas na redução daCOVID-19, considerando as condições socioeconômicas do Brasil. Para isso foi utilizado um modelo baseado em agentes (ABM), combinado com o modelo de dinâmica epidemiológico SEIR (Suscetível, Exposto, Infectado e Removido), de acordo com as características epidemiológicas da COVID-19. As simulações têm populações heterogêneas, considerando diferentes faixas etárias, diferenças socioeconômicas e número de membros por família, contatos e movimentos intra e inter subpopulações (favelas e não-favelas) e número de Unidades de Terapia Intensiva (UTIs). Além disso, as simulações apresentam diferentes cenários para sugerir como as decisões e consequentes ações poderão influenciar a propagação do vírus no bairro de Copacabana, Rio de Janeiro, Brasil.

The virus and socioeconomic inequality: An agent-based model to simulate and assess the impact of interventions to reduce the spread of COVID-19 in Rio de Janeiro, Brazil

Vinícius Klôh, Gabrieli Silva, Mariza Ferro, Eric F. de Mello Aráujo, Cristiano de Melo, José Roberto Pinho de Andrade Lima, Ernesto Rademaker Martins

Article @ Brazilian Journal of Health Review

The emergence of COVID-19 in China, in December of 2019 led to a local epidemic that rapidly spread to multiple countries in the world, including Brazil. Nowadays, there is an accelerated search to understand the dynamics of the spread of the disease and evaluate the effectiveness of intervention measures. Given these special socioeconomic conditions surrounding Brazil, using the predictive models developed for other countries can make a very incomplete picture of the epidemic, since these differences could result in different patterns in low income settings. The aim of this work is to simulate interventions and understand the impact to reduce the spread of COVID-19 considering the socioeconomic conditions of Brazil. With this purpose we use an agent-based model (ABM), a subarea of the Artificial Intelligence, as it allows us to treat each individual in a personalized manner, as well as the environment of which they are part. The simulations have heterogeneous populations, considering different age groups, socioeconomic differences and number of members per family, contacts and movements intra and inter the sub-populations (favelas and non-favelas), numbers of Intensive Care Unit (ICU) and study different scenarios to show how the interventions can influence the spread of the virus in the population of simulated environments.

SMCis: Scientific Applications Monitoring and Prediction for HPC Environments. Communications in Computer and Information Science

Gabrieli D. Silva, Vinícius P. Klôh, André Yokoyama, Matheus Gritz, Bruno Schulze, Mariza Ferro

Chapter @ High Performance Computing Systems, Springer

Understanding the computational requirements of scientific applications and their relation to power consumption is a fundamental task to overcome the current barriers to achieve the computational exascale. However, this imposes some challenging tasks, such as to monitor a wide range of parameters in heterogeneous environments, to enable fine grained profiling and power consumed across different components, to be language independent and to avoid code instrumentation. Considering these challenges, this work proposes the SMCis, an application monitoring tool developed with the goal of collecting all these aspects in an effective and accurate way, as well as to correlate these data graphically, with the environment of analysis and visualization. In addition, SMCis integrates and facilitates the use of Machine Learning tools for the development of predictive runtime and power consumption models.

Modelo para previsão de posição de objetos em 3D

Jair Agner Júnior, Bruno Schulze, Mariza Ferro, Ernesto Rademaker Martins, Marcos Dos Santos

Article @ BRJD

A previsão de posição de objetos em 3D é um processo complexo, o qual exige algoritmos de associação capazes de lidar com o uso de técnicas de filtragem lineares e não lineares. Os modelos utilizados em sistemas de controle de tráfego aéreo, por serem desenvolvidos em duas dimensões, não são adequados para aplicações com alvos militares devido às variações de altitude que esses objetos desenvolvem. Dessa forma, a partir das informações de posições de um objeto no espaço obtidas por meio de um dado sensor, foi utilizado um método para se deduzir o valor da velocidade do mesmo, de modo a compor o vetor de medidas modelado. Com os dados desse vetor é calculada a próxima posição do objeto medido de forma tridimensional. Esse modelo pode ser implementado em sistemas tanto civis como militares, permitindo previsão de posição de objetos 3D em tempo real. Adotou-se como estimadores de estado o Filtro de Kalman Linear (FK) e o Filtro de Kalman Estendido (FKE) com integração através do agregador de filtros conhecido como IMM (Múltiplos Modelos Interagentes). Exemplos numéricos ilustram a aplicabilidade e desempenho do método proposto.

2019

Artificial Intelligence and High Performance Computing Convergence

Mariza Ferro, Vinicius P. Klôh, Felipe Bernardo de Paula, Bruno Schulze

Banner @ Khipu

The convergence of High Performance Computing (HPC) and Artificial Intelligence (AI) has become a promissing approach to major performance improvements. This combination has much to offer from each other and it’s giving to the users unprecedent capabilities of research. In this interaction HPC could be used by AI (HPC for AI) to execute and enhance the performance of its algorithms. It involves using and evaluating different HPC architectures to train AI algorithms, understand and optimize their performance on different architectures. IA for HPC can be further subdivided in IA after HPC and autotune.

Towards An Autonomous Framework For HPC Optimization: A Study Of Performance Prediction Using Hardware Counters And Machine Learning

Matheus Gritz, Gabrieli D. Silva, Vinícius P. Klôh, Bruno Schulze, Mariza Ferro

Conference Paper @ SPOLM

As the high processing computing becomes even more critical for scientific research across various fields, increasing performance without raising the energy consumption levels becomes an essential task in order to warrant the financial viability of exascale systems. This work presents the first step towards understanding how the many computational requirements of benchmark applications relate to the overall runtime through a machine learning model and how that can be used for the development of an autonomous framework capable of scaling applications to have an optimal trade-off between performance and energy consumption.

Metodologia De Avaliação Operacional Para Sistemas De Computação Científica Distribuída De Alto Desempenho.

Mariza Ferro, Bruno Schulze, Antonio Mury

Conference Paper @ SPOLM

A Computação Massivamente Paralela e Distribuída é fundamental para alavancar o progresso científico em inúmeras áreas da ciência. Porém, cada domínio de investigação tem aplicações com diferentes requisitos computacionais, os quais dependem da definição adequada desses sistemas de alto desempenho para se obter a eficácia e eficiência na resolução dos seus problemas. Assim, o pesquisador se depara com decisões complexas sobre a escolha da melhor infraestrutura para a execução do seu conjunto de aplicações científicas. Além disso, os métodos tradicionais de avaliação de desempenho por meio da execução de benchmarks possuem inúmeras limitações. Com o objetivo de superar essas dificuldades e limitações é que este trabalho apresenta uma metodologia de avaliação operacional que orienta pesquisadores e técnicos na aquisição e manutenção de equipamentos de computação de alto desempenho, voltados aos requisitos das suas aplicações. Foram investigados os comportamentos e requisitos computacionais exigidos para diferentes aplicações e sua combinação com arquiteturas, modelos de programação, tamanhos de problema e as relações com o desempenho. O conhecimento obtido viabilizou o desenvolvimento da metodologia, que foi avaliada por meio de um estudo de caso, no qual suas contribuições foram mensuradas.

Avaliação Do Uso De Meta-heurísticas Baseadas No Comportamento Da Natureza Em Apoio a Operações De Esclarecimento Por Aeronaves De Asa Móvel

André Yokoyama, Antonio Mury, Mariza Ferro, Bruno Schulze

Conference Paper @ SPOLM

O principal objetivo deste trabalho é a avaliação de duas meta-heurísticas inspiradas na natureza, Algoritmos Genéticos e Colônia de Formigas, para o desenvolvimento de uma aplicação que possa gerar rotas otimizadas para aeronaves, atendendo às exigências da Marinha do Brasil. Este trabalho apresenta os métodos desenvolvidos, obedecendo a duas restrições principais: a mobilidade dos pontos de checagem e a autonomia limitada das aeronaves. Apresenta também os resultados dos testes realizados com os métodos desenvolvidos e uma avaliação de seus desempenhos.

Modelo para previsão de posição de objetos em 3D

Jair Agner Júnior, Bruno Schulze, Mariza Ferro, Ernesto Rademaker Martins, Marcos Dos Santos

Conference Paper @ SPOLM

A previsão de posição de objetos em 3D é um processo complexo, o qual exige algoritmos de associação capazes de lidar com o uso de técnicas de filtragem lineares e não lineares. Os modelos utilizados em sistemas de controle de tráfego aéreo, por serem desenvolvidos em duas dimensões, não são adequados para aplicações com alvos militares devido às variações de altitude que esses objetos desenvolvem. Dessa forma, a partir das informações de posições de um objeto no espaço obtidas por meio de um dado sensor, foi utilizado um método para se deduzir o valor da velocidade do mesmo, de modo a compor o vetor de medidas modelado. Com os dados desse vetor é calculada a próxima posição do objeto medido de forma tridimensional. Esse modelo pode ser implementado em sistemas tanto civis como militares, permitindo previsão de posição de objetos 3D em tempo real. Adotou-se como estimadores de estado o Filtro de Kalman Linear (FK) e o Filtro de Kalman Estendido (FKE) com integração através do agregador de filtros conhecido como IMM (Múltiplos Modelos Interagentes). Exemplos numéricos ilustram a aplicabilidade e desempenho do método proposto.

Towards an Autonomous Framework for HPC Optimization: Using Machine Learning for Energy and Performance Modeling

Vinícius Klôh, Matheus Gritz, Bruno Schulze, Mariza Ferro

Short Paper @ WSCAD

Performance and energy efficiency are now critical concerns in high performance scientific computing. It is expected that requirements of the scientific problem should guide the orchestration of different techniques of energy saving, in order to improve the balance between energy consumption and application performance. To enable this balance, we propose the development of an autonomous framework to make this orchestration and present the ongoing research to this development, more specifically, focusing in the characterization of the scientific applications and the performance modeling tasks using Machine Learning.

Power Consumption Using Internal Sensors: An Analysis For Different GPU Models

André M. Yokoyama, Vinícius P. Klôh, Gabrieli D. Silva, Mariza Ferro, Bruno Schulze

Chapter @ Fundamentos da Ciência da Computação, Editora Atena

GPUs has been widely used in scientific computing, as by offering exceptional performance as by power-efficient hardware. Its position established in high-performance and scientific computing communities has increased the urgency of understanding the power cost of GPU usage in accurate measurements. For this, the use of internal sensors are extremely important. In this work, we employ the GPU sensors to obtain high-resolution power profiles of real and benchmark applications. We wrote our own tools to query the sensors of two NVIDIA GPUs from different generations and compare the accuracy of them. Also, we compare the power profile of GPU with CPU using IPMItool.

Evaluation of nature inspired metaheuristics for search and reconnaissance operations by rotary-wing aircrafts

André M. Yokoyama, Antonio Roberto Mury, Bruno Schulze, Mariza Ferro

Article @ BJRD

The main objective of this work is the evaluation of two nature inspired meta-heuristics, Genetic Algorithms and Ant Colony, for the development of an application that can generate optimized routes for aircraft, attending the requirements of the Brazilian Navy. This work presents the methods developed, complying with two main constraints: checkpoints mobility and limited aircraft autonomy. It also presents the results of tests performed with the methods developed and an evaluation of their performances.

The survey on ARM processors for HPC

Daniel Yokoyama, Bruno Schulze, Fábio Borges, Giacomo Mc Evoy

Article @ The Journal of Supercomputing, Springer

The ongoing effort to reach the exascale computing barrier has led to a myriad of research and publications in the topic of alternative energy-efficient architectures, such as ARM, for HPC systems. The staggering pace at which ARM architectures have evolved has increased the volume of publications on this topic even more. A complex subject as the race to exascale touches on several aspects such as floating-point performance, scalability issues in coupled workloads, net energy consumption and ratio of energy to performance. In this context, we see the opportunity to contribute to this subject by: (1) analyzing the state of the art to identify essential papers; (2) highlighting important developments of ARM architecture in support to HPC; (3) discussing both positive and negative trends observed regarding the use of ARM for HPC; and (4) listing key topics concerning the use of ARM for exascale computing, along with distinguished references for each one.

Alocação de Ambientes Virtuais com base na Afinidade entre Perfis de Aplicações Massivamente Paralelas e Distribuída

Victor Oliveira, Jonathan Barbosa, Matheus Bandini, Bruno Schulze, Raquel Pinto

Article @ SBRC

Este artigo apresenta um algoritmo de escalonamento de máquinas virtuais que executam aplicações de Computação Massivamente Paralela e Distribuída (CMPD), com uso intensivo de CPU, memória e I/O. O método de escalonamento tem por finalidade tratar a alocação das máquinas virtuais em ambientes de nuvens computacionais com base no conceito de “Afinidade” entre aplicações. Para a implementação do método, foi realizado o monitoramento do consumo de recursos das máquinas virtuais para obter dados históricos de execução que permitem determinar os perfis das aplicações. Como resultado, foi criado um escalonador para alocar máquinas virtuais, cujos objetivos são evitar combinações de aplicações que causem degradação do desempenho entre si e melhorar a taxa de utilização dos recursos computacionais.

Contato

Ficou interessado em nossos projetos? Entre em contato conosco.