Busca avançada
Ano de início
Entree

Adicionando suporte nativo de escalonamento de tarefas a um processador rocket chip RISC-V multi-core

Processo: 18/00687-0
Modalidade de apoio:Bolsas no Exterior - Estágio de Pesquisa - Mestrado
Data de Início da vigência: 28 de fevereiro de 2018
Data de Término da vigência: 27 de junho de 2018
Área de conhecimento:Ciências Exatas e da Terra - Ciência da Computação - Sistemas de Computação
Pesquisador responsável:Alfredo Goldman vel Lejbman
Beneficiário:Lucas Henrique Morais
Supervisor: Rosa Maria Badia Sala
Instituição Sede: Instituto de Matemática e Estatística (IME). Universidade de São Paulo (USP). São Paulo , SP, Brasil
Instituição Anfitriã: Barcelona Supercomputing Center (BSC), Espanha  
Vinculado à bolsa:17/02682-2 - Projetando uma arquitetura manycore com suporte nativo a paralelismo baseado em tarefas, BP.MS
Assunto(s):Circuitos FPGA   Arquitetura e organização de computadores   Paralelismo   Problemas de programação de tarefas
Palavra(s)-Chave do Pesquisador:Accelerator | Fpga | parallel programming | Parallelization Technique | Risc-V | Task scheduling | Arquitetura de Computadores

Resumo

Task Scheduling é uma técnica genérica de extração de paralelismo de granularidade arbitrária aplicável sobre programas de vários domínios, com mínimo impacto sobre legibilidade de código, baseada na inferência automática de dependências de dados entre tasks. O desempenho de aplicações paralelas baseadas nesse paradigma depende da velocidade com a qual o runtime de Task Scheduling que lhe dá suporte é capaz de detectar tais dependências, fato que é ainda mais crítico para aplicações envolvendo tasks de granularidade fina, já que nesse cenário o overhead de escalonamento não é amortizado por períodos significativamente maiores de computação útil. Sendo assim, recentemente, diversos grupos têm desenvolvido Sistemas de Suporte a Task Scheduling acelerados por FPGAs, os quais são capazes de fazer offload das operações de inferência de dependências para um acelerador em FPGA de modo a melhorar o seu desempenho ao lidar com tasks de granularidade fina. Por outro lado, ainda que esses sistemas acelerados por FPGA apresentem ganhos substanciais com relação às alternativas baseadas puramente em software, o desempenho dessas soluções é prejudicado por gargalos de comunicação entre a CPU e a FPGA, os quais limitam a capacidade desses sistemas de lidar com cenários envolvendo grande número de núcleos ou tasks muito finas. Motivados por isso, propomos então a implementação de um Sistema de Suporte Nativo a Task Scheduling - isto é, um processador com suporte arquitetural nativo a Task Scheduling - com o objetivo de reduzir consideravelmente tais overheads de comunicação. Mais especificamente, propomos a integração da lógica em HW do Picos++, um acelerador de Task Scheduling desenvolvido pelo Barcelona Supercomputing Center (BSC), ao Rocket Chip, uma implementação multi-core de código livre do RISC-V desenvolvida pela Universidade da Califórnia, Berkeley. O sistema resultante conterá em sua ISA as instruções necessárias para que aplicações baseadas em tasks possam interagir diretamente com essa lógica de escalonamento, removendo os overheads associados ao uso de runtimes intermediários além de eliminar toda a latência de comunicação própria da comunicação FPGA-CPU. (AU)

Matéria(s) publicada(s) na Agência FAPESP sobre a bolsa:
Mais itensMenos itens
Matéria(s) publicada(s) em Outras Mídias ( ):
Mais itensMenos itens
VEICULO: TITULO (DATA)
VEICULO: TITULO (DATA)

Publicações científicas
(Referências obtidas automaticamente do Web of Science e do SciELO, por meio da informação sobre o financiamento pela FAPESP e o número do processo correspondente, incluída na publicação pelos autores)
MORAIS, LUCAS; SILVA, VITOR; GOLDMAN, ALFREDO; ALVAREZ, CARLOS; BOSCH, JAUME; FRANK, MICHAEL; ARAUJO, GUIDO; ASSOC COMP MACHINERY. Adding Tightly-Integrated Task Scheduling Acceleration to a RISC-V Multi-core Processor. MICRO'52: THE 52ND ANNUAL IEEE/ACM INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE, v. N/A, p. 12-pg., . (17/02682-2, 14/25694-8, 18/00687-0)