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 (#20515): https://lists.fd.io/g/vpp-dev/message/20515 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] -=-=-=-=-=-=-=-=-=-=-=-