Among the different virtualization technologies Linux Containers (LXC) are particularly appealing for implementing multi-hosting embedded systems, by providing a userspace container object that supports full resource isolation and resource control for an application or a system.
The purpose of the LXCBENCH incubation project is to gain a better understanding of the capabilities of Linux Containers through benchmarking.
Before adopting this technology, it is strongly advised that users quantify the overhead it introduces and assess quantitatively the use cases where LXC can be beneficial.
The benchmarking activity we foresee aims to measure the performance of an LXC-equipped system versus a reference system not equipped with virtualization. For this purpose we selected the Phoronix Test Suite (PTS), see: http://www.phoronix-test-suite.com. PTS is an automated open-source testing framework and we envision the following measurement to be executed on a given hardware platform:
- Out-of-the-box Linux system (e.g., Ubuntu or similar). Run PTS to collect a set of measurements to be used as the baseline.
- Out-of-the-box Linux system enriched with 1 container, running Linux (e.g., Ubuntu itself, or Android). Run PTS in the baseline system only, run PTS in the container, run PTS in both concurrently.
After collecting the performance measurements in the above scenario, overheads will be evaluated by comparing the performance score of the baseline system with those of the container-enriched system.
It is relevant to underline here that the goal of the project is not to measure raw performance of a given hardware platform, rather to understand the overhead coming from the adoption of virtualization on different hardware configurations. For this purpose, we intend to repeat the same measurements on different hardware platforms, equipped with both single-core and multi-core (e.g., iMX5, iMX6), and to quantify the overheads before and after virtualization.
The outcomes of this project are twofold:
- A set of configuration scripts to set-up the test environment and run the tests. This will allow interested individuals to reproduce the same experiments we will perform.
- Overhead figures showing the impact of virtualization. We do not believe providing the raw performance figure is relevant, as this activity does not intend to measure the pure performance of a certain architecture or to compare the pure performance of different architectures. Conversely, it aims at quantifying the price system architects have to pay when including LXC as the virtualization solution in their architectures.