Virtualizing NUMA


One Line Summary

Discussing the benefits of virtualizing NUMA architecture in KVM or Xen guests


All recent servers with more than one CPU socket rely on NUMA (non-uniform memory access) to solve scalability problems. If guests fit entirely into one NUMA node (both in terms of memory and required vCPUs), the current implementation both in KVM and Xen work quite well. But if larger guests exceed one of these resources, the performance may degrade.
The solution is to allow the hypervisor to assign resources from multiple nodes to one guest and to tell the guests about it by injecting a virtual NUMA layout.
I will show the performance impact of different NUMA scenarios in guests in Xen and KVM and hope to discuss possible solutions. Issues to solve are the limiting static nature of the current resource allocation and the best approach to an automatic setup of the NUMA parameters.




  • Biography

    After graduation from the University of Technology in Berlin, Germany in 2002 with a diploma thesis on realtime embedded Linux and working there for a four years (including lecturing) I joined AMD in Dresden, Germany in 2006. At the OSRC I worked on several fields in the virtualization area both in Xen and KVM, contributing to topics like NUMA (QEMUs guest NUMA emulation), CPUID (including guest multi-core emulation) as well as cross-vendor migration. I presented some topics at the Berlin Linux-Tag and at the Chemnitzer Linux-Tage events.

Leave a private comment to organizers about this proposal