Solaris Zones: Virtualization that Speeds up Benchmarks
By Stefan Hinker on Apr 17, 2012
One of the first questions that typically comes up when I talk to customers about virtualization is the overhead involved. Now we all know that virtualization with hypervisors comes with an overhead of some sort. We should also all know that exactly how big that overhead is depends on the type of workload as much as it depends on the hypervisor used. While there have been attempts to create standard benchmarks for this, quantifying hypervisor overhead is still mostly hidden in the mists of marketing and benchmark uncertainty. However, what always raises eyebrows is when I come to Solaris Zones (called Containers in Solaris 10) as an alternative to hypervisor virtualization. Since Zones are, greatly simplyfied, nothing more than a group of Unix processes contained by a set of rules which are enforced by the Solaris kernel, it is quite evident that there can't be much overhead involved. Nevertheless, since many people think in hypervisor terms, there is almost always some doubt about this claim of zero overhead. And as much as I find the explanation with technical details compelling, I also understand that seeing is so much better than believing. So - look and see:
The Oracle benchmark teams are so convinced of the advantages of Solaris Zones that they actually use them in the configurations for public benchmarking. Solaris resource management will also work in a non Zones environment, but Zones make it just so much easier to handle, especially with some of the more complex benchmark configurations. There are numerous benchmark publications available using Solaris Containers, dating back to the days of the T5440. Some recent examples, all of them world records, are:
The use of Solaris Zones is documented in all of these benchmark publications.
The benchmarking team also published a blog entry detailing how they make use of resource management with Solaris Zones to actually increase application performance. That almost asks for calling this "negative overhead", if the term weren't somewhat misleading.
So, if you ever need to substantiate why Solaris Zones have no virtualization overhead, point to these (and probably some more) published benchmarks.