Proposta e implementação de uma abstração para migração de processos no Nanvix
Author:
Vanz, Nicolas
Abstract:
A classe de processadores lightweight manycore surgiu para prover um alto grau de paralelismo e eficiência energética. Contudo, o desenvolvimento de aplicações para esses processadores enfrenta diversos problemas de programabilidade provenientes de suas peculiaridades arquitetônicas. Especialmente, o gerenciamento de processos precisa mitigar problemas provenientes das pequenas memórias locais e da falta de um suporte robusto para virtualização. Nesse contexto, este trabalho visa desenvolver o suporte da migração de processos em um Sistema Operational (SO) distribuído para lightweight manycores através de uma abordagem de virtualização leve baseada em contêineres. Particularmente, este trabalho está incluído no projeto Nanvix, um SO distribuído de código aberto projetado para lightweight manycores. O suporte inicial proposto explora o subsistema de threads, memória e chamadas de sistema do Nanvix, onde propomos uma estrutura que isola
dependências locais que um processo de usuário possui das informações internas de kernel. Desse modo, a migração pode ser realizada sem gerar muito sobrecusto ao SO. Testes realizados utilizando um processador lightweight manycore (Kalray MPPA-256) mostraram que o agrupamento de dados provido pelo isolamento das dependências do processo impactou positivamente no desempenho do subsistema de threads por explorar melhor a localidade dos dados na cache.