Thanks Klement. I believe the problem is the slow app (service C) with very
low pps bringing down pps in VPP.
 I am wondering if there is a way to tune VPP dispatcher timing so that it
will dispatch packets at a slower packet rate/pps which hopefully could
increase the vector size.

Thank you

- Pranab K Das

On Fri, Nov 19, 2021 at 5:07 AM Klement Sekera -X (ksekera - PANTHEON TECH
SRO at Cisco) <ksek...@cisco.com> wrote:

> Hey,
>
> Efficiency increases (a lot) with vector size, so pondering packet rates
> at low sizes doesn’t make much sense. Looking at vector size, you can tell
> how loaded VPP is. At your vector size, VPP is slacking off and efficiency
> is thus low, but it doesn’t matter, because you are not processing enough
> packets to care (on your particular box). To see real limits, you could
> increase the packet rate until you start seeing drops, then ease of bit by
> bit until it’s stable with no drops. You will see vector size being close
> to or at 255. Note that at these rates, any preemption from OS or other
> apps will cause packet drops, so it’s best to dedicate cores to VPP
> exclusively and tune the system for minimum latency. Function of vector
> size/packet rate is indeed non-linear and I don’t think there is a simple
> formula to calculate it.
>
> Of course don’t forget to do (while under load):
>
> clear run
> <wait a while>
> show run
>
> to see real numbers.
>
> HTH,
> Klement
>
> > On 19 Nov 2021, at 02:10, PRANAB DAS <pkdas.bos...@gmail.com> wrote:
> >
> > Hello all,
> >
> > IMHO primary motivation of using VPP as the name suggests is Vector
> Packet Processing with the belief that it will maximize i-cache and d-cache
> hit and thus will result in much higher pps and throughput than scalar
> processing.
> >
> > Somehow I am finding the application we are running in VPP has very low
> vector size < 10 with 40% cpu utilization. Does it mean we are not getting
> the benefit of vector processing and we are doing something wrong? In what
> conditions, will VPP function poorly meaning instead of vector processing
> it ends up doing 2 or 3 packets per graph node - thus  as scalar packet
> processor?
> >
> > Basically the datapath application can be considered as  a service chain
> of 3 different application datapath services each having a different
> performance profile.
> >
> > service A --->service B ----> serviceC
> >
> > service A is the fastest, most efficient can do 4Mpps
> > service B is less can do 2Mpps
> > service C can do 500Kpps
> >
> > service A and service B are running in VPP in different worker threads
> and service C (DPDK based) running as another process.
> >
> > We scale out service C (add more cpu cores 4 time service B) and service
> B has twice the number of VPP worker threads than service A
> >
> > Assuming we have 8 cores for service C, 2 VPP workers for service B and
> 1 for service A - what kind of vector size do we expect when we try 4Mpps,
> 2Mpps or 1Mpps (assuming NIC BW does not matter).
> >
> > I am arguing that in VPP performance is not linear, rather it depends on
> vector size. Is that true?
> > Is there any documentation on how to size or tune application
> performance/vector size on VPP?
> >
> > I really appreciate your help.
> >
> > Thank you
> >
> > _ Pranab K Das
> >
> >
> >
> >
> >
> >
> > 
> >
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#20525): https://lists.fd.io/g/vpp-dev/message/20525
Mute This Topic: https://lists.fd.io/mt/87158267/21656
Group Owner: vpp-dev+ow...@lists.fd.io
Unsubscribe: https://lists.fd.io/g/vpp-dev/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to