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

Improve BGP load optimization HLD with ZMQ #2

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

liuh-80
Copy link

@liuh-80 liuh-80 commented Mar 4, 2024

According to discussion about improve BGP load optimization HLD with ZMQ, this PR will replace Orchagent improvement with ZMQ solution.

However, following part in HLD need update, because the reference content been remove and replaced with ZMQ:

### 2. Add an assistant thread to the monolithic Syncd main event loop workflow

For Syncd, we need to decouple _consumer.pop(kco, isInitViewMode())_ from _processSingleEvent(kco)_.

### Syncd [similar optimization to orchagent]

Similar case for syncd with orchagent. In our proposal, consumer.pop and processSingleEvent(kco) is decoupled.

@a114j0y a114j0y force-pushed the master branch 7 times, most recently from 0247ad7 to 892a1c3 Compare March 12, 2024 22:18
@liuh-80 liuh-80 reopened this Mar 15, 2024

We propose to discard state tables, directly flush data to stable tables, while keep the data structure _KeySet_ to track modified keys.
<img src="images/zmq-diagram.png" height=auto>
</figure>

### 2. Add an assistant thread to the monolithic Orchagent/Syncd main event loop workflow

Copy link
Author

Choose a reason for hiding this comment

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

This part need re-write with Syncd code example, because orchagent already improve with ZMQ.

@liuh-80
Copy link
Author

liuh-80 commented Mar 15, 2024

@a114j0y please check and give your comments regarding to this HLD change proposal.

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.

5 participants