GMAP

Adriano Vogel foi aprovado com louvor em sua defesa de Tese

No dia 21 de março, Adriano Vogel (pesquisador do GMAP) defendeu sua tese  “Self-adaptive abstractions for efficient high-level parallel computing in multi-cores” na Escola Politécnica da Pontifícia Universidade Católica do Rio Grande do Sul (PUCRS). A defesa foi realizada através de videoconferência por consequência do Covid-19.

Principais resultados:

Hoje em dia, uma parte significativa dos sistemas de computação e aplicações do mundo real exigem paralelismo para acelerar as suas execuções. Embora a programação paralela estruturada de alto nível tenha como objetivo facilitar a exploração do paralelismo, ainda há questões a tratar para melhorar as abstrações de programação paralela existentes. Normalmente, os criadores de aplicações ainda têm de definir configurações não-intuitivas ou complexas de paralelismo.

Neste contexto, a auto-adaptação é uma alternativa potencial para fornecer um nível mais elevado de abstracção autónomas e de resposta em tempo de execução em execuções paralelas. Contudo, um problema recorrente é que a auto-adaptação ainda é limitada em termos de flexibilidade, eficiência e abstrações. Por exemplo, há uma falta de mecanismos para aplicar ações de adaptação e estratégias eficientes de tomada de decisão para decidir que configurações devem ser aplicadas em tempo de execução. Neste trabalho, estamos interessados em abstrações realizáveis com auto-adaptação gerindo de forma transparente as execuções enquanto os programas paralelos estão em execução (em tempo de execução). Os nossos principais objectivos são aumentar o espaço de adaptação para ser mais representativo das aplicações do mundo real e tornar a auto-adaptação mais eficiente com metodologias de avaliação abrangentes, que podem fornecer casos de utilização que demonstrem os verdadeiros potenciais da auto-adaptação. A tese de doutorado forneceu as seguintes contribuições científicas:

  1. Categorizações, uma taxonomia, um catálogo de optimização de auto-adaptação, e uma discussão dos desafios de investigação e perspectivas de execuções auto-adaptativas em processamento paralelo de stream;
  2. Um framework conceptual para a tomada de decisões em execuções paralelas auto-adaptativas;
  3. Estratégias para um número auto-adaptável de réplicas para aplicações com um único estágio paralelo. As estratégias apoiam requisitos não funcionais tais como latência e rendimento, e SLO para gerir a utilização de recursos, minimizando a sobrecarga de auto-adaptação, e proporcionando uma gestão de paralelismo sem descontinuidades;
  4. Mecanismo, modelos, e estratégias para estruturas de composição de aplicações auto-adaptáveis; 
  5. Mecanismo e estratégia para um número alto-adaptativo de réplicas em composições complexas dentro das estruturas de composições das aplicações.

A solução proposta foi aplicada ao contexto de aplicações de processamento de stream, um paradigma representativo presente em várias aplicações do mundo real que computam o fluxo de dados sob a forma de streams (por exemplo, alimentação de vídeo, imagem, e análise de dados). Uma parte das soluções propostas é avaliada com SPar e outra parte com o framework de programação FastFlow.

Os resultados demonstram que a auto-adaptação pode fornecer abstrações de paralelismo eficientes e capacidade de resposta autónoma em tempo de execução, mas ainda assim alcançar um desempenho competitivo em relação às melhores execuções estáticas.

Comitê de avaliação:

Prof. Ph.D. Rodrigo da Rosa Righi (Unisinos)

Prof. Ph.D. Virginia Niculescu (BBU)

Prof. Ph.D. Fernando Luís Dotti (PUCRS)

Orientadores:

Prof. Ph.D. Luiz Gustavo Fernandes (PUCRS – Advisor)

Prof. Ph.D. Marco Danelutto (UNIPI – Advisor)

Prof. Ph.D. Dalvan Griebler (PUCRS – Co-Advisor)