[ovs-dev] PMD auto load balance experimental tag

Yoga Ananth sy.ananth at gmail.com
Thu Mar 18 21:04:03 UTC 2021


Hello Kevin,
On Fri, Mar 5, 2021 at 10:37 PM Kevin Traynor <ktraynor at redhat.com> wrote:

> Hi All,
>
> PMD auto load balance (ALB) is an experimental feature since OVS 2.11.
>
> In short, RxQs are reassigned to PMDs based on load during a reconfig.
>
> However, there might not be a reconfig for a long time so ALB runs
> periodically and checks PMD thread load and the load variance between
> PMD threads. If load is high and it's estimated that it will be improved
> by a certain amount after reassigning RxQs to PMDs, a reassignment is
> triggered.
>
> ALB calls the reassignment code similar to if there was a reconfig or if
> the rebalance command is used. There are some ideas for how to improve
> RxQ to PMD assignments in general, but that's a slightly different topic
> and can be a later optimization if needed.
>
> ALB is documented more here:
>
> https://docs.openvswitch.org/en/latest/topics/dpdk/pmd/?highlight=rebalance#automatic-assignment-of-port-rx-queue-to-pmd-threads-experimental
>
> I would like to progress it so the experimental tag on ALB can be
> removed. There are a few things I think are needed:
>
> - Need to restructure the code so that ALB reassignment dry run uses the
> same code path as the reassignment code it will call
>
> - ALB operation should be understandable through logs and stats
> e.g. Should be able to confirm setting state/parameters in logs and see
> if ALB is taking some action. Should be able to get more debug if needed
> etc.
>
> - Unit tests
> Some patches here:
>
> http://patchwork.ozlabs.org/project/openvswitch/patch/20210218104802.293740-2-ktraynor@redhat.com/
>
> - Iron out if the current ALB enable/disable user interface logging
> based partly min resource requirements is right or we want to it to run
> regardless
> i.e.
> https://mail.openvswitch.org/pipermail/ovs-dev/2021-February/380386.html
>
> - Review/Improve operation documentation
>
> - Further testing
>
> Thoughts?
>
> I was able to evaluate ALB with 2.15 release, by using a traffic
generator[1] that is able to deterministically load only the desired rxqs
associated with a PMD, hence I was able to deterministically evaluate ALB
for different values of  pmd-auto-lb-load-threshold and n_rxq.
Currently working on enhancing traffic generator[1] to evaluate ALB with
bidirectional traffic.
If you have any scenario or traffic pattern in mind, happy to adapt the
traffic generator and evaluate ALB with those too.

[1] https://github.com/yogananth-subramanian/multiqueue_traffic_gen

> thanks,
> Kevin.
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> https://mail.openvswitch.org/mailman/listinfo/ovs-dev
>


-- 
Kind Regards
yogananth subramanian


More information about the dev mailing list