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

Batching of transactions #483

Open
mikera opened this issue May 30, 2023 · 6 comments
Open

Batching of transactions #483

mikera opened this issue May 30, 2023 · 6 comments
Assignees
Labels
enhancement New feature or request

Comments

@mikera
Copy link
Member

mikera commented May 30, 2023

It has been noted in cloud tests that Peers are often creating blocks with small number of transactions, which is likely to be suboptimal for throughput and consensus efficiency (we want many transactions per block)

Most promising design solution is likely to be to have a Peer avoid publishing blocks when an existing block from that Peer is already in flight (either until final confirmation, or to some advanced consensus stage.

@mikera mikera added the enhancement New feature or request label May 30, 2023
@mikera mikera self-assigned this May 30, 2023
@mikera
Copy link
Member Author

mikera commented Jun 13, 2023

Various improvements in latest develop to help towards this goal.

@helins
Copy link
Member

helins commented Jun 27, 2023

To be confirmed once the issue with syncing the genesis state is resolved

@helins
Copy link
Member

helins commented Jul 3, 2023

Unfortunately no improvement: Block size quartiles = {:min 1.0, :q1 2.0, :median 4.0, :q3 25.609669161725154, :max 200.0, :iqr 23.609669161725154}

@helins
Copy link
Member

helins commented Jul 7, 2023

Looking better in one run: Block size quartiles = {:min 1.0, :q1 10.0, :median 37.666666666666664, :q3 65.0, :max 200.0, :iqr 55.0}

But could be luck. Runs are still unstable so I have a hard time confirming.

@helins
Copy link
Member

helins commented Jul 11, 2023

Clearly improved as of 80589055.
The median block size is now closer to 50.

@mikera
Copy link
Member Author

mikera commented Jul 13, 2023

OK leaving open because I still want to improve this.

Ideally Peers wait until their last published Block is sufficiently advanced in consensus before publishing another. Might need some empirical testing to determine what is optimal. Also probably should be a per-peer configuration option.

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

No branches or pull requests

2 participants