“perf top -p `pidof vpp`” and go figure out what’s happening. Drill down on 
your node dispatch function, and look for stalls.

What you’re describing sounds like a non-functional prefetch strategy or other 
coding error.

Since we can’t look at the code, that’s about all we have to suggest...

Dave

From: vpp-dev@lists.fd.io <vpp-dev@lists.fd.io> On Behalf Of Satya Murthy
Sent: Tuesday, July 7, 2020 10:37 AM
To: vpp-dev@lists.fd.io
Subject: [vpp-dev] Query on Performance with pools

Hi ,

We are seeing following observations when we do performance tests with our 
plugin/graphnodes.

1. When we have 1 subscriber session, our custom-graph-node takes 1.35e1 cycles 
 ( 60 vec/call )
2. When we have 200 subscriber sessions, the same custom-graph-node takes 1.2e2 
cycles ( same 60 vec/call ).

The difference between 1.35e1 and 1.2e2 seems pretty high, and, with more 
subscribers in picture, this will degrade performance a lot.
Also, this clearly shows that our graph node implementation is not doing enough 
prefetching.

Our psuedo-code is something like this:

Quad loop for buffers:
  1.prefetech buffer headers/ buffer data
  2.get session-top object from pool
       3.get session-leaf-1 from session-top object
          4. get session-leaf-2 from session-leaf-1 object

We are only doing prefetching in step1 alone.
How we can do pre-fetching in the case of steps2,3,4 ?

When we have objects in a pool, which are scattered across, how to take 
leverage of data-prefetching.
Any pointers / hints on how to handle this please.

--
Thanks & Regards,
Murthy
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#16906): https://lists.fd.io/g/vpp-dev/message/16906
Mute This Topic: https://lists.fd.io/mt/75356233/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