Steal time accounting in KVM. Benchmark.

From: Alexey Makhalov
Date: Mon Oct 19 2015 - 17:58:14 EST


Hi,

I did benchmarking of scheduler fairness with enabled steal time
accounting(STA) in KVM.
And results are really interesting.

Looks like STA provides worse scheduler fairness against disabled STA
(no-steal-acc cmdline param)

I created benchmark, main idea is: 2 cgroups with cpu.shares
proportion like 1/9, run identical work in both groups, and expecting
to get the same proportion of work done â 1/9. Condition â CPU
overcommit.

On bare metal it is fair +- some percentages of fluctation.
On KVM with no STA itâs less fair. With STA enabled results are
ugly! One again â in CPU overcommit situation.


Host: ubuntu 14.04, Intel i5 â 2x2 CPUs
2 VMs (4 vCPU each) are working in parallel. 2:1 cpu overcommit.

Each VM has running benchmark:
cgroups cpu.shares proportion is 128/1152 (10%/90%), work â spinning
in cycle, number of cycles are being counted.

Results:
First column â work proportion. Expected value 90%
Second column â total number of loop cycles from all workers (x100000).
Interval between printed lines â 1 sec

VM1: STA is disabled (no-steal-acc)
85% 29683
85% 29520
87% 29574
87% 31386
84% 29578
87% 29595
86% 29644
87% 29655
87% 30059
88% 30000
90% 30037
90% 29720
90% 29951
86% 29958
88% 29971
90% 29829
82% 29841
82% 29998
82% 29752
80% 29722
88% 28825
85% 28283
85% 29746
77% 29657
82% 29674
84% 29764
87% 29567
79% 29529
84% 29633

VM2: STA is enabled
51% 30709
38% 29564
44% 29429
47% 29759
41% 29792
0% 29987
51% 52666
50% 29753
50% 29670
54% 29461
45% 29927
35% 29743
50% 29683
50% 29971
47% 30033
0% 121204
7% 116039
25% 119069
24% 40269
5% 37684
24% 30039
22% 30269
44% 31861
29% 29652
24% 29558
24% 29783
24% 29494
24% 29607
43% 29613
25% 29377

My benchmark sources: https://github.com/YustasSwamp/steal-time-benchmark

Any ideas?
Do you have any steal time specific benchmarks?

Thanks,
Alexey
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/