Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[action] [PR:21771] [chassis-packet] Change the Orchagent redis pop batch size to 128 to handle link notification faster. #21803

Merged
merged 1 commit into from
Feb 20, 2025

Conversation

mssonicbld
Copy link
Collaborator

What I did:
Change the Orchagent redis pop batch size to 128 to handle link notification faster.

Why I did:
As part of Ixia BGP convergence test https://github.com/sonic-net/sonic-mgmt/blob/master/tests/snappi_tests/multidut/bgp/test_bgp_outbound_uplink_multi_po_flap.py we found that because of SAI programming slowness which is around 1500 Routes/sec. [Takes about approx 40sec+/- to program 60K routes across multiple iteration]
Because of above slowness even if we have Link Notification available Orchagent will not process it immediately as current OA will process 1024 Entries (Route entries in our case) before it can pick Link Notification for processing. Now 1K entries can take about 2 sec+/- and if link notification are little spread out [not back 2 back] we can have batch of 1K entries which accumulate SAI delay of 2 sec.

To optimize Link processing and give more chance to OA to pick Link Notification we reduce OA processing to 128 entries and this helped to reduce convergence time to about overall 2 sec.

Changing OA processing from 1K to 128 entries does not have any impact of Route Programming as SAI slowness seems be tied with sequential processing at 1500 Routes per/sec. However this is helpful in processing Link Notification quicker. For our test it reduce Convergence time from about 12-15sec to 2 sec.

How I verify:

Ran above ixia test in multiple iteration with both 1024 and 128 pop batch size and compared the performance.

…handle link notification faster.

What I did:
Change the Orchagent redis pop batch size to 128 to handle link notification faster.

Why I did:
As part of Ixia BGP convergence test https://github.com/sonic-net/sonic-mgmt/blob/master/tests/snappi_tests/multidut/bgp/test_bgp_outbound_uplink_multi_po_flap.py we found that because of SAI programming slowness which is around 1500 Routes/sec. [Takes about approx 40sec+/- to program 60K routes across multiple iteration]
Because of above slowness even if we have Link Notification available Orchagent will not process it immediately as current OA will process 1024 Entries (Route entries in our case) before it can pick Link Notification for processing. Now 1K entries can take about 2 sec+/-  and if link notification are little spread out [not back 2 back] we can have batch of 1K entries which accumulate SAI delay of 2 sec.

 To optimize Link processing and give more chance to OA to pick Link Notification we reduce OA processing to 128 entries and this helped to reduce convergence time to about overall 2 sec.

Changing OA processing from 1K to 128 entries  does not have any impact of Route Programming as SAI slowness seems be tied with sequential processing at 1500 Routes per/sec.   However this is helpful in processing Link Notification quicker. For our test it reduce Convergence time from about 12-15sec to 2 sec.

How I verify:

Ran above ixia test in multiple iteration with both 1024 and 128 pop batch size and compared the performance.
@mssonicbld
Copy link
Collaborator Author

Original PR: #21771

@mssonicbld
Copy link
Collaborator Author

/azp run Azure.sonic-buildimage

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld mssonicbld merged commit c8e7ef1 into sonic-net:202411 Feb 20, 2025
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant