frr icon indicating copy to clipboard operation
frr copied to clipboard

Route notification optimisation

Open pguibert6WIND opened this issue 1 year ago • 3 comments

To notify route owner, for each prefix installed, a notification message is sent. Dataplane result is a linear function, and the time will increase, and may lead to starvation issues under heavy loaded conditions.

It has been observed that the thread in charge of the result takes time, because there are many routes results, and because the I/O operations to zebra are repeated. Lets try to optimize it by:

  • by separating the route notification job in a separate thread
  • by sending zapi batches messages to reduce the number of I/O operations.

The below graph is what has been observed without route optimisations: graph2

pguibert6WIND avatar May 31 '24 07:05 pguibert6WIND

the picture is vivid, but a little hard to parse. which part of that do you think will change? the actual IO is done by the per-zapi-client pthread; are you trying to reduce the locking overhead somewhere? or the signalling overhead between the main pthread and the zclient pthreads? or ... something else?

mjstapp avatar May 31 '24 14:05 mjstapp

looks okay ... waiting on @mjstapp 's comment

This was just for exposing the idea. Moving it to draft, I don't have time to process it right now

pguibert6WIND avatar Jun 11 '24 12:06 pguibert6WIND

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar Jun 18 '24 16:06 github-actions[bot]

This PR is stale because it has been open 180 days with no activity. Comment or remove the autoclose label in order to avoid having this PR closed.

github-actions[bot] avatar Dec 16 '24 02:12 github-actions[bot]