Alocação de tarefas e comunicação entre tarefas em MPSoCs

AUTOR(ES)
DATA DE PUBLICAÇÃO

2007

RESUMO

MPSoCs (do inglês, Multiprocessor System On Chip) constituem uma tendência no projeto de sistemas embarcados, pois possibilitam o melhor atendimento dos requisitos da aplicação. Isso se deve ao fato de que a arquitetura desses sistemas é composta por vários processadores, módulos de hardware dedicados, memória e meio de interconexão, fornecendo um maior poder computacional quando comparados a sistemas monoprocessados equivalentes. No entanto, estratégias que possibilitem o aproveitamento da capacidade de processamento destas arquiteturas precisam ser mais bem entendidas e exploradas. Para isso, é necessário dispor de infra-estruturas de hardware e software que habilitem gerenciar a execução de tarefas no MPSoC. A partir destas infra-estruturas deve ser possível, por exemplo, mapear tarefas dinamicamente nos processadores, balanceando a carga de trabalho do MPSoC através de estratégias de alocação dinâmica de tarefas. O estado da arte da bibliografia no tema explora estratégias de alocação estática e dinâmica de tarefas sobre MPSoCs e avalia a viabilidade e eficiência das mesmas. Contudo, a necessidade de criação das infra-estruturas de hardware e software para viabilizar a exploração destas estratégias constitui-se um gargalo no avanço desta tecnologia. Adicionalmente, a maioria dos trabalhos utiliza plataformas modeladas em níveis muito abstratos de modelagem para avaliação das abordagens pesquisadas, reduzindo a confiabilidade dos resultados relatados. A principal contribuição do presente trabalho é a proposta e implementação de uma plataforma MPSoC denominada HMPS (Hermes Multiprocessor System). HMPS conta com uma infra-estrutura de hardware e uma infra-estrutura de software, capazes de gerenciar a execução de tarefas no sistema. A plataforma HMPS é baseada em multiprocessamento homogêneo, e possui uma arquitetura de processadores mestre-escravo. A plataforma utiliza como meio de interconexão uma rede intra-chip (NoC) e possibilita que tarefas possam ser alocadas estática e/ou dinamicamente no sistema. Com isso, várias estratégias de alocação distintas podem ser implementadas e avaliadas. HMPS deverá ser um ponto de partida para vários trabalhos, contribuindo para a pesquisa na área de MPSoCs. Este documento apresenta a proposta e a implementação da plataforma HMPS. Para a infra-estrutura de hardware utilizou-se a NoC HERMES, desenvolvida pelo grupo de pesquisa GAPH, e o processador de código aberto Plasma disponível no site OpenCores. Módulos de hardware foram desenvolvidos e alterações no código do Plasma foram realizadas, visando conectar o processador à NoC e realizar a alocação de tarefas na memória do processador. Para a infraestrutura de software, foi desenvolvido um microkernel multitarefa que executa em cada processador escravo e a aplicação de alocação de tarefas que executa no processador mestre. São exploradas duas estratégias de alocação de tarefas: uma estática e uma dinâmica

ASSUNTO(S)

multiprocessadores ciencia da computacao arquitetura de computador informÁtica

Documentos Relacionados