Skip to content
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

Distributed computing #73

Open
mratsim opened this issue Dec 27, 2019 · 2 comments
Open

Distributed computing #73

mratsim opened this issue Dec 27, 2019 · 2 comments
Labels
enhancement :shipit: New feature or request

Comments

@mratsim
Copy link
Owner

mratsim commented Dec 27, 2019

Naive distributed computing requires the following things:

  • A SPSC channel
  • A MPSC channel
  • Finding peers

Thanks to our message-passing based design, we should be able to reuse large part of the code though some hierarchical work-stealing probably needs to be introduced.

See Thesis for MPI based channels

image

Further distributed channel alternatives could be ZeroMQ, see presentation: http://irpf90.ups-tlse.fr/files/oslo_zmq.pdf
and Nanomsg which is MIT-licensed https://github.com/nanomsg/nng see writeup: https://nanomsg.github.io/nng/RATIONALE.html

@mratsim mratsim added the enhancement :shipit: New feature or request label Dec 27, 2019
@mratsim
Copy link
Owner Author

mratsim commented Dec 28, 2019

Very interesting paper to hide latencies in distributed work-stealing: http://reports-archive.adm.cs.cmu.edu/anon/2016/CMU-CS-16-112R.pdf

This might also help with IO latencies (#22 )

@mratsim
Copy link
Owner Author

mratsim commented Jan 3, 2020

For distributed computing, the SparseSet introduced in #15 is too memory hungry.

It can be replaced by succinct data structure. Constant-time rank support for succinct data structure (which requires a bit of overhead over the bitset) is the subject of in-depth research.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement :shipit: New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant