One of the challenges for NFV is to achieve the performance as high as dedicated hardware. SR-IOV is used for such a purpose. However, you lose the flexibility of virtualization because it highly depends on hardware.
DPDK is emerging solution for NFV, but there are still difficulties to use it in OpenStack. This is because DPDK should be aware of physical computing resources, such as NIC ports, CPU cores, and NUMA nodes.
In this talk, we show how much the performance changes if those physical resources are well tuned for optimization. We explain how to work around tuning difficulties in OpenStack giving an illustration of the usage of networking-spp. Networking-spp is a Neutron ML2 plugin for SPP (Soft Patch Panel). SPP is implemented on DPDK. It behaves like a patch panel and enables VNFs to communicate each other.
We also mention the remaining tasks for optimization and how they are going to be solved in the Placement, a resource management service from the Nova project.
You should expect to learn three topics from our talk.
- How DPDK performance changes with various parameters
- How we should configure OpenStack to maximize the performance
- Points for which OpenStack is still not optimized for the performance
In the first topic, we focus on DPDK performance. Showing our evaluation result, we describe how the performance changes with tuning parameters of CPU pinning, NUMA awareness, hyperthreading, vhost zero-copy, and so on.
In the second topic, we describe which of the tuning parameters are available in OpenStack and how we enable them.
In the final topic, we discuss points that should be further optimized in OpenStack. We describe how we have solved those tuning difficulties with the neutron plugin. Here, we also mention new possibilities to overcome those difficulties in more generic way with new projects such as the Placement, a resource management service from the Nova project.