Using gem5 simulator to support design space exploration targeting ARM architecture

Detalhes bibliográficos
Autor(a) principal: Silvestre, Iago de Oliveira
Data de Publicação: 2022
Tipo de documento: Dissertação
Idioma: eng
Título da fonte: Repositório Institucional da UFSC
Texto Completo: https://repositorio.ufsc.br/handle/123456789/235265
Resumo: Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2022.
id UFSC_fd26666767839ce4509cd53e08e34724
oai_identifier_str oai:repositorio.ufsc.br:123456789/235265
network_acronym_str UFSC
network_name_str Repositório Institucional da UFSC
repository_id_str 2373
spelling Universidade Federal de Santa CatarinaSilvestre, Iago de OliveiraBecker, Leandro Buss2022-05-30T23:15:39Z2022-05-30T23:15:39Z2022376222https://repositorio.ufsc.br/handle/123456789/235265Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2022.A análise de performance em sistemas embarcados é vital quando se trata de sistemas Ciber-físicos que tem como requisitos garantias de estabilidade. Esses sistemas geralmente operam tendo que respeitar limitações temporais impostas durante o design do sistema de controle responsável. Até recentemente, essa análise de performance era feita exclusivamente através da execução do código na plataforma de destino e fazendo medidas em cima desses testes. Porém essa análise de execução de código também pode ser feita através de ferramentas de simulação, que oferecem maior flexibilidade para os desenvolvedores configurarem a plataforma de acordo com os testes que se tem interesse. Apesar desse maior grau de liberdade, normalmente há preocupações se os dados fornecidos por esses ferramentas de simulação são precisos suficiente para serem usados para guiar a Exploração de Espaço de Design durante o desenvolvimento de um projeto. O objetivo principal dessa dissertação de mestrado é analisar a precisão da ferramenta gem5 quando utilizada com algoritmos de controle utilizados no projeto ProVANT, além de demonstrar como os dados fornecidos por essa ferramenta podem ser utilizados para guiar fases de desenvolvimento de um projeto, mais especificamente a escolha das configurações computacionais do sistema. Para fazer esse estudo foi utilizada a Raspberry Pi 3 B+ (com um processador Cortex-A53) como plataforma de referência, servindo de base para criar diferentes versões da simulação para análise. Os resultados obtidos demonstraram que o gem5 teve boa precisão no quesito temporal quando comparamos os resultados das simulações com testes em hardware físico, porém demonstraram variação significativa em dados relacionados aos acessos do ultimo nível de memória cache, que no caso da Raspberry é o nível 2. Além disso, durante a elaboração desses estudos, foi criada uma implementação do processo de simulação usando o gem5 através de computação em nuvem, usando a plataforma Google Colab. Essa implementação permite que usuários que não conhecem a ferramenta gem5 consigam fazer simulações em plataforma ARM de maneira simples, sem ter que aprender a ferramenta e removendo o tempo de setup para iniciar as simulações.Abstract: Making the performance analysis of embedded systems is very important when dealing with Cyber-Physical Systems that require stability guarantees. They typically operate having to respect temporal constraints imposed during the design of the related control system. Until recently, performance analysis was done exclusively by executing the code on the target platform and making measures. Usually code execution/measuring can also be done on simulation software, which offers greater degree of flexibility for designers to configure the platform accordingly for the desired tests. However, there are doubts whether the results from such simulation software are reliable enough to guide Design alternatives during a project development. The main focus of this Master Thesis is to analyse the precision of the gem5 simulation tool for simulating control algorithms. It is envisioned that obtained simulation results can help designers selecting the embedded computing architecture. It is used as case study the control algorithms developed within the ProVANT project, which serve for controlling an Unmanned Aerial Vehicle (UAV). Such analysis is important given the following reasons: (i) allows to better understand the timing behavior of the algorithms; (ii) allows evaluating architectural issues related with the embedded platform, and (iii) allows determining how accurate the simulation software is. The development board Raspberry Pi 3 Model B+ (with Cortex-A53 processor) is used as reference platform and serves as basis for creating different simulated versions for the analysis. Obtained results showed that gem5 has enough timing precision when compared with results from the real hardware, at least with respect to execution time calculation, proving to be a useful tool to explore potential hardware and software alternatives when dealing with a project using the ARM architecture. Tests comparing real hardware with the gem5 simulation did show however some mismatches on data related to lowest-level cache accesses, which in the Raspberry Pi 3 B+ is level 2. An additional contribution of this work is the creation of a cloud computing environment at Google Colab, making significantly easier the use of gem5 simulator, even allowing its usage by non-experts.69 p.| il., gráfs.engEngenharia de sistemasAutomaçãoSimulação (Computadores)Sistemas embarcados (Computadores)DroneUsing gem5 simulator to support design space exploration targeting ARM architectureinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFSCinstname:Universidade Federal de Santa Catarina (UFSC)instacron:UFSCinfo:eu-repo/semantics/openAccessORIGINALPEAS0409-D.pdfPEAS0409-D.pdfapplication/pdf1751347https://repositorio.ufsc.br/bitstream/123456789/235265/-1/PEAS0409-D.pdf90a91405938b53d4d083c330d5de0a24MD5-1123456789/2352652022-05-30 20:15:39.956oai:repositorio.ufsc.br:123456789/235265Repositório de PublicaçõesPUBhttp://150.162.242.35/oai/requestopendoar:23732022-05-30T23:15:39Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)false
dc.title.none.fl_str_mv Using gem5 simulator to support design space exploration targeting ARM architecture
title Using gem5 simulator to support design space exploration targeting ARM architecture
spellingShingle Using gem5 simulator to support design space exploration targeting ARM architecture
Silvestre, Iago de Oliveira
Engenharia de sistemas
Automação
Simulação (Computadores)
Sistemas embarcados (Computadores)
Drone
title_short Using gem5 simulator to support design space exploration targeting ARM architecture
title_full Using gem5 simulator to support design space exploration targeting ARM architecture
title_fullStr Using gem5 simulator to support design space exploration targeting ARM architecture
title_full_unstemmed Using gem5 simulator to support design space exploration targeting ARM architecture
title_sort Using gem5 simulator to support design space exploration targeting ARM architecture
author Silvestre, Iago de Oliveira
author_facet Silvestre, Iago de Oliveira
author_role author
dc.contributor.none.fl_str_mv Universidade Federal de Santa Catarina
dc.contributor.author.fl_str_mv Silvestre, Iago de Oliveira
dc.contributor.advisor1.fl_str_mv Becker, Leandro Buss
contributor_str_mv Becker, Leandro Buss
dc.subject.classification.none.fl_str_mv Engenharia de sistemas
Automação
Simulação (Computadores)
Sistemas embarcados (Computadores)
Drone
topic Engenharia de sistemas
Automação
Simulação (Computadores)
Sistemas embarcados (Computadores)
Drone
description Dissertação (mestrado) - Universidade Federal de Santa Catarina, Centro Tecnológico, Programa de Pós-Graduação em Engenharia de Automação e Sistemas, Florianópolis, 2022.
publishDate 2022
dc.date.accessioned.fl_str_mv 2022-05-30T23:15:39Z
dc.date.available.fl_str_mv 2022-05-30T23:15:39Z
dc.date.issued.fl_str_mv 2022
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/masterThesis
format masterThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://repositorio.ufsc.br/handle/123456789/235265
dc.identifier.other.none.fl_str_mv 376222
identifier_str_mv 376222
url https://repositorio.ufsc.br/handle/123456789/235265
dc.language.iso.fl_str_mv eng
language eng
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv 69 p.| il., gráfs.
dc.source.none.fl_str_mv reponame:Repositório Institucional da UFSC
instname:Universidade Federal de Santa Catarina (UFSC)
instacron:UFSC
instname_str Universidade Federal de Santa Catarina (UFSC)
instacron_str UFSC
institution UFSC
reponame_str Repositório Institucional da UFSC
collection Repositório Institucional da UFSC
bitstream.url.fl_str_mv https://repositorio.ufsc.br/bitstream/123456789/235265/-1/PEAS0409-D.pdf
bitstream.checksum.fl_str_mv 90a91405938b53d4d083c330d5de0a24
bitstream.checksumAlgorithm.fl_str_mv MD5
repository.name.fl_str_mv Repositório Institucional da UFSC - Universidade Federal de Santa Catarina (UFSC)
repository.mail.fl_str_mv
_version_ 1766804977097900032