Closed sjdv1982 closed 1 year ago
After looking into loky
, I arrived at the following conclusions:
loky
scheduler receives e.g. a SIGTERM, this will shut down all running jobs. There is only one singleton loky
scheduler.loky
claims to do fork+exec, but it still does a lot of pickling. Arguments are pickled. Global state is pickled (if possible?). There is a "fork" start method, but it is 1) not recommended and 2) does not reproduce the global state at the time of job launch.Therefore, loky
can be a useful new (i.e. additional) backend to locally execute Seamless jobs. A job definitely needs to be annotated (e.g. {"meta": "simple"}
as suitable for loky
. In particular:
seamless.imperative
, no preliminary. Progress bar might be copyable from joblib though.Now that delegation works fine, the risk of forking can be easily mitigated. loky is no longer expected to be needed.
Should be compatible with multiprocessing.Queue Could be used in other tasks (especially checksum calculation and serialization)
Would be a fix for #128