Bug 1671832 - [RFE] OVS 2.11 auto-rebalance
Summary: [RFE] OVS 2.11 auto-rebalance
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux Fast Datapath
Classification: Red Hat
Component: openvswitch2.11
Version: FDP 19.03
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
: ---
Assignee: Kevin Traynor
QA Contact: Jiying Qiu
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-02-01 19:20 UTC by Kevin Traynor
Modified: 2020-01-14 19:53 UTC (History)
10 users (show)

Fixed In Version: openvswitch2.11-2.11.0-0.20190129gitd3a10db.el7fdp
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-04-23 08:26:35 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2019:0799 0 None None None 2019-04-23 08:26:41 UTC

Description Kevin Traynor 2019-02-01 19:20:49 UTC
Description of problem:

Over a period of time traffic patterns can change, or the datapath of OVS-DPDK can be found to be imbalanced, whereby some of the datapath cores are heavily overloaded leading to packet loss, and some are lightly loaded with available cycles. This can lead to continual packet loss.

During reconfiguration OVS-DPDK will attempt to create a more balanced system, but reconfiguration may not take place for a long time.

Auto-rebalance is an experimental feature in OVS 2.11 that will monitor the health of the processing load across cores, perform several checks and if predicted that the system will be have a better balanced load after a reconfiguration, it will automatically trigger a reconfiguration.

Steps to Test:
1. setup 2 ports with 2 rx queues and 2 pmd cores
2. adjust traffic rates so that 1 pmd core is heavily overload (95%+) with 2 heavily loaded rxqs, while the other pmd core is lightly loaded with 2 lightly loaded rxqs.
3. After ~1 min, confirm 2. with: ovs-appctl dpif-netdev/pmd-rxq-show
4. enable auto-rebalance: ovs-vsctl set open_vswitch . other_config:pmd-auto-lb="true"
5. observe that after ~1 min auto-rebalance detects this situation and requests a rebalance (dpif_netdev|INFO|PMD auto lb dry run. requesting datapath reconfigure.)
7. Observe with pmd-rxq-show that now that the heavily loaded rx queues are on different cores

Additional info:
Further modifications may be made at a later time either inside of outside of OVS to refine this feature.

Comment 2 Jiying Qiu 2019-03-26 07:11:27 UTC
verified with openvswitch2.11-2.11.0-3.el7fdp.x86_64. 

verified with single rxq and multi rxq per port. pmd-auto-rebalance works well.

Single rxq per port just like this :

# ovs-appctl dpif-netdev/pmd-rxq-show
pmd thread numa_id 0 core_id 10:
  isolated : false
  port: dpdk1             queue-id:  0  pmd usage: 57 %
  port: dpdkvhostuser0    queue-id:  0  pmd usage: 40 %
pmd thread numa_id 0 core_id 38:
  isolated : false
  port: dpdk0             queue-id:  0  pmd usage:  0 %
  port: dpdkvhostuser1    queue-id:  0  pmd usage:  0 %
# 
# 
# ovs-appctl dpif-netdev/pmd-rxq-show
pmd thread numa_id 0 core_id 10:
  isolated : false
  port: dpdk1             queue-id:  0  pmd usage: NOT AVAIL
  port: dpdkvhostuser1    queue-id:  0  pmd usage: NOT AVAIL
pmd thread numa_id 0 core_id 38:
  isolated : false
  port: dpdk0             queue-id:  0  pmd usage: NOT AVAIL
  port: dpdkvhostuser0    queue-id:  0  pmd usage: NOT AVAIL
#

Comment 4 errata-xmlrpc 2019-04-23 08:26:35 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHEA-2019:0799


Note You need to log in before you can comment on or make changes to this bug.