-
-
Notifications
You must be signed in to change notification settings - Fork 294
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
Replace Distributed with Malt soon! #2240
Conversation
Try this Pull Request!Open Julia and type: julia> import Pkg
julia> Pkg.activate(temp=true)
julia> Pkg.add(url="https://github.com/savq/Pluto.jl", rev="malt")
julia> using Pluto |
afd0fa0
to
9c6a566
Compare
344ac94
to
8beea21
Compare
e528ace
to
e948e7b
Compare
Would this change allow to interrupt cells on windows as well, or is that broken anyhow? |
- Prefer quote blocks to colon quote expressions - Prefer if blocks to ternary operators - Remove single pipes - Minor changes to docstrings and comments
- Remove `workspace_use_distributed` flag. Pluto will now always use separate processes. - Replace calls to `remotecall_eval` with the appropiate Malt calls. - Replace Distributed with Malt in tests to remove it from dependencies. - Add `unmake_workspace` calls in `MacroAnalysis` to prevent creating too many processes at the same time. - Replace Distributed exceptions with Malt exceptions. - Replace `pid::Integer` with `worker::Worker` in WorkspaceManager. - Rename `workspaces` to `active_workspaces`. - Rename `distributed_exception_result` to `workspace_exception_result`. - Rename `make_distributed_serializable` to `make_serializable`.
Wowww well found @Pangoraw ! |
Not sure about the nightly test, and on 1.6 the test never seems to start... |
yes, this is probably the right move. For nightly, we could test |
Which 1.10 are we testing right now? Testing the beta sounds good! I also made #2643 to avoid the interrupt call. This means avoiding the problem instead of fixing it, but I don't think that supporting |
|
Still failing with out-of-memory on Windows Julia 1.6 :( |
Maybe we just merge for testing (disabled by default), and eventually only enable Malt as default on Julia 1.8 and up? @Pangoraw wdyt, any other ideas? |
Or @savq any ideas why we have this last failure with Malt julia 1.6 windows, but not with Distributed backend or another julia distro? |
I don't have more ideas, we might have to test in real windows and see if we can spot the problem here. |
(btw some improvement to Crrl+C on windows in JuliaLang/julia#51307) |
This reverts commit 82de248.
I do not see an improvement, see https://julialang.slack.com/archives/C6SMTHQ3T/p1694888153763359?thread_ts=1694639864.397389&cid=C6SMTHQ3T (which contains that PR) |
Heyy so I think I know what happened! This initial PR removed the I fixed this in two recent commits: I noticed that we were also getting OOM errors with the Distributed backend as default ( Yayy so I will merge this with Malt still disabled by default, for the testing period, and then we can enable it by default soon (for all Julia versions)! |
Awesome!! 🎉 🎉 |
After this PR, we will no longer use the Distributed stdlib to start and control the notebook Julia process (where your code runs) but we use our home-brewed package Malt.jl. The advantages are:
Distributed
#300.This PR replaces Distributed with Malt.jl to add support for Distributed itself. Fix #300
Test release
After this PR is merged, we have a testing period where Pluto still uses Distributed, but you can enable Malt with:
This PR is part of GSoC 2022. Some info on that here.