Improve NFV workload performance with multiq support
Today's high-end server have more processors, guests running on them tend have
an increasing number of vcpus. The scale of the protocol stack in guest in
restricted because of the single queue virtio-net:
* The network performance does not scale as the number of vcpus increasing:
Guest can not transmit or retrieve packets in parallel as virtio-net have
only one TX and RX, virtio-net drivers must be synchronized before sending
and receiving packets. Even through there's software technology to spread
the loads into different processor such as RFS, such kind of method is only
for transmission and is really expensive in guest as they depends on IPI
which may brings extra overhead in virtualized environment.
* Multiqueue nic were more common used and is well supported by linux kernel,
but current virtual nic can not utilize the multi queue support: the tap and
virtio-net backend must serialize the co-current transmission/
request comes from different cpus.
Support for multiqueue in vhost-user was added not a long time ago, so we need
the following packages together:
* qemu 2.5
* libvirt 1.3.1
* openvswitch 2.5
* dpdk 2.2
Blueprint information
- Status:
- Not started
- Approver:
- None
- Priority:
- Undefined
- Drafter:
- Dmitry Teselkin
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- New
- Series goal:
- None
- Implementation:
-
Unknown
- Milestone target:
- None
- Started by
- Completed by
Related branches
Related bugs
Sprints
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
Multiqueue support for NFV