DPDK patches and discussions
 help / color / mirror / Atom feed
From: Jason Vassbender <jason.vassbender@gmail.com>
To: "François-Frédéric Ozog" <ff@ozog.com>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] Decoupling DPDK from EAL
Date: Wed, 4 Dec 2013 11:25:01 +0200	[thread overview]
Message-ID: <CALGHckTWg07kz1qJKC9Ww_pfesgmrwnFCBVrpzdzGz_OuE4W5w@mail.gmail.com> (raw)
In-Reply-To: <035f01cef0ca$a0d7a470$e286ed50$@com>

Hey,

I guess the main hurdle is that we already have our own multi-threaded
architecture and ways to control thread startup/shutdown, priorities
and affinities and they are all balanced very delicately (our
application is latency sensitive, runs on rt_preempt, boots with
isolcpus, etc). In addition, we are already using the command line to
initialize some of our things, and part of the configuration for the
application does not even come from the command line, but from eg.
XML configuration file over the network. So ideally what I would have
preferred is that EAL initialization could be done by other means (for
example a simple initialization function with a dictionary as to be more
flexible) and thread creation/shutdown could be left to the application
if it so desires, provided it meets the execution conditions expected
by DPDK.

Essentially, at its current state, DPDK offers a complete solution to
your problem including the entire surrounding framework. But for most
big applications they already have their own frameworks in place and
integrating DPDK becomes harder than it should be. So if DPDK
were to be decoupled from EAL, made more modular, and some of the
functions optionally left to applications to provide if they already have
the facilities for them would make integration much easier and more
flexible.

-Jason

On Wed, Dec 4, 2013 at 10:27 AM, François-Frédéric Ozog <ff@ozog.com> wrote:
> Hi,
>
> I just completed such a consulting mission for a customer. They were using
> libpcap as the network back end and the most challenging hurdle was to
> transform a single threaded capture architecture to a multi-threaded one
> with DPDK. The other key take away, is that DPDK capture helps to get only
> 20% of the 20 times performance boost I managed to achieve: most of the
> latency is due to "application" and other internal communication mechanisms.
>
> So I agree that DPDK is not light, but I think most of the power of DPDK
> comes from EAL thread management and "IPC"...
>
> Having said all that, I may have missed a critical point, so, what is the
> specific major hurdle you see in the integration?
>
> François-Frédéric
>
>
>> -----Message d'origine-----
>> De : dev [mailto:dev-bounces@dpdk.org] De la part de Jason Vassbender
>> Envoyé : mardi 3 décembre 2013 22:51
>> À : dev@dpdk.org
>> Objet : [dpdk-dev] Decoupling DPDK from EAL
>>
>> Hello,
>>
>> I am trying to integrate DPDK into an existing application in order to
>> improve packet processing latency, but it is proving rather difficult
>> because of DPDK's dependency on EAL's thread management and bootstrap
>> mechanism. Our application already has its own framework for managing
>> threads and their affinities/priorities, IPC, timers and its own bootstrap
>> mechanism (not necessarily via command line arguments), we wish to
>> integrate DPDK as an alternative network back-end, but it wants to to take
>> over our entire way of doing things.
>>
>> Are there any plans to decouple DPDK's core functionality away from EAL so
>> that it can be more easily integrated into existing applications?
>>
>> -Jason
>

  reply	other threads:[~2013-12-04  9:23 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-12-03 21:50 Jason Vassbender
2013-12-04  8:27 ` François-Frédéric Ozog
2013-12-04  9:25   ` Jason Vassbender [this message]
2013-12-04 13:37     ` François-Frédéric Ozog
2013-12-04 14:53       ` Jason Vassbender

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CALGHckTWg07kz1qJKC9Ww_pfesgmrwnFCBVrpzdzGz_OuE4W5w@mail.gmail.com \
    --to=jason.vassbender@gmail.com \
    --cc=dev@dpdk.org \
    --cc=ff@ozog.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).