pathsim / pathsim/pathsim

Asynchronous and parallel block updates

Open
#91 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement numerics roadmap
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.