Hi Sai On Wed, 2018-06-20 at 08:50 -0700, Edupuganti, Saikrishna wrote:
Hi Team,
When translating the K cpu count from Docker/k8s to Qemu options, what is reasoning behind configuring K sockets with 1 core per socket instead of K cores with 1 socket? Did any performance measurements guide this decision?
no, this is to support the maximum number of vCPUs. from https://github.com/containers/virtcontainers/pull/591 "The maximum number of CPUs per VM recommended by KVM is 240. To support this amount of CPUs, the CPU topology must change to 1 CPU 1 Socket, otherwise the VM will fail and print next error message: qemu: max_cpus is too large. APIC ID of last CPU is N" see issue https://github.com/containers/virtcontainers/issues/597 do you see better pnp numbers by changing the topology? threads vs cores vs sockets
When we bring up kata container with 8 cpus it brings up a VM with (8+1) sockets -
read https://github.com/kata-containers/documentation/blob/master/const raints/cpu.md please don't hesitate to ask me if you don't understand above document.
kubectl exec -it ubuntu-kata -- lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 1 On-line CPU(s) list: 0 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 1
kubectl exec -it ubuntu-kata-8cpu-limit -- lscpu Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 9 On-line CPU(s) list: 0-8 Thread(s) per core: 1 Core(s) per socket: 1 Socket(s): 9
Thanks, Sai