Modern real-time virtual machines and containers are starting to make it possible to support the execution of real-time applications in virtualized environments. Real-time scheduling theory already provides techniques for analyzing the schedulability of real-time applications executed in virtual machines, but most of the previous work focused on global scheduling while, excluding a few exceptions, the problem of partitioning real-time workloads on multi-core VMs has not been properly investigated yet. This paper discusses and presents a set of partitioning algorithms, based on both mathematical optimization and some heuristics, to tackle the problem of online admission control and partitioning. An experimental evaluation shows that some of the heuristic algorithms can be effectively used in practical settings, being capable to partition complex task sets in short times and introducing an allocation overhead near to the optimum one.
Read full abstract