Artigo publicado pelos membros do LARCC Adriano Vogel e Dalvan Griebler

Artigo redigido por integrantes do LARCC, Adriano Vogel e Dalvan Griebler,  foi publicado no periódico internacional “Software: Practice and Experience” da editora Wiley, tendo o periódico um escopo voltado para a discussão de experiências e aspectos práticos de softwares para sistemas e aplicações computacionais. O artigo publicado é intitulado “Providing high-level self-adaptive abstractions for stream parallelism on multicores”, e pode ser acessado pelo link.

“Adriano destaca  que o artigo publicado tem sinergia com a área de Cloud Computing estudada no LARCC. A solução proposta, de oferecer abstrações para sistemas e aplicações computacionais, pode ser usada em ambientes e em aplicações que foram ou serão migradas para ambientes de nuvem, seja para melhorar a qualidade dos serviços ou diminuir custos sem intervenção humana.”

A menção de abstrações pode ser entendida como oferecer facilidades aos usuários ou programadores de aplicações e sistemas computacionais, a autoadaptatividade pode ser vista como se adaptar automaticamente à execução de aplicações para um determinado contexto ou objetivo. A autoadaptatividade foi a forma usada no artigo para oferecer abstrações com maior dinamicidade. Nesse caso, a abstração oferecida é voltada para execuções paralelas (múltiplas tarefas executadas simultaneamente) em aplicações que processam um fluxo contínuo de dados em tempo real, como aplicações de áudio, vídeo e sistemas da bolsa de valores.

Adriano é membro do LARCC desde 2014 e Dalvan é coordenador do LARCC. O artigo publicado é parte da pesquisa desenvolvida por Adriano no mestrado (concluído) e doutorado (em andamento) na PUCRS (Pontifícia Universidade Católica do Rio Grande do Sul) com a co-orientação de Dalvan. As principais contribuições do artigo são: 1) novas estratégias autoadaptativas que abstraem e gerenciam de forma autonômica o paralelismo em aplicações; 2) Regras de transformação para gerar automaticamente código otimizado usando um compilador; 3) Experimentos de avaliação do desempenho da solução proposta usando aplicações com diferentes cargas de trabalho.