Serviços de comunicação diferenciados em sistemas multiprocessados em chip baseados em redes intra-chip - Carara, Everton Alceu (2011)
Sistemas multiprocessados em chip (MPSoCs - Multiprocessor Systems-on-Chip) estão sendo considerados como provável padrão para implementar os sistemas embarcados futuros. O poder computacional destas plataformas possibilita a execução simultânea de diversas aplicações com diferentes requisitos. O emprego de redes intrachip (NoCs Networks-on-Chip) como infraestrutura de comunicação em tais plataformas é uma realidade em pesquisas acadêmicas e projetos industriais. NoCs são comumente vistas como alternativa aos tradicionais barramentos, oferecendo como principais vantagens escalabilidade e suporte a diversas comunicações em paralelo. Contudo, a motivação para o seu emprego em SoCs (Systems-on-Chip) vai além dessas vantagens óbvias, visto que NoCs podem suportar diversos serviços de comunicação com diferentes níveis de qualidade. Visto que comumente as aplicações que executam em MPSoCs são compostas por diferentes tarefas comunicantes, o eficiente suporte à comunicação tem um papel fundamental no desempenho destas e é uma área estratégica no desenvolvimento de plataformas multiprocessadas. Muitos trabalhos têm sido conduzidos na última década nas áreas de NoCs e MPSoCs, entretanto poucos tratam a lacuna existente entre os níveis de rede (serviços de comunicação) e de aplicação em MPSoCs baseados em NoC. Este trabalho tem por objetivo a implementação de diferentes serviços de comunicação no nível de rede e a disponibilização destes no nível de aplicação, preenchendo assim a lacuna existente entre tais níveis através de uma melhor integração hardware/software. A metodologia de projeto seguida neste trabalho parte da implementação de mecanismos específicos no nível da rede, os quais dão suporte a serviços de comunicação diferenciados. Tais serviços são expostos no nível de aplicação através de primitivas que compõem a API (Application Programming Interface) de comunicação. O propósito desta abordagem é oferecer ao desenvolvedor de aplicações meios, em software, para satisfazer os requisitos de comunicação das aplicações, especialmente daquelas com restrições temporais. As avaliações realizadas mostram o funcionamento e os benefícios obtidos através da utilização dos serviços implementados, além de apontar alguns cenários onde estes não se adequam tão bem.