Exportar registro bibliográfico

Adding native support for task scheduling to a Linux-capable RISC-V multicore system (2019)

  • Authors:
  • Autor USP: MORAIS, LUCAS HENRIQUE - IME
  • Unidade: IME
  • Sigla do Departamento: MAC
  • Assunto: CIÊNCIA DA COMPUTAÇÃO
  • Keywords: Chisel; Chisel; Paralelismo por tarefas; Parallel programming; Programação paralela; RISC-V; RISC-V; Rocket chip; Rocket chip; Task scheduling
  • Agências de fomento:
  • Language: Inglês
  • Abstract: Paralelismo por Tarefas é uma técnica genérica de extração de paralelismo de granularidade arbitrária aplicável a 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 tarefas. O desempenho de aplicações paralelas baseadas nesse paradigma depende da velocidade com a qual o runtime de Paralelismo por Tarefas que lhe dá suporte é capaz de detectar tais dependências, fato que é ainda mais crítico para aplicações envolvendo tarefas de granularidade fina, já que nesse cenário o overhead de escalonamento não é amortizado por períodos significativamente maiores de computação útil. Recentemente, diversos grupos têm desenvolvido Sistemas de Suporte a Paralelismo por Tarefas 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 tarefas 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 tarefas muito finas. Motivados por isso, implementamos um Sistema de Suporte Nativo a Paralelismo por Tarefas isto é, um processador com suporte arquitetural nativo aParalelismo por Tarefas com o objetivo de reduzir consideravelmente tais overheads de comunicação. Mais especificamente, integramos a lógica em hardware do Picos, um acelerador de Paralelismo por Tarefas 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 contém em sua ISA (Instruction Set Architecture) as instruções necessárias para que aplicações baseadas em tarefas possam interagir diretamente com essa lógica de escalonamento, minimizando os overheads associados ao uso de runtimes intermediários e eliminando toda a latência de comunicação FPGA-CPU. Para avaliar a performance do protótipo que então se construiu, nós tanto (1) adaptamos o runtime de escalonamento de tarefas Nanos para que ele pudesse ser acelerado pelas novas instruções de escalonamento de tarefas, quanto (2) criamos um novo runtime leve de escalonamento de tarefas a que demos o nome de Phentos. Nossos experimentos mostram que programas baseados em paralelismo por tarefas usando o runtime Nanos-RV a versão do runtime Nanos com suporte ao sistema que produzimos são executados em média 2,13 vezes mais rapidamente do que versões dos mesmos programas utilizando a versão básica do Nanos, enquanto programas executados com o Phentos são em média 13,19 vezes mais rápidos do que suas versões correspondentes baseadas na mesma versão básica do Nanos. Tais valoresmédios correspondem à média geométrica dos conjuntos de dados pertinentes. Usando oito núcleos, Nanos-RV entrega ganhos de desempenho com relação a execuções seriais de até 5,62 vezes, enquanto Phentos entrega ganhos de até 5,72 vezes
  • Imprenta:
  • Data da defesa: 22.08.2019
  • Acesso à fonte
    How to cite
    A citação é gerada automaticamente e pode não estar totalmente de acordo com as normas

    • ABNT

      MORAIS, Lucas Henrique. Adding native support for task scheduling to a Linux-capable RISC-V multicore system. 2019. Dissertação (Mestrado) – Universidade de São Paulo, São Paulo, 2019. Disponível em: http://www.teses.usp.br/teses/disponiveis/45/45134/tde-28092019-060958/. Acesso em: 02 jan. 2026.
    • APA

      Morais, L. H. (2019). Adding native support for task scheduling to a Linux-capable RISC-V multicore system (Dissertação (Mestrado). Universidade de São Paulo, São Paulo. Recuperado de http://www.teses.usp.br/teses/disponiveis/45/45134/tde-28092019-060958/
    • NLM

      Morais LH. Adding native support for task scheduling to a Linux-capable RISC-V multicore system [Internet]. 2019 ;[citado 2026 jan. 02 ] Available from: http://www.teses.usp.br/teses/disponiveis/45/45134/tde-28092019-060958/
    • Vancouver

      Morais LH. Adding native support for task scheduling to a Linux-capable RISC-V multicore system [Internet]. 2019 ;[citado 2026 jan. 02 ] Available from: http://www.teses.usp.br/teses/disponiveis/45/45134/tde-28092019-060958/


Digital Library of Intellectual Production of Universidade de São Paulo     2012 - 2026