Nome do Projeto
Estratégias para escalonamento de tarefas em arquiteturas multithread
Ênfase
PESQUISA
Data inicial - Data final
13/02/2015 - 12/02/2018
Unidade de Origem
Coordenador Atual
Área CNPq
Ciências Exatas e da Terra - Ciência da Computação - Sistema de Computação
Resumo
Com a popularização de arquiteturas multicore, cresceu a demanda por desenvolvimento de software concorrente. Como resultado, diversas ferramentas de programação multithread foram apresentadas ao mercado. Uma característica comum a estas ferramentas é a incorporação de estratégias elaboradas de execução que visam otimizar algum índice de desempenho. O foco, tipicamente, é a redução do tempo total de execução. Neste projeto busca-se identificar a relação entre a interface de programação oferecida pelas diferentes ferramentas e suas heurísticas de escalonamento. O produto a ser obtido é uma ferramenta de programação multithread que forneça resultados de desempenho (tempo de execução) comparáveis às ferramentas disponíveis no mercado.Os avanços a serem obtidos dizem respeito ao estado da arte em interfaces para programação multithread e nas estratégias de escalonamento de threads em ambientes multithread dinâmicos. A metodologia de desenvolvimento inclui a condução dos experimentos sobre uma plataforma multiprocessada do tipo NUMA (non-uniform memory access) e realização de estudo de caso considerando heurísticas de escalonamento sensíveis ao consumo energético.

Objetivo Geral

O produto final deste projeto consistirá em um software disponibilizado sob a forma de uma biblioteca de funções e/ou classes em C++. A combinação dos serviços disponibilizados permitirá especificar diferentes estratégias de escalonamento e comporá uma ferramenta para programação de aplicações multithread, evoluindo a atual versão de Athreads ‎[9]‎[11].

Para obter este produto final, os seguintes objetivos deverão ser alcançados:

1. Identificar como a heurística de escalonamento adotada por diferentes ferramentas de programação multithread influencia na especificação das respectivas interfaces de programação.
2. Identificar como diferentes abstrações de programação de alto nível, representada por esqueletos de paralelismo, podem requerer diferentes estratégias de escalonamento.
3. Propor, implementar e avaliar diferentes estratégias de escalonamento baseadas em algoritmo de lista para ambientes dinâmicos visando redução do tempo de execução em arquiteturas multiprocessadas do tipo NUMA.
4. Estruturar, na forma de uma biblioteca, a estratégia de escalonamento desenvolvida aplicando diferentes políticas priorização de tarefas e avaliar o comportamento individual destas em estudos de casos.
5. Propor, implementar e avaliar uma estratégia de escalonamento baseada em algoritmo de lista para ambientes dinâmicos que considere o consumo energético como um dos critérios de alocação de tarefas.
6. Oferecer uma ferramenta de programação multithread adequada à estratégia de escalonamento desenvolvida

Equipe do Projeto

NomeCH SemanalData inicialData final
ALAN SCHLINDVEIN DE ARAUJO613/02/201512/02/2018
ANDRE RAUBER DU BOIS213/02/201512/02/2018
BRUNO GIACOBO PINTO1213/02/201512/02/2018
GUILHERME PORTO BRITTO COUSIN413/02/201512/02/2018
JONATHAS AUGUSTO DE OLIVEIRA CONCEIÇÃO1201/08/201631/07/2017
JUAN DA SILVA RIOS1201/08/201631/07/2017
JUAN DA SILVA RIOS1201/08/201531/07/2016
LUCAS MENDONÇA DE SOUZA XAVIER613/02/201512/02/2018
MAURICIO LIMA PILLA213/02/201512/02/2018
RAFAEL PICCIN TORCHELSEN213/02/201512/02/2018

Página gerada em 25/01/2021 20:50:33 (consulta levou 0.094384s)