DPDK patches and discussions
 help / color / mirror / Atom feed
From: Yuyong Zhang <yuyong.zhang@casa-systems.com>
To: "dev@dpdk.org" <dev@dpdk.org>, "users@dpdk.org" <users@dpdk.org>
Subject: [dpdk-dev] how to design high performance QoS support for a large amount of subscribers
Date: Tue, 2 Aug 2016 15:26:06 +0000	[thread overview]
Message-ID: <BLUPR06MB611FFA47DC49EF570D8F594B9050@BLUPR06MB611.namprd06.prod.outlook.com> (raw)

Hi,

I am trying to add QoS support for a high performance VNF with large amount of subscribers (millions). It requires to support guaranteed bit rate for different service level of subscribers. I.e. four service levels need to be supported:

*         Diamond, 500M

*         Gold, 100M

*         Silver, 50M

*         Bronze, 10M

Here is the current pipeline design using DPDK:


*         4 RX threads, does packet classification and load balancing

*         10-20 worker thread, does application subscriber management

*         4 TX threads, sends packets to TX NICs.

*         Ring buffers used among RX threads, Worker threads, and TX threads

I read DPDK program guide for QoS framework regarding  hierarchical scheduler: Port, sub-port, pipe, TC and queues, I am looking for advice on how to design QoS scheduler to support millions of subscribers (pipes) which traffic are processed in tens of worker threads where subscriber management processing are handled?

One design thought is as the following:

8 ports (each one is associated with one physical port), 16-20 sub-ports (each is used by one Worker thread), each sub-port supports 250K pipes for subscribers. Each worker thread manages one sub-port and does metering for the sub-port to get color, and after identity subscriber flow pick a unused pipe, and do sched enqueuer/de-queue and then put into TX rings to TX threads, and TX threads send the packets to TX NICs.

Are there functional and performance issues with above approach?

Any advice and input are appreciated.

Regards,

Yuyong

             reply	other threads:[~2016-08-02 15:26 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-02 15:26 Yuyong Zhang [this message]
2016-08-04 13:01 ` Dumitrescu, Cristian
2016-08-04 13:46   ` Yuyong Zhang

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=BLUPR06MB611FFA47DC49EF570D8F594B9050@BLUPR06MB611.namprd06.prod.outlook.com \
    --to=yuyong.zhang@casa-systems.com \
    --cc=dev@dpdk.org \
    --cc=users@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).