All Projects → invenia → DaskDistributedDispatcher.jl

invenia / DaskDistributedDispatcher.jl

Licence: other
Submit and execute distributed computations. A dask.distributed scheduler and Dispatcher.jl integration.

Programming Languages

julia
2034 projects

DaskDistributedDispatcher

Linux/macOS Build Status Windows Build status codecov

DaskDistributedDispatcher integrates Dispatcher.jl with the python dask.distributed scheduler service.

Documentation:

Overview

Dispatcher.jl builds the graph of julia computations and submits jobs via the julia client to the dask.distributed scheduler, which is in charge of determining when and where to schedule jobs on the julia workers. Thus, the computations can be scheduled and executed efficiently.

Quick Start

At the command line:

dask-scheduler

At the Julia REPL, given some Dispatcher nodes nodes:

addprocs(3)
@everywhere using DaskDistributedDispatcher

for i in workers()
	@spawnat i Worker()
end

dask_executor = DaskExecutor()

node_results = run!(dask_executor, nodes)

For a more detailed explanation, see the documentation linked above.

Frequently Asked Questions

How can the python dask.distributed scheduler be used for julia computations?

The dask.distributed scheduler can be used in a julia workflow environment since it is language agnostic (no information that passes in or out of it is Python-specific). Instead the scheduler communicates with the workers/clients entirely using msgpack and long bytestrings. More information on the protocol used is here.

License

DaskDistributedDispatcher.jl is provided under the Mozilla Public License 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].