Amit Murthy
Amit Murthy
Simpler example: ``` function foo(rr) while true b=take!(rr) let b=b f = x->nothing @schedule ()->f(b) b = nothing end b=nothing end end rr = RemoteRef() @schedule foo(rr) put!(rr, ones(10^8)); gc()...
@yuyichao this - https://github.com/JuliaLang/Distributed.jl/issues/25 - is still an issue. Any ideas?
``` for i in 1:20 r = remotecall(2, rand, 17000, 17000); @everywhere gc() end ``` completed without any issues on 0.3.9 The issue is that a RemoteRef is only the...
I concur. I was just trying to explain how the distributed gc is implemented. Local gc may not actually collect `r` if its size is too small. And the distributed...
No. While not a "leak", an explicit `gc` call still helps in an early release of the remote object.
This is more about clean separation of layers at a lower level in the stack. Nothing changes at the user level, though we may choose to expose the message layer...
Can you post your code that results in this behavior?
I think we need to fix this in the 0.5 timeframe itself. `@everywhere using Mod` or `@everywhere require` are problematic in themselves and responsible for https://github.com/JuliaLang/julia/issues/12381 and probably https://github.com/JuliaLang/julia/issues/16788 Which...
@vtjnash Where is `using` implemented? It does a bit more than `Base.require(Mod)`, just unable to trace it.
+1 for `require` the module and importing the bindings on all the workers in terms of consistency. However, a different debate is to whether have `using` / `import` load on...