Hybrid hypervisor partially deployed on FPGA


Autoria(s): Garcia, Paulo Fernando Rocha
Contribuinte(s)

Tavares, Adriano

Monteiro, João L.

Data(s)

11/12/2015

Resumo

Tese de Doutoramento em Engenharia Eletrónica e Computadores.

The embedded systems domain is perhaps the most heterogeneous of all fields where computer systems are applied. The myriad of available hardware architectures and software systems emerged in response to conflicting application requirements: functionality and computational power must be balanced with power consumption and predictable execution, among others. The advent of virtualization to the embedded domain disrupted the zeitgeist, enabling novel development paradigms. The conceptual view shifted from Operating System centric, where functionalities are partitioned among processes, to Hypervisor centric, where functionalities are partitioned among Operating Systems, providing unprecedented encapsulation, re-use and consolidation capabilities. Nevertheless, virtualization induces its own set of challenges. Hardware technologies rose up to ameliorate its ill-effects in the embedded domain; however, most technologies were merely shifted down from higher-tiers computer systems where virtualization is an established paradigm, failing to fully cope with embedded requirements. This thesis attempts to contribute to the maturity of embedded virtualization technologies, by exploring novel architectural mechanisms for Hypervisor centric design. By re-examining the assumptions about virtualization requirements and rephrasing them in the embedded context, alternative hardware technologies were envisioned, developed, and compared to state of the art hardware-assisted virtualization. The developed hardware technologies focus on four points: processor virtualization mechanisms, which include full-virtualization and emulation support, especially targeting bare metal Hypervisors; memory virtualization, based on distributed translation, which differentiates between memory and peripheral devices access, utilizing wrappers around access points for fine-grained control of directly as-signed and shared peripheral devices; interrupt virtualization, which supports exit-less interrupts and guests’ handlers emulation for reducing real-time interrupt latency; and message passing support, to ensure low-latency communication between guests. Experimental results, on trials using Linux and FreeRTOS guests running representative embedded benchmarks, show that the developed architectural mechanisms outperform the state of the art, even when incurring in smaller silicon cost, and enable a simplified software system, allowing for a small code base Hypervisor implementation.

O domínio dos sistemas embebidos é provavelmente o mais heterogéneo de todos os campos onde sistemas de computadores são aplicados. A miríade de arquitecturas de hardware e sistemas de software disponíveis emergiu em resposta a requisitos de aplicações conflictuosos: funcionalidade e poder de computação têm de ser balançados com consumo de energia e execução previsível, entre outros. O advento da virtualização aos sistemas embebidos provocou uma ruptura na actual tendência tecnológica, permitindo novos paradigmas de desenvolvimento. Avisão conceptual mudou de cêntrica ao Sistema Operativo, onde funcionalidades são particionadas entre processos, para cêntrica ao Hipervisor, onde funcionalidades são particionadas entre Sistemas Operativos, oferecendo capacidades de encapsulamento, re-uso e consolidação sem precedentes. No entanto, a virtualização induz o seu próprio conjunto de desafios. Tecnologias de hardware emergiram para suavizar os seus efeitos negativos no domínio embebido; no entanto, a maioria das tecnologias foram simplesmente transferidas de sistemas de computadores de mais alto escalão onde a virtualização é um paradigma estabelecido, falhando em lidar completamente com requisitos embebidos. Esta tese tenta contribuir para a maturidade das tecnologias de virtualização embebida, explorando novos mecanismos arquitecturais para projecto cêntrico ao Hipervisor. Re-examinando as ideias assumidas sobre requisitos de virtualização e refraseando-as no contexto embebido, tecnologias de hardware alternativas foram concebidas, desenvolvidas, e comparadas com o estado da arte de hardware de suporte à virtualização. As tecnologias de hardware desenvolvidas focam-se em quatro pontos: mecanismos de virtualização de processadores, incluindo virtualização-completa e suporte à emulação, tendo como alvo específico Hipervisores bare-metal; virtualização dememória, baseada em tradução distribuída, que diferencia entre acessos a memória e dispositivos periféricos, encapsulando pontos de acesso para controlo refinado de dispositivos periféricos directamente atribuídos e partilhados; virtualização de interrupções, que suporta interrupções que não transitam para o Hipervisor e emulação de rotinas de hóspedes de modo a reduzir a latência tempo-real; e suporte à passagem de mensagens, para garantir comunicação de baixa latência entre hóspedes. Resultados experimentais, em estudos utilizando Linux e FreeRTOS executando benchmarks embebidos representativos, mostram que os mecanismos arquitecturais desenvolvidos conseguem desempenhos mais elevados que o estado da arte, mesmo quando incorrendo em menores custos de silício, e permitem um sistema de software simplificado, suportando uma implementação de Hipervisor de baixo custo de código.

Fundação para a Ciência e Tecnologia (FCT) SFRH/BD/77813/2011.

Identificador

http://hdl.handle.net/1822/40478

101464304

Idioma(s)

eng

Direitos

info:eu-repo/semantics/restrictedAccess

Tipo

info:eu-repo/semantics/doctoralThesis