Dynamic CPU allocation for Docker containerized mixed-criticality real-time systems
Jun Wu, Tung-I Yang · 2018 IEEE International Conference on Applied System Invention (ICASI) · 2018
Nowadays, a Docker containerized system might run applications with different criticalities as well as timing constraints. Such a system, called Docker containerized mixed-criticality real-time system (DC-MC-RTS), consists of RT-Containers and NRT-Containers which are containers with real-time and non-real-time applications, respectively. Since Docker uses static CPU allocation methods, the performance of a DC-MC-RTS might be degraded when the workloads of containers are changed significantly at run-time. In this paper, we propose a new CPU allocation approach, called flexible deferrable server (FDS) scheduler, to improve the performance of a DC-MC-RTS. In particular, FDS first provides available CPU capacity to RT-Containers in order to ensure their timing constraints can be met. Then, the remaining CPU capacity is provided to NRT-Containers dynamically at run-time so that their unpredictable on-line requirements could be met as much as possible. Our proposed FDS has been implemented in Docker community edition 17.09.0 and a series of experiments has been conducted for which we have some encouraging results.