Name: | Description: | Size: | Format: | |
---|---|---|---|---|
3.82 MB | Adobe PDF |
Authors
Advisor(s)
Abstract(s)
Real-time systems are an important field of research, specially when considering that these
systems interact with the real-world and their tasks have direct impact in human lives and
society. It is imperative that the traceability and performance of these systems can be
ensured.
RISC-V is an open-source instruction set architecture, gaining interest from both industry
and academia, specially in the context of real-time systems development due to its versatility
and customization capabilities. The performance analysis of RISC-V systems emerges as a
critical aspect, with the need to evaluate metrics, such as system efficiency and scalability,
in order to deal with increasing workloads and tasks complexity.
There is a lack of support for performance analysis, specially in real-time operating systems
for RISC-V architectures, usually not providing full support to the latest performance
monitoring related specifications, or being tangled to a specific operating system.
This thesis provides a comprehensive study on performance analysis approaches on RISCV
systems, exploring tools and solutions for performance monitoring of applications, that
provide access to the system performance counters. As a solution, this work proposes an
API capable of retrieving performance metrics from the hardware performance counters,
accessible via code instrumentation over a target application.
The API proposed works as a proof-of-concept for the development of more sophisticated
tool capable of facilitating the retrieval and configuration of performance metrics from a
RISC-V system. To access the API performance, some introductory tests have been performed
to showcase that the API is capable of interacting and managing the hardware
performance counters present on the system.
Additionally, the overhead generated from the API was also analysed briefly, showcasing that
the API has limited impact on the overall system’s performance when retrieving metrics from
the hardware performance counters.
Sistemas de Tempo Real têm-se tornado uma importante área de investigação, visto que, estes interagem diariamente com o mundo, e possuem um impacto direto sobre vidas humanas e a sociedade, torna-se assim imperativo assegurar a rastreabilidade e desempenho do sistema. RISC-V é uma arquitetura de conjunto de intruções versátil, customizável e de código fonte aberto. Devido às suas caracteristicas inerentes e a sua natureza open-source, tem ganhado muita atenção por parte da industria e da academia, tornando-se uma arquitetura ideal para desenvolver diferentes sistemas de tempo-real. Com isto, a análise de desempenho de um sistema de tempo real, emerge como um aspeto crítico, onde é necessário avaliar diferente métricas de desempenho, tais como eficiência e escabilidade, com o intuito de garantir que o sistema é capaz de suportar os aumentos de cargas de trabalho e de complexidade das tarefas a executar. Esta tese proporciona um estudo compreensivo sobre abordagens utilizadas para realizar análise de desempenho em sistemas RISC-V. Diferentes ferramentas e soluções que permitem acesso aos hardware performance counters do sistema são exploradas. Este trabalho propõe uma solução de uma API capaz de permitir a recolha de métricas de performance diretamente e configurar os hardware performance counters, através de instruções programáticas colocadas diretamente no código fonte da aplicação em questão. A API proposta funciona como uma prova de conceito para o desenvolvimento de uma ferramenta mais sofisticada que é capaz de recolher e configurar diferentes métricas de desempenho de um sistema RISC-V. Para analisar o desempenho da API, alguns testes introdutórios foram realizados para demonstrar as capacidades da API de interagir e manipular os hardware performance counters presentes num sistema RISC-V. Adicionalmente, o overhead gerado pela utilização da API foi analisado brevemente, o que demonstrou que a API tem um impacto limitado no desempenho global do sistema, quando se recorre à recolha de métricas diretamente dos hardware performance counters.
Sistemas de Tempo Real têm-se tornado uma importante área de investigação, visto que, estes interagem diariamente com o mundo, e possuem um impacto direto sobre vidas humanas e a sociedade, torna-se assim imperativo assegurar a rastreabilidade e desempenho do sistema. RISC-V é uma arquitetura de conjunto de intruções versátil, customizável e de código fonte aberto. Devido às suas caracteristicas inerentes e a sua natureza open-source, tem ganhado muita atenção por parte da industria e da academia, tornando-se uma arquitetura ideal para desenvolver diferentes sistemas de tempo-real. Com isto, a análise de desempenho de um sistema de tempo real, emerge como um aspeto crítico, onde é necessário avaliar diferente métricas de desempenho, tais como eficiência e escabilidade, com o intuito de garantir que o sistema é capaz de suportar os aumentos de cargas de trabalho e de complexidade das tarefas a executar. Esta tese proporciona um estudo compreensivo sobre abordagens utilizadas para realizar análise de desempenho em sistemas RISC-V. Diferentes ferramentas e soluções que permitem acesso aos hardware performance counters do sistema são exploradas. Este trabalho propõe uma solução de uma API capaz de permitir a recolha de métricas de performance diretamente e configurar os hardware performance counters, através de instruções programáticas colocadas diretamente no código fonte da aplicação em questão. A API proposta funciona como uma prova de conceito para o desenvolvimento de uma ferramenta mais sofisticada que é capaz de recolher e configurar diferentes métricas de desempenho de um sistema RISC-V. Para analisar o desempenho da API, alguns testes introdutórios foram realizados para demonstrar as capacidades da API de interagir e manipular os hardware performance counters presentes num sistema RISC-V. Adicionalmente, o overhead gerado pela utilização da API foi analisado brevemente, o que demonstrou que a API tem um impacto limitado no desempenho global do sistema, quando se recorre à recolha de métricas diretamente dos hardware performance counters.
Description
Keywords
RISC-V Performance analysis Performance counters Hardware performance monitoring Performance monitoring API