Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/91425
Título: | Exploring the arm MPAM extension for static partitioning virtualization |
Autor(es): | Freitas, Gonçalo Gonçalves |
Orientador(es): | Pinto, Sandro |
Palavras-chave: | Memory hierarchy Safety Shared cache Multicore Real-time systems Bandwidth reservation Cache partitioning Memory-access predictability Isolation Arm Cortex-A |
Data: | 22-Fev-2023 |
Resumo(s): | Os sistemas embebidos desempenham um papel crucial na garantia da segurança dos sistemas de
transporte e controlo industrial. Estes sistemas, conhecidos como sistemas críticos de segurança, podem
ter consequências catastróficas em caso de falha. Nos últimos anos, e principalmente pressionados por
restrições SWaP-C, os sistemas embebidos consolidaram funções com diferentes níveis de criticidade,
criando uma nova classe de sistemas chamados sistemas de criticidade-mista.
A virtualização ganhou popularidade nos sistemas de criticidade-mista, pois permite a consolidação
e isolamento de múltiplos domínios numa mesma plataforma. Os hipervisores proporcionam isolamento
temporal e espacial, e as garantias freedom-from-interference satisfazem as normas de segurança. No
entanto, as plataformas modernas multicore também trazem dificuldades devido à interferência causada
por recursos de hardware partilhados (por exemplo, LLC, bus, e memória principal). Sem uma gestão
adequada, estas interferências podem prejudicar a previsibilidade temporal. Para responder a estes problemas, foram propostos mecanismos tais como a partição de cache e a reserva de largura de banda
de memória. Além disso, o recente lançamento da especificação da Arm, MPAM, que fornece novas
oportunidades para a regulação do acesso à memória.
Esta dissertação apresenta o design e implementação de um mecanismo de reserva de largura de
banda de memória (designado safe_mem), desenvolvido no hipervisor Bao. O safe_mem fornece reserva
de largura de banda limitando o acesso à memória por CPU a cada período, assegurando o isolamento
temporal no sistema. Esta dissertação também descreve o design e implementação de uma API para a
extensão MPAM, que inclui mecanismos de controlo de partição de cache. Por último, apresenta uma
análise relacionada com a contenção da memória e verifica a eficácia dos mecanismos implementados
para os processadores Arm Cortex-A. Embedded systems play a crucial role in ensuring the safety of transportation and industrial control systems. These systems, known as safety-critical systems, can have catastrophic consequences in case of failure. In recent years, and mainly pushed by Size, Weight, Power and Cost (SWaP-C) constraints, embedded systems have consolidated functions with different criticality levels to create a new class of systems called Mixed Criticality System (MCS). Virtualization has gained popularity in MCS as it enables the consolidation and isolation of multiple environments onto the same platform. Hypervisors provide temporal and spatial isolation, i.e., the freedom-from-interference guarantees required from safety standards. However, modern multicore platforms bring difficulties due to the interference caused by shared hardware resources (e.g., Last-Level Cache (LLC), system bus, and main memory). Without proper management, these interferences can harm timing predictability. To address these issues, mechanisms such as cache partitioning and memory bandwidth reservation have been proposed. Also, Arm’s recent release of the Memory System Resource Partitioning and Monitoring (MPAM) specification provides new opportunities for memory access regulation. This dissertation presents the design and implementation of a memory bandwidth reservation mechanism (named safe_mem) developed on top of the Bao hypervisor. The safe_mem provides bandwidth reservation by limiting the memory access for each Central Process Unit (CPU) every period, ensuring temporal isolation in the system. The dissertation also describes the design and implementation of an Application Programming Interface (API) for the MPAM extension, which includes cache partitioning control mechanisms. Lastly, presents an analysis related to memory contention and verifies the effectiveness of the implemented mechanisms for Arm Cortex-A processors. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado em Engenharia Eletrónica Industrial e Computadores |
URI: | https://hdl.handle.net/1822/91425 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Goncalo Goncalves Freitas.pdf | Dissertação de mestrado | 973,69 kB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons