Title: | Using gem5 simulator to support design space exploration targeting ARM architecture |
Author: | Silvestre, Iago de Oliveira |
Abstract: |
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. |
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. |
URI: | https://repositorio.ufsc.br/handle/123456789/235265 |
Date: | 2022 |
Files | Size | Format | View |
---|---|---|---|
PEAS0409-D.pdf | 1.670Mb |
View/ |