RISC-V lightweight virtualization extensions
Autor(a) principal: | |
---|---|
Data de Publicação: | 2021 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
Texto Completo: | http://hdl.handle.net/1822/76556 |
Resumo: | Dissertação de mestrado integrado em Engenharia Eletrónica Industrial e Computadores |
id |
RCAP_35d250bac0ae1542377ff838deab01be |
---|---|
oai_identifier_str |
oai:repositorium.sdum.uminho.pt:1822/76556 |
network_acronym_str |
RCAP |
network_name_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository_id_str |
7160 |
spelling |
RISC-V lightweight virtualization extensionsVirtualizationRISC-VH-extensionHypervisorEmbedded systemsVirtualizaçãoHypervisorSistemas embebidosEngenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e InformáticaDissertação de mestrado integrado em Engenharia Eletrónica Industrial e ComputadoresIn the last decade, virtualization has become a key enabling technology for servers, but also for several embedded industries such as the automotive and industrial control. In the embedded space, the number of requirements has been steadily increasing for the past few years. At the same time, the market pressure to minimize size, weight, power, and cost (SWaP-C) has pushed for the consolidation of several subsystems, typically with distinct criticality levels, onto the same hardware platform. In response, academia and industry have focused on developing hardware support to assist virtualization, and adding upstream support for these technologies in mainstream hypervisor solutions. Recent advances in computing systems have brought to light an innovative computer architecture named RISC-V. RISC-V distinguishes itself from traditional platforms by offering a free and open instruction set architecture (ISA) featuring a modular and highly customizable extension scheme that allows it to scale from tiny embedded microcontrollers up to supercomputers. RISC-V is going towards mainstream adoption under the premise of disrupting the hardware industry, such as Linux has disrupted the software industry. As part of the RISC-V privileged architecture specification, hardware virtualization support is specified through the hypervisor extension (H-extension). This dissertation describes the first public implementation and evaluation of the latest version of the RISC-V hypervisor extension (H-extension v0.6.1) specification in a Rocket Chip core. To perform a meaningful evaluation for modern multi-core embedded and mixed-criticality systems, we used an open-source static partitioning hypervisor with support for RISC-V, named Bao. We have also extended the RISC-V platform-level interrupt controller (PLIC) to enable direct guest interrupt injection with low and deterministic latency, and we have enhanced the timer infrastructure to avoid trap and emulation overheads. Experiments were carried out in FireSim, a cycle-accurate, FPGA-accelerated simulator, and the system was also successfully deployed and tested in a Zynq UltraScale+ MPSoC ZCU104. Our hardware implementation was open-sourced and is currently in use by the RISC-V community towards the ratification of the H-extension specification.Na última década, a virtualização tornou-se uma tecnologia essencial para os servidores, mas também para várias indústrias, tais como a indústria automóvel e controlo industrial. Em sistemas embebidos, o número de requisitos tem vindo a aumentar de forma constante nos últimos anos. Ao mesmo tempo, a pressão do mercado para minimizar o tamanho, peso, consumo e custo (SWaP-C) tem impulsionado a consolidação de vários subsistemas, tipicamente com níveis de criticidade distintos, na mesma plataforma de hardware. Em resposta, o meio académico e a indústria têm-se focado no desenvolvimento de suporte de hardware para apoiar a virtualização, e no suporte para estas tecnologias em hypervisors de referência. Os recentes avanços na área de aquitetura de computadores estão ligados ao desenvolvimento de uma arquitetura inovadora designada de RISC-V. RISC-V distingue-se das plataformas convencionais ao oferecer uma arquitectura de conjunto de instruções (ISA) livre e aberta, com um esquema de extensão modular e altamente personalizável. Todo o ecosistema RISC-V tem crescido a um ritmo alucinante, motivado pela promessa de transformar a indústria de hardware, da mesma forma que o sistema operativo Linux transformou a indústria de software. A especificação da arquitetura RISC-V define que todo o suporte de hardware para a virtualização é especificado através extensão de hypervisor (H-extension ). Esta dissertação descreve a primeira implementação e avaliação pública da última versão da especificação da extensão hypervisor RISC-V (H-extension v0.6.1) num processador RISC-V (Rocket Chip). A avaliação foi feita em um hypervisor de partição estática open-source com suporte para RISC-V, denominado Bao. O controlador de interrupções, designado de PLIC na arquitetura RISC-V, foi também extendido para permitir a injecção de interrupção directa em máquinas virtuais com latência baixa e determinística. A infra-estrutura de gestão de temporização do sistema também foi modificada para evitar suporte via emulação (e toda a perda de desempenho associada). Todos os testes foram realizados no FireSim, um simulador acelerado por FPGA (precisão ao ciclo), e o sistema foi também testado com sucesso numa Zynq UltraScale+. Disponibilizamos a nossa implementação de hardware para a comunidade RISC-V, que está atualmente a ser utilizada como referência para ratificar a especificação da H-extension .Pinto, SandroUniversidade do MinhoSá, Bruno Vilaça de20212021-01-01T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisapplication/pdfhttp://hdl.handle.net/1822/76556eng202797740info:eu-repo/semantics/openAccessreponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos)instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãoinstacron:RCAAP2023-07-21T12:43:52Zoai:repositorium.sdum.uminho.pt:1822/76556Portal AgregadorONGhttps://www.rcaap.pt/oai/openaireopendoar:71602024-03-19T19:41:25.812359Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informaçãofalse |
dc.title.none.fl_str_mv |
RISC-V lightweight virtualization extensions |
title |
RISC-V lightweight virtualization extensions |
spellingShingle |
RISC-V lightweight virtualization extensions Sá, Bruno Vilaça de Virtualization RISC-V H-extension Hypervisor Embedded systems Virtualização Hypervisor Sistemas embebidos Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
title_short |
RISC-V lightweight virtualization extensions |
title_full |
RISC-V lightweight virtualization extensions |
title_fullStr |
RISC-V lightweight virtualization extensions |
title_full_unstemmed |
RISC-V lightweight virtualization extensions |
title_sort |
RISC-V lightweight virtualization extensions |
author |
Sá, Bruno Vilaça de |
author_facet |
Sá, Bruno Vilaça de |
author_role |
author |
dc.contributor.none.fl_str_mv |
Pinto, Sandro Universidade do Minho |
dc.contributor.author.fl_str_mv |
Sá, Bruno Vilaça de |
dc.subject.por.fl_str_mv |
Virtualization RISC-V H-extension Hypervisor Embedded systems Virtualização Hypervisor Sistemas embebidos Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
topic |
Virtualization RISC-V H-extension Hypervisor Embedded systems Virtualização Hypervisor Sistemas embebidos Engenharia e Tecnologia::Engenharia Eletrotécnica, Eletrónica e Informática |
description |
Dissertação de mestrado integrado em Engenharia Eletrónica Industrial e Computadores |
publishDate |
2021 |
dc.date.none.fl_str_mv |
2021 2021-01-01T00:00:00Z |
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 |
http://hdl.handle.net/1822/76556 |
url |
http://hdl.handle.net/1822/76556 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
202797740 |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.format.none.fl_str_mv |
application/pdf |
dc.source.none.fl_str_mv |
reponame:Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) instname:Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação instacron:RCAAP |
instname_str |
Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
instacron_str |
RCAAP |
institution |
RCAAP |
reponame_str |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
collection |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) |
repository.name.fl_str_mv |
Repositório Científico de Acesso Aberto de Portugal (Repositórios Cientìficos) - Agência para a Sociedade do Conhecimento (UMIC) - FCT - Sociedade da Informação |
repository.mail.fl_str_mv |
|
_version_ |
1799132963410018304 |