[dpdk-dev] DPDK QoS performance issue in DPDK 1.4.1.

Jim Jia mydpdk at 126.com
Sun Sep 22 10:34:38 CEST 2013


 In my experiment, all the packes are the same,  which is quit different from realistic traffic management scenario. Thank you for your replay that   Ienlightened me.








At 2013-09-21 19:58:18,"Dumitrescu, Cristian" <cristian.dumitrescu at intel.com> wrote:
>Hi Jim,
>
>When we designed the Intel DPDK QoS hierarchical scheduler, we targeted thousands of pipes per output port rather than just a couple of them, so this configuration is not exactly relevant for a performance discussion. We could take a look at your proposed configuration, but when looking at performance, I would definitely recommend enabling thousands of pipes per output port, which is closer to a realistic traffic management scenario in a telecom environment with thousands of users/subscribers, multiple traffic classes, etc.
>
>Just in case you haven't seen this, there is a comprehensive chapter on "Quality of Service (QoS) Framework" in Intel DPDK Programmer's Guide. Section 18.2.1 has a statement on this: "The hierarchical scheduler is optimized for a large number of packet queues. When only a small number of queues are needed, message passing queues should be used instead of this block."
>
>Looking at your profile.cfg, it is very similar to the default profile.cfg from the qos_sched example application, with a few changes. Besides setting "number of pipes per subport"  to 2 instead of 4096, you also change the subport and pipe "tc period" parameters from 10 ms and 40 ms to 10,000x more, not sure what your intention is here?
>
>Looking at the packet loss: is it 30 packets in total or 30 packets/second? In general, a packet loss can happen from a lot of reasons, it is very difficult to point to a specific cause without having more details on your setup. The qos_sched application provides a number of statistics counters tracking packets along the way, are you able to see exactly where those packets get dropped? I would suggest to try to see which block drops the packets and then look deeper into that block to understand why.
>
>Just to double check: what is the format of your input packets? The qos_sched application requires Ethernet frames with Q-in-Q (i.e. 2x VLAN tags) and IPv4 packets. If the input traffic does not fit the format expected by the application, then the application will not be able to work correctly. The format of the input packets is described in the "QoS Scheduler Sample Application" chapter of the Intel DPDK Sample Guide: the VLAN ID of 1st VLAN label specifies the subport ID (to be used by the traffic manager for the current packet), the VLAN ID of the 2nd VLAN label specifies the pipe ID within the subport; assuming IP destination = A.B.C.D, the 2 least significant bits of byte C specify the Traffic Class of the packet, while the 2 least significant bits of byte D specify the queue ID within the Traffic Class.
>
>Hope this helps!
>
>Regards,
>Cristian
>
>-----Original Message-----
>From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Jim Jia
>Sent: Wednesday, September 11, 2013 8:30 AM
>To: dev at dpdk.org
>Subject: [dpdk-dev] DPDK QoS performance issue in DPDK 1.4.1.
>
> Hello, everyone!
>      I have a question about DPDK's QoS Library performance. These days, I am tesing  DPDK's QoS Library performance using the DPDK example, qos_sched. Before I try to do the test,  I modified profile.cfg. In my opinion,  there should be no packet dropped  by qos_sched when it is processing packets at about 3Gbps, 64bit.  However, I find qos_sched would drop a few packets (about 30) at that case. Is it normal phenomenon? Or did I do anything wrong? I am so amazed in the results. I need help. Thanks a lot!
>
>
>my profile.cfg  as following:
>
>; Port configuration
>[port]
>frame overhead = 24
>number of subports per port = 1
>number of pipes per subport = 2
>queue sizes = 64 64 64 64
>
>; Subport configuration
>[subport 0]
>tb rate = 1250000000           ; Bytes per second
>tb size = 1250000000             ; Bytes
>
>tc 0 rate = 1250000000         ; Bytes per second
>tc 1 rate = 1250000000         ; Bytes per second
>tc 2 rate = 1250000000         ; Bytes per second
>tc 3 rate = 1250000000         ; Bytes per second
>tc period = 100000                 ; Milliseconds
>
>pipe 0-1 = 0                ; These pipes are configured with pipe profile 0
>
>; Pipe configuration
>[pipe profile 0]
>tb rate = 1250000000               ; Bytes per second
>tb size = 1250000000           ; Bytes
>
>tc 0 rate = 1250000000             ; Bytes per second
>tc 1 rate = 1250000000         ; Bytes per second
>tc 2 rate = 1250000000          ; Bytes per second
>tc 3 rate = 1250000000         ; Bytes per second
>tc period = 400000                 ; Milliseconds
>
>tc 3 oversubscription weight = 1
>
>tc 0 wrr weights = 1 1 1 1
>tc 1 wrr weights = 1 1 1 1
>tc 2 wrr weights = 1 1 1 1
>tc 3 wrr weights = 1 1 1 1
>
>; RED params per traffic class and color (Green / Yellow / Red) [red] tc 0 wred min = 48 40 32 tc 0 wred max = 64 64 64 tc 0 wred inv prob = 10 10 10 tc 0 wred weight = 9 9 9
>
>tc 1 wred min = 48 40 32
>tc 1 wred max = 64 64 64
>tc 1 wred inv prob = 10 10 10
>tc 1 wred weight = 9 9 9
>
>tc 2 wred min = 48 40 32
>tc 2 wred max = 64 64 64
>tc 2 wred inv prob = 10 10 10
>tc 2 wred weight = 9 9 9
>
>tc 3 wred min = 48 40 32
>tc 3 wred max = 64 64 64
>tc 3 wred inv prob = 10 10 10
>tc 3 wred weight = 9 9 9
>
>Jim jia
>--------------------------------------------------------------
>Intel Shannon Limited
>Registered in Ireland
>Registered Office: Collinstown Industrial Park, Leixlip, County Kildare
>Registered Number: 308263
>Business address: Dromore House, East Park, Shannon, Co. Clare
>
>This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies.
>
>


More information about the dev mailing list