• Nenhum resultado encontrado

Figura 1: Arquitetura MPSoC baseada em NoC, adaptado de (RUARO et al., 2016)

N/A
N/A
Protected

Academic year: 2021

Share "Figura 1: Arquitetura MPSoC baseada em NoC, adaptado de (RUARO et al., 2016)"

Copied!
5
0
0

Texto

(1)

UM ESTUDO SOBRE OS DESAFIOS ATUAIS DE SISTEMAS MULTIPROCESSADOS EMBARCADOS

1. INTRODUÇÃO

Sistemas Embarcados (SE) são sistemas computacionais projetados para um propósito específico. Diferente de um sistema de computador de uso geral, ele é usado para tarefas pré-determinadas (JABEEN et al., 2016). SE estão em diversos produtos do mundo atual, tais como: carros, eletrodomésticos, smartphones, impressoras, semáforos, etc. Tal tecnologia foi alcançada pelo aumento na capacidade de se integrar transistores, o que culminou com o surgimento do SoC (System on Chip) (ZEFERINO, 2003). Um SoC contém componentes como processador, memória, controladores, todos integrados em um único chip.

MPSoC (Multiprocessor System on Chip) é um tipo de SoC composto por múltiplos núcleos de processamento, permitindo a execução de múltiplas tarefas em paralelo. Para que seja possível a comunicação entre todos os componentes de um MPSoC, pode se fazer uso de barramentos de interconexão ou de redes intra chip (NoC do inglês Network on Chip). O uso de barramentos limita a escalabilidade e pode acarretar em perda de desempenho (MORAES et al., 2004). Em MPSoCs, o mais adequado é fazer uso de uma NoC, pois ela oferece uma infraestrutura de comunicação escalável e flexível com alto suporte a modularidade e seu desempenho é poderoso (HESHAM et al., 2017). A Figura 1 apresenta um MPSoC com comunicação baseada em NoC. Essa arquitetura é constituída de vários elementos de processamento, os Processing Element (PE). Cada PE contém processador, memória local, interface de rede, DMA (Direct Memory Access) e um roteador da NoC.

Figura 1: Arquitetura MPSoC baseada em NoC, adaptado de (RUARO et al., 2016) O que faz com que se torne vantajoso utilizar MPSoC é a possibilidade de dividir a carga de trabalho entre seus elementos processadores, permitindo altos ganhos em desempenho computacional e energético (PEREIRA, 2014). Além disso, está se tornando o estilo de projeto mais usado para atingir metas rígidas de chegada do produto ao mercado, para maximizar a reutilização do projeto, simplificar o processo de verificação e para fornecer flexibilidade e programabilidade de plataformas complexas após a fabricação (MARTIN, 2006).

(2)

Entretanto, ao se projetar estes sistemas existem muitos desafios encontrados. Questões relativas ao mapeamento de tarefas, consumo de energia, escalabilidade e outras são levantadas. Este artigo tem por objetivo fazer um levantamento nas bases científicas e listar os principais desafios encontrados atualmente relacionados a MPSoCs.

O restante deste artigo é organizado como segue. A Seção 2 apresenta as bases científicas utilizadas na pesquisa, os termos buscados e o processo de seleção dos trabalhos. A Seção 3 aborda os desafios em MPSoC encontrados e, por fim, as considerações finais são realizadas na Seção 4.

2. METODOLOGIA

Para o desenvolvimento desta pesquisa, realizou-se buscas de termos em bases científicas online. Foram utilizadas as bases: ACM Digital Library, IEEE Explore Digital Library e Google Acadêmico. Os termos buscados nas duas primeiras bases foram: “MPSoC + Challenges”, “MPSoC + Survey”, “MPSoC + Energy” e “MPSoC + Scalability”. O termo “Desafios + MPSoC” foi procurado na base Google Acadêmico. Buscando-se determinar se o trabalho abordava algum desafio em MPSoC, foram lidos o título e o resumo dos primeiros resultados obtidos em cada base. A seguir, os trabalhos selecionados foram submetidos a uma leitura completa para identificar aqueles de maior correlação com o tema de interesse. Além disso, alguns trabalhos foram selecionados mediante a citação em outros.

3. RESULTADOS e DISCUSSÃO

A seguir são apresentados os desafios em MPSoC divididos em cinco categorias, sendo elas: Mapeamento, Energia, Segurança, Organização da Memória e Depuração.

3.1. Mapeamento

No MPSoC, várias aplicações podem executar ao mesmo tempo e requerer recursos do sistema. Para cada aplicação, muitas vezes há diferentes fases do programa, cada uma com seus requisitos. Um exemplo é uma aplicação de vídeo que pode reduzir sua resolução de forma dinâmica, diminuindo suas demandas computacionais a fim de economizar energia. Como consequência disso, o comportamento das cargas de trabalho da aplicação executando no sistema integrado pode mudar drasticamente ao longo do tempo. É nesse contexto que o processo de mapeamento de tarefas de aplicações desempenha um papel fundamental na exploração das propriedades do sistema, de modo que as aplicações possam atender às suas exigências (QUAN; PIMENTEL, 2015).

O consumo de energia torna-se importante em dispositivos portáteis. Por outro lado, o atendimento dos prazos das tarefas é fundamental em sistemas com restrições de tempo real. Assim, decisões de mapeamento podem influenciar drasticamente o desempenho do sistema (MANDELLI, 2011). Portanto, o mapeamento em MPSoC é uma questão ainda muito explorada na comunidade científica, que continua a propor soluções que beneficiem o desempenho e a eficiência energética, como os trabalhos de GOENS (2017) e RUARO e MORAES (2016).

(3)

O alto desempenho computacional em MPSoC é limitado pelas altas densidades de energia e o aquecimento em circuitos integrados, de modo que o MPSoC enfrenta vários problemas térmicos. Temperaturas elevadas podem levar a problemas de confiabilidade a longo prazo e erros funcionais a curto prazo (THIELE et al., 2013). Erros funcionais são aqueles resultantes de erros de design, ataques maliciosos, e que afetam a correta função do sistema, já os erros não funcionais são causados por efeitos ambientais como radiação, temperatura, etc. O envelhecimento e fenômenos de desgaste, como a eletromagnetização, aumentam a susceptibilidade de erros ao longo da vida útil do hardware (DUTT et al., 2017).

Para sistemas de tempo real e com comunicação baseada em NoC, várias abordagens foram apresentadas para minimizar o consumo de energia. No entanto, elas afetam o comportamento de temporização da NoC, e portanto não são adequadas, evidenciando a necessidade de técnicas que minimizem o consumo de energia enquanto se comprometem com restrição de tempo (HESHAM et al., 2017). Portanto, um desafio na concepção de MPSoC em tempo real é garantir o desempenho final e a função correta do sistema, considerando propriedades funcionais e não funcionais (THIELE et al., 2013).

3.3. Segurança

Como já dito, NoC está se tornando a melhor alternativa para a interconexão dos vários componentes do MPSoC. Para aumentar o desempenho do sistema, uma das técnicas mais populares empregadas é espalhar as tarefas do aplicativo para os diferentes componentes computacionais. Forçando a interação entre pares dos IPs através da NoC. Para aplicações críticas, isso significa que o tráfego sensível é trocado através do NoC sem proteção. Em 2005, os ataques de software eram responsáveis por 80% dos incidentes de segurança em sistemas embarcados (COBURN et al., 2005). Em 2014, SEPÚLVEDA et al. (2014) afirmou que os ataques de software continuavam sendo a principal causa de vulnerabilidades de segurança nesses dispositivos. Nesse cenário, o aprimoramento da segurança da NoC é um problema extremamente importante no projeto do MPSoC. Soluções desenvolvidas para este problema aumentam a área do MPSoC e o consumo de energia, mostrando que ainda há desafios em implementar uma solução ótima para este problema (SEPÚLVEDA et al., 2015).

3.4. Organização de Memória

A organização da memória em vários sistemas embarcados apresenta um desafio para projetistas de software e hardware. A memória compartilhada apresenta uma limitação de escalabilidade devido ao número de acessos à memória. Uma maneira de mitigar essa limitação é adotar um sistema de Memória Compartilhada Distribuída (DSM), onde existe uma memória compartilhada e cada PE possui seu espaço por uma abstração de software. No entanto, o DSM apresenta a mesma limitação de escalabilidade do sistema com Memória Compartilhada (SM), uma vez que o número de processadores é claramente superior ao número de SMs no sistema. A alternativa é adotar o sistema de Memória Distribuída (DM), que permite a comunicação entre as tarefas (passagem de mensagens) e possui boa escalabilidade, no entanto não permite executar aplicações que utilizam threads (MADALOZZO et al., 2016). Sendo assim, nenhuma alternativa atual resolve por completo os desafios relacionados à organização de memória.

(4)

O MPSoC é composto por diversos subsistemas executando diferentes partes de uma aplicação e comunicando entre si de diversas maneiras, podendo usar processadores distintos que executam tarefas em diferentes linguagens e modelos de programação. Diante disso, a tarefa de entender o comportamento do sistema para rastrear a causa raiz de um problema, representa um grande desafio para as ferramentas de depuração (MARTIN, 2006). Devido ao intrínseco comportamento não determinístico de MPSoCs, eles são propensos a erros de concorrência. Durante o desenvolvimento de software, o suporte a ferramentas de depuração é obrigatório para encontrar esses erros, bloqueios e gargalos (RUARO et al., 2014).

O processo de depuração pode ser extremamente difícil e demorado. Isso restringe a exploração do espaço de projeto e pode induzir ao aumento do tempo de chegada do produto ao mercado. Existem poucos relatos práticos sobre as dificuldades de depuração e sobre como acelerar este processo. O trabalho de YOUSSEF et al. (2004) mostrou que a parte de depuração de uma interface hardware/software foi o passo mais demorado no projeto de um MPSoC específico. 4. CONSIDERAÇÕES FINAIS

Como visto, a arquitetura MPSoC possui muitas vantagens como ótimo desempenho, ganho de tempo de projeto que acarreta em melhor qualidade, flexibilidade, melhora a verificação do projeto e maximiza sua reutilização. Porém ainda apresenta alguns desafios. Este trabalho listou desafios em MPSoC no que tange ao mapeamento de tarefas, consumo de energia, segurança, organização de memória e depuração, mostrando que ainda há questões em aberto que merecem a atenção da comunidade científica.

5. REFERÊNCIAS

COBURN, J. et al. Seca: security-enhanced communication architecture. In: Proceedings of the 2005 international conference on Compilers, architectures and synthesis for embedded systems; September 2005; San Francisco. ACM, 2005. p. 78-89.

DUTT, N.; RAHMANI, A. M.; JANTSCH, A. Empowering autonomy through self-awareness in MPSoCs. In: New Circuits and Systems Conference (NEWCAS), August 2017 15th IEEE International; Strasbourg. IEEE, 2017. p. 73-76.

GOENS, A. et al. TETRiS: a Multi-Application Run-Time System for Predictable Execution of Static Mappings. In: Proceedings of the 20th International Workshop on Software and Compilers for Embedded Systems, June 2017; Sankt Goar. ACM, 2017. p. 11-20.

HESHAM, S. et al. Survey on Real-Time Networks-on-Chip. IEEE Transactions on Parallel and Distributed Systems, v. 28, n. 5, p. 1500-1517, 2017.

JABEEN, Q. et al. A Survey: Embedded Systems Supporting By Different Operating Systems. International Journal of Scientific Research in Science, Engineering and Technology (IJSRSET), v. 2, issue 2, p. 664-673, 2016.

MADALOZZO, G. et al. Scalability evaluation in many-core systems due to the memory organization. In: Electronics, Circuits and Systems (ICECS), December 2016 IEEE International Conference on; Monte Carlo. IEEE, 2016. p. 396-399.

(5)

MANDELLI, M. G. Mapeamento dinâmico de aplicações para MPSOCS homogêneos. 2011. Dissertação de Mestrado (Programa de Pós-Graduação em Ciência da Computação), Faculdade de Informática, Pontifícia Universidade Católica do Rio Grande do Sul, 2011.

MARTIN, G. Overview of the MPSoC design challenge. In: Design Automation Conference, September 2006 43rd ACM/IEEE; San Francisco. IEEE, 2006. p. 274-279.

MORAES, F. et al. HERMES: an infrastructure for low area overhead packet-switching networks on chip. Integration, the VLSI journal, v. 38, n. 1, p. 69-93, 2004. PEREIRA, A. L. V. Projeto e implementação de um MPSoC utilizando a Ipnosys como unidade de processamento. 2014. Dissertação de Mestrado (Mestrado em Ciência da Computação), Universidade Federal Rural do Semiárido e Universidade do Estado do Rio Grande do Norte, 2014.

QUAN, W.; PIMENTEL, A. D. A hybrid task mapping algorithm for heterogeneous mpsocs. ACM Transactions on Embedded Computing Systems (TECS), v. 14, n. 1, p. 14, 2015.

RUARO, M. et al. DMNI: A specialized network interface for NoC-based MPSoCs. In: Circuits and Systems (ISCAS), August 2016 IEEE International Symposium on; Montreal. IEEE, 2016. p. 1202-1205.

RUARO, M.; MORAES, F. G. Dynamic real-time scheduler for large-scale MPSoCs. In: Great Lakes Symposium on VLSI, August 2016 International; Boston. IEEE, 2016. p. 341-346.

RUARO, M.; CARARA, E. A.; MORAES, F. G. Tool-set for NoC-based MPSoC debugging—A protocol view perspective. In: Circuits and Systems (ISCAS), July 2014 IEEE International Symposium on; Melbourne VIC. IEEE, 2014. p. 2531-2534. SEPÚLVEDA, J. et al. Elastic security zones for NoC-based 3D-MPSoCs. In: Electronics, Circuits and Systems (ICECS), February 2014 21st IEEE International Conference on; Marseille. IEEE, 2014. p. 506-509.

SEPÚLVEDA, J.; FLÓREZ, D.; GOGNIAT, G. Reconfigurable group-wise security architecture for NoC-based MPSoCs protection. In: Integrated Circuits and Systems Design (SBCCI), April 2015 28th Symposium on; Salvador. IEEE, 2015. p. 1-6.

THIELE, L. et al. Predictability for timing and temperature in multiprocessor system-on-chip platforms. ACM Transactions on Embedded Computing Systems (TECS), v. 12, n. 1s, p. 48, 2013.

YOUSSEF, M. et al. Debugging HW/SW interface for MPSoC: video encoder system design case study. In: Proceedings of the 41st annual Design Automation Conference, June 2004; San Diego. ACM, 2004. p. 908-913.

ZEFERINO, C. A. Redes-em-Chip: arquiteturas e modelos para avaliação de área e desempenho. 2003. Tese de Doutorado (Programa de Pós-Graduação em Computação), Instituto de Informática, Universidade Federal do Rio Grande do Sul, 2003.

Referências

Documentos relacionados

Os falsos cognatos entre o português e o espanhol que podem ser vistos com bom humor quando, por exemplo, se confunde a palavra “taza” (xícara) em espanhol com “taça”

(2008), o cuidado está intimamente ligado ao conforto e este não está apenas ligado ao ambiente externo, mas também ao interior das pessoas envolvidas, seus

O presente trabalho tem como objetivo geral caracterizar as comunidades de invertebrados terrestres associadas a nove cavidades naturais localizadas no município

O estudante com uma escrita INSUFICIENTE para essa etapa de escolaridade apresenta graves desvios de registro como frases truncadas ou graves problemas de pontuação ou não

O Documento Orientador da CGEB de 2014 ressalta a importância do Professor Coordenador e sua atuação como forma- dor dos professores e que, para isso, o tempo e

Tal como em Cirurgia Geral, a duração do estágio de Medicina Interna é também ajustada, na medida em que me permitiu adquirir gradualmente mais confiança no

Colhi e elaborei autonomamente a história clínica de uma das doentes internadas no serviço, o que constituiu uma atividade de importância ímpar na minha formação, uma vez

Agradeço à empresa concedente de estágio, Meri Pobo Agropecuária Ltda, em especial ao Assis, o qual participou efetivamente na minha orientação dentro do setor