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

Conflict degree sort after priority topological sort #56

Merged
merged 5 commits into from
Feb 9, 2025

Conversation

tilk
Copy link
Member

@tilk tilk commented Feb 6, 2025

Currently, transactions which do not have priority relations have arbitrary scheduling order. This PR changes it so that the transactions with less conflicts are scheduled first. This should lead to granting transactions more greedily, which has the potential to improve performance. In practice, in current Coreblocks, some IPC numbers are improved, and some get slightly smaller. But still, I think having more determinism in the transaction scheduler is a good thing, as this will reduce weird performance changes on seemingly unrelated refactors, for example.

A new dependency is added, but given that Transactron relies heavily on graphs, networkx seems like a dependency that might be useful in the future (for example, for #13).

@tilk tilk added the enhancement New feature or request label Feb 6, 2025
@tilk tilk merged commit 1a3f578 into kuznia-rdzeni:master Feb 9, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants