algorand / algorand/go-algorand

perf: batch verification for agreement votes

Đang mở
#4,637 3 bình luận 0 reaction 1 người được giao Được @algonautshant nhận Xem trên GitHub
Performance Team Carbon-11
Ngôn ngữ chính
Go
Star
1.4k
Fork
537
Merge trung bình
1 ngày 6 giờ
Pull request đã merge (30 ngày)
17

Mô tả

**Summary**

Agreement vote verify worker could use batch verification when enough votes are available. Estimated perf boost ~2.4x in agreement vote verification.

Speeding up vote verification would speed up block validation.
- Block validation takes ~X seconds
- Batch verifying votes would speed up block validation by Y%, freeing up Z seconds of round time

**Research phase**

1. Obtain node.log from relays.
2. Figure out number of step 1 and step 2 votes relay receive in a round, build a histogram to see if 10ms batching makes sense.
3. Check a single vote verification time.
4. Estimate current CPU usage vs proposed with batching.

**Acceptance**

1. Add a new unit test
2. Benchmark two scenarios: low load, high load
3. Existing e2e tests pass
4. Run a participation TestNet or BetaNet node and ensure it progresses

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.