Exploring Unikernel Technology in Real-Time environments
Pires, Samuel Tiago Almeida
MSc Thesis · 2025 · University of Coimbra
Supervisor: Tiago José dos Santos Martins da Cruz
Abstract
In the field of computing, various environments are employed for application deployment, including bare-metal systems, virtual machines, and containerised platforms. Each of these environments offers distinct advantages while presenting specific limitations. While conventional operating systems are designed to be broad and general-purpose, unikernels have emerged as a specialised and optimised alternative tailored to address specific software needs. This specialisation results in reduced resource consumption, faster boot times, and a significantly smaller attack surface. These characteristics make unikernels particularly promising for real-time systems, which demand predictability, determinism, and efficiency. Such systems are extensively utilised in critical domains, including healthcare, robotics, and telecommunications, where low latency and deterministic behaviour are mandatory.This thesis investigates the applicability of unikernels in real-time environments through a comprehensive evaluation of six unikernels, employing different types of analysis with a primary focus on processing latency measurement. Initial tests revealed that none of the unikernels supported standard latency measurement tools due to their highly specialised nature, which excludes non-essential components. However, following targeted adaptations, two unikernels were made compatible with these tools, enabling further evaluation.The findings demonstrate that unikernels deliver significant benefits, including reduced boot times, smaller image sizes, and lower RAM and CPU usage. In terms of processing latency, the results were noteworthy, though variations were observed depending on the execution environment. Under parallel workloads, the unikernels exhibited stable latency performance, with no significant deviations compared to scenarios without concurrent workloads. This stability underscores their potential for applications requiring consistent performance in multitasking environments. The study concludes that the suitability of unikernels for real-time systems is contingent upon the specific objectives of each application. While they seem to perform exceptionally well in specialised scenarios, their limitations in more generalised environments should not be overlooked. Furthermore, drawing inspiration from the principles of unikernels, a minimalist system based on the Linux kernel was developed and subjected to similar testing. This system proved to be a highly competitive alternative, outperforming unikernels in certain tests and demonstrating that tailored solutions can effectively bridge the gap between general-purpose and specialised operating systems.||No campo da computação, diversos ambientes são utilizados para a implementação de aplicações, incluindo sistemas de bare-metal, máquinas virtuais e plataformas conteinerizadas. Cada um destes ambientes oferece vantagens, mas apresenta também as suas limitações. Enquanto os sistemas operativos convencionais são concebidos para serem amplos e de propósito geral, os unikernels surgiram como uma alternativa especializada e optimizada, adaptada para atender a necessidades específicas do software. Esta especialização resulta num menor consumo de recursos, tempos de arranque mais rápidos e uma superfície de ataque significativamente reduzida. Estas características tornam os unikernels promissores para sistemas em tempo real, que exigem previsibilidade, determinismo e eficiência. Estes sistemas são amplamente utilizados em domínios críticos, como saúde, robótica e telecomunicações, onde baixa latência e comportamento determinístico são obrigatórios.Esta tese investiga a aplicabilidade de unikernels em ambientes de tempo real através de uma avaliação abrangente de seis unikernels, utilizando diferentes tipos de análises com enfoque principal na medição de latência de processamento. Os testes iniciais revelaram que nenhum dos unikernels suportava ferramentas de medição de latência devido à sua natureza altamente especializada, que exclui componentes não essenciais. No entanto, após adaptações, dois unikernels foram tornados compatíveis com essas ferramentas, permitindo um aprofundar nas avaliações.Os resultados demonstram que os unikernels oferecem benefícios, incluindo tempos de arranque reduzidos, imagens menores e menor utilização de RAM e CPU. Em termos de latência de processamento, os resultados foram relevantes, embora tenham sido observadas variações dependendo do ambiente de execução. Sob cargas paralelas, os unikernels exibiram um desempenho estável de latência, sem desvios significativos em comparação com cenários sem workloads concorrentes. Esta estabilidade sublinha o seu potencial para aplicações que requerem desempenho consistente em ambientes multitarefa. O estudo conclui que a adequação dos unikernels para sistemas de tempo real depende dos objectivos específicos de cada aplicação. Embora se destaquem em cenários especializados, as suas limitações em ambientes mais generalistas não devem ser ignoradas.Com inspiração nos princípios dos unikernels, foi desenvolvido um sistema minimalista baseado no kernel Linux e submetido a testes semelhantes. Este sistema mostrou-se uma alternativa competitiva, superando os unikernels em vários testes e demonstrando que esta solução pode preencher a lacuna entre sistemas operativos convencionais e sistemas especializados.