Improve work distribution among workers
- Dominant language
- Haskell
- Stars
- 3.2k
- Forks
- 432
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 5
Description
### Describe the desired feature
Currently Echidna does a very naive work distribution at the beginning of a campaign
https://github.com/crytic/echidna/blob/cde590fd71f01c1f73e41d85b0ffb33300ecda15/lib/Echidna/UI.hs#L87-L90
On long campaigns, this could result in several workers finishing significantly before the end of the campaign when they get to execute simpler, faster transactions, resulting in an overall reduction of execution speed towards the end of a campaign.
Contributor guide
Research direction
Start with lib/Echidna/UI.hs at lines 87-90, where work is initially distributed among workers. Read how campaign work is assigned and compare worker completion times during long campaigns. Done means the distribution avoids workers finishing significantly early and maintains execution speed toward the end of a campaign.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- haskell
- Domain
- distributed-systems, performance, testing
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100