DPDK usage discussions
 help / color / mirror / Atom feed
* [dpdk-users] OVS with DPDK Meetup notes
@ 2015-11-26 17:56 Traynor, Kevin
  2015-11-30 23:51 ` [dpdk-users] [ovs-dev] " Flavio Leitner
  2015-12-01 14:09 ` Panu Matilainen
  0 siblings, 2 replies; 3+ messages in thread
From: Traynor, Kevin @ 2015-11-26 17:56 UTC (permalink / raw)
  To: dev; +Cc: users

Hi All,

Just wanted to post some summary notes on the recent OVS with DPDK Meetup we 
had after the OVS conference. Thanks to everyone for the often lively discussion. 
I've collated and condensed Maryam's notes (Thank you Maryam) with my own. 
Corrections and additions are welcome.

Usability
==========
* Command line options 
  - Create defaults which can be overridden on the command line.
  -c 0x1
  -n 4 (this will be in DPDK 2.2 also)
  -socket-mem 1024,0 

* igb / vfio / uio 
  - Update documentation to explain these better.

* 1GB v 2MB Hugepages
  - Test to see if significant performance difference between them and if not,
    update documentation to preference 2 MB pages. 

* Assignment of queues to cores/PMD threads
  - Would like to allow for better load balancing of traffic across cores.
  - Add appctl command to get the current queue/core assignments (currently 
    it's only in logs).
  - Discussion about relative merits of trying to do something better than 
    current scheme automatically or allowing a user interface to configure 
    manually. General consensus seemed to be that while it might be difficult 
    to do well automatically, it would be good to investigate and exhaust that 
    possibility before adding a manual user config.
  - Possibility of using DPDK light weight threads discussed.

* Debugging
  - A tcpdump type solution would be nice. Follow DPDK and leverage.

* More flexible port names / auto-discovery of ports
  - Follow DPDK and leverage.

* Single binary for OVS/OVS with DPDK and static vs. dynamic linking
  - Discussion around deployment and what the best model is.
  - Flavio has posted a mail on this
   http://openvswitch.org/pipermail/dev/2015-November/062599.html

* Documentation
  - Make INSTALL.DPDK.md guide cover the most common use cases only, and split 
    the other stuff into a less common/advanced guide. 

Testing
=======
* General agreement in the room that VSPERF pushing a nightly test report for 
  OVS/OVS with DPDK to the ovs-build ML would be useful.

* Static Analysis
  - Is there an open source static analysis tool that the community could all use?

Features
========
* Multiqueue vhost-user
  - Looks really promising - will help us scale out performance to the VM. 

* vhost-cuse 
  - Still used by some. Give notice to deprecate as there's a maintenance cost. 
    2 releases was mentioned, but I'm not sure that's clear to a user without a 
    regular release cadence. 

* dpdkr/ivshmem
  - Still useful. Check/Update documentation to ensure limitations are clear.


Performance
===========
* Some new optimizations coming in DPDK for vhost performance that we can 
  leverage.
* Scalability 
  - Performance is scaling well across cores (See Gerald Roger's OVS conf 
    presentation for reference)


At that point everyone was "conferenced out", but tentative plan to arrange 
another meetup in ~6 months' time if there's enough discussion items to warrant 
it.

Thanks,
Kevin.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-users] [ovs-dev] OVS with DPDK Meetup notes
  2015-11-26 17:56 [dpdk-users] OVS with DPDK Meetup notes Traynor, Kevin
@ 2015-11-30 23:51 ` Flavio Leitner
  2015-12-01 14:09 ` Panu Matilainen
  1 sibling, 0 replies; 3+ messages in thread
From: Flavio Leitner @ 2015-11-30 23:51 UTC (permalink / raw)
  To: Traynor, Kevin; +Cc: dev, users

On Thu, Nov 26, 2015 at 05:56:08PM +0000, Traynor, Kevin wrote:
> Hi All,
> 
> Just wanted to post some summary notes on the recent OVS with DPDK Meetup we 
> had after the OVS conference. Thanks to everyone for the often lively discussion. 
> I've collated and condensed Maryam's notes (Thank you Maryam) with my own. 
> Corrections and additions are welcome.

Thanks for having organized the event and for the good notes.


> Usability
> ==========
> * Single binary for OVS/OVS with DPDK and static vs. dynamic linking
>   - Discussion around deployment and what the best model is.
>   - Flavio has posted a mail on this
>    http://openvswitch.org/pipermail/dev/2015-November/062599.html

Let us know if you find a performance difference between static vs
dynamic linking.  We might be able to accommodate both options in
the same spec, but it seems we should go with shared linking only
to keep it simple for now.


> Features
> ========
> * Multiqueue vhost-user
>   - Looks really promising - will help us scale out performance to the VM. 

I see that vhost PMD is moving and if it gets accepted, it would
be a nice clean up for OVS.  Do you know if there is someone working
on this already?

> * dpdkr/ivshmem
>   - Still useful. Check/Update documentation to ensure limitations are clear.

Yeah, same thing here.

Thanks,
fbl

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-users] [ovs-dev] OVS with DPDK Meetup notes
  2015-11-26 17:56 [dpdk-users] OVS with DPDK Meetup notes Traynor, Kevin
  2015-11-30 23:51 ` [dpdk-users] [ovs-dev] " Flavio Leitner
@ 2015-12-01 14:09 ` Panu Matilainen
  1 sibling, 0 replies; 3+ messages in thread
From: Panu Matilainen @ 2015-12-01 14:09 UTC (permalink / raw)
  To: Traynor, Kevin, dev; +Cc: users

On 11/26/2015 07:56 PM, Traynor, Kevin wrote:
> Hi All,
>
> Just wanted to post some summary notes on the recent OVS with DPDK Meetup we
> had after the OVS conference. Thanks to everyone for the often lively discussion.
> I've collated and condensed Maryam's notes (Thank you Maryam) with my own.
> Corrections and additions are welcome.
>
> Usability
> ==========
> * Command line options
>    - Create defaults which can be overridden on the command line.
>    -c 0x1
>    -n 4 (this will be in DPDK 2.2 also)
>    -socket-mem 1024,0

Another possibility might be saving these in Open_vSwitch other_config 
db along with pmd-cpu-mask and the like. DPDK init could be delayed 
until the config db is available I think.

OTOH the command line variant is perhaps less effort. I've been carrying 
the following patch in my packages to allow passing arbitrary DPDK 
options to OVS service start via DPDK_OPTIONS in 
/etc/sysconfig/openvswitch,:

diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
index 6d2e938..7db1500 100755
--- a/utilities/ovs-ctl.in
+++ b/utilities/ovs-ctl.in
@@ -240,8 +240,11 @@ start_forwarding () {
          fi

             # Start ovs-vswitchd.
-           set ovs-vswitchd unix:"$DB_SOCK"
-           set "$@" -vconsole:emer -vsyslog:err -vfile:info
+           set ovs-vswitchd
+           if test X"$DPDK_OPTIONS" != X; then
+               set "$@" --dpdk $DPDK_OPTIONS --
+           fi
+           set "$@" unix:"$DB_SOCK" -vconsole:emer -vsyslog:err -vfile:info
             if test X"$MLOCKALL" != Xno; then
                 set "$@" --mlockall
             fi

With that, the truly trivial (if a bit cheap) way of adding workable 
defaults becomes basically just:

diff --git 
a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template 
b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
index 3050a07..d5bfe9d 100644
--- a/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
+++ b/rhel/usr_share_openvswitch_scripts_systemd_sysconfig.template
@@ -21,3 +21,6 @@
  #   --ovsdb-server-wrapper=valgrind
  #
  OPTIONS=""
+
+# Uncomment to enable DPDK
+#DPDK_OPTIONS="-c0x1 -n4 --socket-mem 1024,0"


	- Panu -

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-12-01 14:09 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-11-26 17:56 [dpdk-users] OVS with DPDK Meetup notes Traynor, Kevin
2015-11-30 23:51 ` [dpdk-users] [ovs-dev] " Flavio Leitner
2015-12-01 14:09 ` Panu Matilainen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).