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

L3 performance and scaling enhancements HLD initial version #399

Merged
merged 1 commit into from
Nov 6, 2019

Conversation

Arvind-Brcm
Copy link
Contributor

L3 performance and scaling enhancements HLD initial version

@msftclas
Copy link

msftclas commented Jun 11, 2019

CLA assistant check
All CLA requirements met.

| 10k IPv4 prefix routes | 11 seconds |
| 30k IPv4 prefix routes | 30 seconds |
| 60k IPv4 prefix routes | 48 seconds |
| 90k IPv4 prefix routes | 68 seconds |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have breakdown of programming time of each layer ex: orchagent or fpmsyncd/syncd?

| Routes | time taken on AS7712(Tomahawk) |
| ---------------------------------- | ----------------------------- |
| 10k IPv6 route with prefixes > 64b | 11 seconds |
| 30k IPv6 route with prefixes >64b | 30 seconds |
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

please list out all the usecases will need perf enhancements?
Ex: 1) Sonic boot time 2) graceful restart 3) download routes etc.


Bulking of Route updates will be enabled in Orchagent. Orchagent will bulk 64 updates and send to Sairedis.
A new timer will be introduced in orchagent to flush the outstanding updates every second.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bulking idea is nice but It introduces the delay for non bulk cases too. Can this timer tuned(starts off with low value and grow exponenetially, simiar to tcp)?

| 4. | Clear neigh table and check all routes and forwarding | | |
| 5. | Clear mac table and check all routes and forwarding | | |
| 6. | Test across warm reboot , Orchagt/Syncd restart and upgrade | | |

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add these tests with warm reboot/graceful restart?


So, the saving achieved by using bulk APIs will be number of Redis message generated.

Bulking of Route updates will be enabled in Orchagent. Orchagent will bulk 64 updates and send to Sairedis.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

any reason why the bulk size is 64?

@xinliu-seattle xinliu-seattle merged commit 3e23ab4 into sonic-net:master Nov 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants