vix.ing · top · new · best · stats · spec

Unikernels vs. Containers: A Runtime-Level Performance Comparison for Resource-Constrained Edge Workloads

2025/09/09 by Hai Dinh-Tuan, Dinh-Tuan, Hai
Computer Science · #Cloud Computing and Resource Management #Distributed and Parallel Computing Systems #FOS: Computer and information sciences #Parallel Computing and Optimization Techniques #Performance (cs.PF)

paper · pdf · doi:10.48550/arxiv.2509.07891

openalex publication_date 2025/09/09 · openalex created_date 2025/10/11 · openalex updated_date 2026/07/28

Abstract

The choice between containers and unikernels is a critical trade-off for edge applications, balancing the container's ecosystem maturity against unikernel's specialized efficiency. However, until now, how this trade-off behaves under the severe memory constraints of industrial edge environments remains insufficiently investigated, especially across different execution models. This work presents an empirical comparison using Go and Node.js applications, representing ahead-of-time (AOT) and just-in-time (JIT) compilation, respectively. While unikernels consistently deliver faster startup times and outperform containers for Go-based workloads in resource-constrained environments, the evaluation results identify a critical performance crossover for Node.js. Below a certain memory threshold, Docker containers maintain stable performance for both I/O-bound and CPU-bound applications, while the Nanos unikernel's performance degrades sharply. This reveals that Linux's memory management capabilities can outweigh the minimalist efficiency of unikernels under resource scarcity, a critical trade-off that, until now, has not been adequately quantified for JIT runtimes in this context. These findings demonstrate that the optimal deployment paradigm depends on both runtime behavior and available system resources, underscoring the need for workload-aware deployment strategies in edge computing.

Citations

Related