Re: [RFC tg_shares_up improvements - v1 00/12] [RFC tg_shares_up - v1 00/12] Reducing cost of tg->shares distribution

Karl Rister
2010-11-03T18:27:27Z

Hi All

Here is a some performance data for the previously posted patches
running a LAMP workload in a cloud-like environment which show promising
reductions in CPU utilization. In this particular test, 32 groups
equaling 64 KVM guests (each group consists of an Apache server guest
and a MySQL server guest) are running a LAMP workload being driven by
external load drivers. When using the default values in /etc/cgconfig.conf:

mount {
cpuset = /cgroup/cpuset;
cpu = /cgroup/cpu;
cpuacct = /cgroup/cpuacct;
memory = /cgroup/memory;
devices = /cgroup/devices;
freezer = /cgroup/freezer;
net_cls = /cgroup/net_cls;
blkio = /cgroup/blkio;
}

which enable libvirt usage of cgroups the contents of /proc/cgroups
looks like this before launching the guests:

#subsys_name hierarchy num_cgroups enabled
cpuset 1 4 1
ns 0 1 1
cpu 2 4 1
cpuacct 3 4 1
memory 4 4 1
devices 5 4 1
freezer 6 4 1
net_cls 7 1 1
blkio 8 1 1

and like this after launching the guests:

#subsys_name hierarchy num_cgroups enabled
cpuset 1 68 1
ns 0 1 1
cpu 2 68 1
cpuacct 3 68 1
memory 4 68 1
devices 5 68 1
freezer 6 68 1
net_cls 7 1 1
blkio 8 1 1

When running the workload the run with the patches used significantly
less CPU:

Host CPU utilization with patches: 54.35%
Host CPU utilization without patches: 80.89%

Since the workload uses a fixed injection rate the achieved throughput
for both test runs was the same, however the run with the patches
applied did achieve better quality of service metrics.

NOTE: The runs were made using kvm.git changeset
cec8b6b972a572b69d4902f57fb659e8a4c749af.

--
Karl Rister <kmr@us.ibm.com>