-
Notifications
You must be signed in to change notification settings - Fork 12
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
Who are the competitors? #85
Comments
Also worth mentioning: https://joblib.readthedocs.io/en/latest/ which uses: |
@phaustin slick, thanks for the links. Added them in. |
quasar isn't defunct, its just that the main author went off to work on project Loom for the JVM so that quasar actually has a purpose (unlike python "threads"). Syndicate is interesting because of some of the design patterns over actors that it provides for distributed systems along the lines of tuple spaces. Let me add a few more things with interesting links to actor modelly things:
|
As usual I have no code but more projects to compare to :P https://dotnet.github.io/orleans/Documentation/index.html Also the Akka documentation seems thorough and is in general I think a success story (albeit super heavyweight): https://doc.akka.io/docs/akka/current/general/actor-systems.html |
I started digging through the core of I just so happened to discover (whilst looking for non-existing process spawning code) that |
This is a cool blog post by the I think doing the same but with the |
An interesting alternative in the It uses
[1] https://github.com/zio/zio |
There are a few "fronts" where this project is seeking to discover new low level solutions to problems in distributed computing. The main distinction is adherence to structured concurrency at the task and process level such that cancel-able CPU bound work is the new norm; of course we're also strongly tied to the development of
trio
and its paradigms.There are quite a few modern projects in this space and their is likely lots to learn from each.
I've broken down some categories I've thought out but of course more are welcome.
actor model (in other languages or Python frameworks)
racket
, but with a focus on object capabilities and something called datashards for decentralized storage (I think) - thanks @salotzdramatiq
has actors but appears to be geared for replacingcelery
(thanks @salotz).ray
actually has "actors" (thanks to @nmichaud for pointing this out) though it's pretty clear they're not really fitting the academic definition.ray
actually is a major competitor in terms of its api simplicity and integration with "data science" related frameworks.stateright
is a smallrust
actor lib with an emedded model checker and GUI for it (thanks @guilledk)distributed computing (CSP, RPC, MAS) :
python specific
asyncio
based MAS and RPCpytest
anyio
based implementation of gRPC: purerpcother langs, prots, rpcs
rust
gRPC implementationpycapnp
worker pool / parallel job processing
forkserver
methodology as us - makes me wonder if they just don't care about the many forkservers issues I've run into?Actor
system though it looks to be some kind of strange RPC proxy interface?Nanny
arq
is Job queues and RPC in python with asyncio and redis.rq
Portal.run()
#174 though we technically did keep this style throughPortal.run_from_ns()
cancel-able cpu bound work
data streaming / pipelining
self replicating, take over the world, skynet type stuff:
alternative concurrency models
The text was updated successfully, but these errors were encountered: