| 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 | |
| TITULO | |
| Matéria(s) publicada(s) em Outras Mídias ( ): | |
| Mais itensMenos itens | |
| VEICULO: TITULO (DATA) | |
| VEICULO: TITULO (DATA) | |