Asynchronous and parallel block updates
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 494
- Forks
- 52
- Avg merge
- 10m
- Merged PRs (30d)
- 2
Description
PathSim has a decentralized architecture for the blocks which lends itself to parallelism and asynchronizity. Expensive blocks should compute asynchronously and not make the other blocks wait. With free-threading from Python 3.13, parallelization of the block updates is possible and has been verified with multiprocessing (slow but validation of the concept) for an earlier build.
Near linear scaling of performance with number of cpus for large numbers of blocks can be expected.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the earlier multiprocessing validation mentioned in the issue and inspect how block updates are currently coordinated. Define completion as asynchronous, parallel updates that avoid unnecessary waiting and demonstrate the expected performance scaling; the issue does not name specific files or tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- performance
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100