DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: Alexey Bogdanenko <abogdanenko@ecotelecom.ru>,
	"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] QoS grinder vs pipe wrr_tokens
Date: Wed, 8 Jun 2016 15:23:32 +0000	[thread overview]
Message-ID: <3EB4FA525960D640B5BDFFD6A3D89126479FFD29@IRSMSX108.ger.corp.intel.com> (raw)
In-Reply-To: <57570458.1080208@ecotelecom.ru>

Hi Alexey,

The WRR context is compressed to use less memory footprint in order to fit the entire pipe run-time context (struct rte_sched_pipe) into a single cache line for performance reasons. Basically we trade WRR accuracy for performance.

For some typical Telco use-cases, the WRR/WFQ accuracy for the traffic class queues is not that important, as usually the traffic class queue weight ratio is big, e.g. 1:4:20. Basically, whether the actual observed ratio at run-time is 1:4:20 or 1:5:18 or 1:3:22 is not that important, as the intention really is to source most of the traffic from the queue with the largest weight, some traffic from the queue with the medium weight and not starve the lowest weight queue; this mode is very similar to strict priority between traffic class queues, with the exception that the lowest priority queues are not starved for long time.

When WRR accuracy is more important than performance, this operation should be disabled.

Regards,
Cristian


> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Alexey
> Bogdanenko
> Sent: Tuesday, June 7, 2016 8:29 PM
> To: dev@dpdk.org
> Subject: [dpdk-dev] QoS grinder vs pipe wrr_tokens
> 
> Hello,
> 
> I have a question regarding QoS grinder implementation, specifically,
> about the way queue WRR tokens are copied from pipe to grinder and back.
> 
> First, rte_sched_grinder uses uint16_t and rte_sched_pipe uses uint8_t
> to represent wrr_tokens. Second, instead of just copying the tokens, we
> shift bits by RTE_SCHED_WRR_SHIFT.
> 
> What does it accomplish? Can it lead to lower scheduler accuracy due to
> a round-off error?
> 
> version: v16.04
> 
> Thanks,
> 
> Alexey Bogdanenko

      reply	other threads:[~2016-06-08 15:23 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-07 17:28 Alexey Bogdanenko
2016-06-08 15:23 ` Dumitrescu, Cristian [this message]

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=3EB4FA525960D640B5BDFFD6A3D89126479FFD29@IRSMSX108.ger.corp.intel.com \
    --to=cristian.dumitrescu@intel.com \
    --cc=abogdanenko@ecotelecom.ru \
    --cc=dev@dpdk.org \
    /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).