dividing host CPU performance

Břeťa Vomočil
2008-12-05T08:32:01Z

Hi,
I want to divide host CPU performance between 2 VM in specified ratio. I use Cgroups system and cpu.shares files, but I'm not much successful in doing that.

My scenario:
- 2 VM - Ubuntu server 8.10 with 4 VCPU, QCOW2 disk and about 300MB memory running on host CPU with 4 cores
- in Cgroups:
1st VM - cpuset.cpus = "0-3", cpuset.mems="0", cpu.shares="3072", tasks=<appropriate_VM_PID>
2nd VM - cpuset.cpus = "0-3", cpuset.mems="0", cpu.shares="1024", tasks=<appropriate_VM_PID>

Actual result:
Performance isn't divided 3:1 (in favor of the first VM) but 1:1.

I'm looking for an approach which gives me abilities like the Xen has with its scheduling parameters "cap" and "weight". I would appreciate any help how to solve this issue - I don't insist on Cgroups, but it seems like an capable solution, but for me it doesn't work (it is also possible, that my scenario miss some necessary setting).

Thanks in advance for any constructive advices
Breta