SONiC
SONiC copied to clipboard
BGP Loading Optimization HLD
This HLD introduces how we increases the end-to-end BGP loading speed of SONiC by 50%
Repo | PR title | State |
---|---|---|
sonic-swss-common | [common] add PerformanceTimer #893 | |
sonic-swss-common | [common] enable redispipeline to only publish after flush #895 | |
sonic-swss | [fpmsyncd] support pipeline to flush with a timer #3241 | |
sonic-swss | [orchagent] implement ring buffer feature with a flag #3242 | |
sonic-buildimage | [docker-orchagent] add -R flag for ring mode in orchagent.sh #19652 |
The committers listed above are authorized under a signed CLA.
- :white_check_mark: login: a114j0y / name: Yijiao Qin (6187d840990a503ffb3684254891ecb1fb50f6d7, 3e9cfba11b195e64f5d2f7138fb15fdcc4affbfa)
- :white_check_mark: login: yangfs1999 / name: Fengsheng Yang (f34af92804c5636cf9b46ed3e86ddd1e9d94a685)
- :white_check_mark: login: nkelapur (9c1ed12f07e091a61ab18b208b0a7b60c14dbc24)
not reviewed in sonic community yet.
Community review recording https://zoom.us/rec/share/PkNNRipPYi-z2Q0nkK_FCoFWqXk5oQcQYkNvitanIaWkWw98VXYkdE1SYnSAvQTD.tkZEa9zzBzHlex3c
Question: is there sufficient test coverage (unit or integration) to make sure that the ring buffer is drained during warm shutdown?
Suggestion: can you separate the lambda function enhancement itself in a separate PR and the other performance improvement code in another PR?
Suggestion: can you separate the lambda function enhancement itself in a separate PR and the other performance improvement code in another PR?
I have already separated fpmsyncd / orchagent enhancement into two PRs.
The lambda function is the type of ring entries, so kind of bound with the ring buffer PR. Without lambda, it would be a different implementation and much code change. But might help understand the codes…Do you still think we need to do this?