JuliaParallel / JuliaParallel/DistributedArrays.jl

DArray should be lazy/futures

Open
#209 2 comments 0 reactions 1 assignee Claimed by @vchuravy View on GitHub
enhancement help wanted speculative
Dominant language
Julia
Stars
205
Forks
34
PR merge metrics
No merged PRs in 30d

Description

One of the current issues with DArray is that each operation is immediately synchronizing. Requiring a distributed operation to finish before we can carry on with scheduling new operations. This simplifies the design,
but limits the scalability. Ideally we would want operations on DArray to be async/lazy similar to how CuArray works, and only synchronize on `show` and `convert`.

The major design issue here is to guarantee consistency. Operations need to appear to have executed in-order,
even though we might want to be able to execute reads out-of-order, but we will have to deal with updating data in-place. One idea might be to use vector clocks or look into how Fractal handles this or to run a consensus protocol to establish operations that can commit.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.