Utilize este identificador para referenciar este registo:
https://hdl.handle.net/1822/91640
Título: | VirtIO infrastructure for a static partition hypervisor: virtio-blk and virtio-console |
Outro(s) título(s): | Infrastrutura VirtIO para um hypervisor de partições estáticas: virtio-blk e virtio-console |
Autor(es): | Ribeiro, António Nuno Alves Cardoso Capela |
Orientador(es): | Pinto, Sandro |
Palavras-chave: | VirtIO Input/Output (I/O) Virtualization BAO MCS Hypervisor Embedded systems ARM Real-Time Operating System (RTOS) General Purpose Operating System (GPOS) Static partitioning hypervisors Virtualização RTOS GPOS Sistemas embebidos Partições estáticas Hypervisor |
Data: | 4-Abr-2023 |
Resumo(s): | The automotive industry has increasingly focused on the integration of systems that perform very
specific functions. At the same time, there is an increasing need to reduce Size, Weight, Power and Cost
(SWaP-C) and, consequently, the need to group subsystems, usually with different levels of criticality, onto
the same hardware platform. Currently, these systems are referred to as Mixed-Criticality System (MCS)
and require strong isolation between systems of different criticality to respect the freedom from interference
and real-time deadlines.
Virtualization emerged as a natural enabler for MCS, since, in addition to providing a way to integrate
different subsystems onto the same hardware platform, it enforces a strong isolation among consolidated
workloads. Following this trend, hypervisors, developed for server and cloud applications, were retrofitted
to embedded system architectures such as Advanced RISC Machine (ARM). These hypervisors do not fulfil
the requirements of real-time embedded systems, leading to the rise and adoption of static partitioning
hypervisors. BAO is a static partitioning hypervisor, where the necessary resources are assigned to each
Virtual Machine (VM) in the design. Hence, this hypervisor is not prepared for sharing peripherals between
VMs, without failing to comply with the necessary requirements of MCSs.
Under this light, this thesis proposes the development of an infrastructure following a standard commu nication protocol, known as VirtIO, to communicate between two unprivileged VMs, keeping the hypervisor
minimalistic and simple. With this infrastructure, there is a VM exclusively assigned and dedicated to shar ing peripherals. Thus, whenever a VMs needs to perform an operation on a shared peripheral, it will have
to make a request to the dedicated VM. To solve the limitation of sharing peripherals, it is necessary to
relinquish part of the isolation between the dedicated VM and the other VMs. This thesis also proposes the
implementation of two VirtIO devices, the virtio-console and the virtio-block, to test the infrastructure and, to
share the Universal Asynchronous Receiver-Transmitter (UART) and Secure Digital (SD) Card peripherals. A indústria automóvel tem apostado, cada vez mais, na integração de sistemas que desempenham funções muito específicas. Ao mesmo tempo, há uma necessidade crescente de redução de SWaP C e, consequentemente, a necessidade de agrupar subsistemas, normalmente com diferentes níveis de criticidade, nas mesmas plataformas de hardware. Atualmente, estes sistemas são referidos como MCS e necessitam de um forte isolamento entre os sistemas de criticidade diferentes para respeitarem a liberdade de interferência e prazos de tempo real. A virtualização surgiu como um facilitador natural para MCS, visto que, para além de fornecer uma forma de integrar diferentes subsistemas na mesma plataforma de hardware, reforça o isolamento entre os mesmos. Seguindo essa tendência, os hypervisors, desenvolvidos para servidores e aplicações de cloud, foram adaptados para arquiteturas de sistemas embebidos, como a ARM. Devido ao facto destes hypervisors não cumprem os requisitos de sistemas embebidos de tempo-real, começamos a ver o sur gimento e a adoção de hypervisors de partições estáticas. O Bao é um hypervisor de particionamento estático, onde os recursos necessários são atribuídos a cada VM em tempo de design. Por conta disso, este hypervisors não está preparado para a partilha de periféricos entre máquinas virtuais, sem deixar de cumprir os requisitos necessários dos MCS. Dito isto, esta tese propõem o desenvolvimento de uma infraestrutura seguindo um protocolo de comu nicação padrão, conhecido como VirtIO, para comunicar entre duas máquinas virtuais não privilegiadas, visando manter o hypervisor minimalista e simples. Com esta infraestrutura, existe uma VM exclusiva mente atribuída e dedicada à partilha de periféricos. Assim sendo, sempre que uma VM necessitar de realizar uma operação num periférico partilhado, esta terá de realizar um pedido à VM dedicada. Para solucionar a limitação da partilha de periféricos é necessário abdicar de parte do isolamento entre a VM dedicada e as outras máquinas virtuais. Esta tese também propõe a implementação de dois periféricos VirtIO, o virtio-console e o virtio-block, para testar a infraestrutura e para compartilhar os periféricos de UART e de cartão SD. |
Tipo: | Dissertação de mestrado |
Descrição: | Dissertação de mestrado em Industrial Electronics and Computers Embedded Systems |
URI: | https://hdl.handle.net/1822/91640 |
Acesso: | Acesso aberto |
Aparece nas coleções: | BUM - Dissertações de Mestrado |
Ficheiros deste registo:
Ficheiro | Descrição | Tamanho | Formato | |
---|---|---|---|---|
Antonio Nuno Alves Cardoso Capela Ribeiro.pdf | Dissertação de mestrado | 1,79 MB | Adobe PDF | Ver/Abrir |
Este trabalho está licenciado sob uma Licença Creative Commons