Skip to content
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

Deprecating 'multiprocess' in favor of explicit 'multisession' or 'multicore' #420

Closed
HenrikBengtsson opened this issue Oct 3, 2020 · 7 comments
Labels
Backend API Part of the Future API that only backend package developers rely on enhancement waiting on Waiting on a follow-up reply
Milestone

Comments

@HenrikBengtsson
Copy link
Collaborator

HenrikBengtsson commented Oct 3, 2020

I've decided to deprecate 'multiprocess' in the next release.

The main reason for this is that 'multiprocess' is ambiguous. For example, 'multiprocess' may cause confusion when people on Linux/macOS and MS Windows discuss issues and benchmark results surrounding futures. This is the same problem we have with doParallel::registerDoParallel().

Another reason is that 'multicore' is might be unstable depending on R environment and whether or not multi-threaded processing is used in the future expression. The latter might change out of the control of the developer and end-user, when a package dependency is updated.

The deprecating warning is produced by plan(), e.g.

> future::plan("multiprocess")
Warning message:
Strategy 'multiprocess' is deprecated in future (>= 1.20.0). Instead, explicitly specify either 'multisession'
or 'multicore'. In the current R session, 'multiprocess' equals 'multicore'.
@HenrikBengtsson
Copy link
Collaborator Author

HenrikBengtsson commented Oct 3, 2020

Running revdep checks with 'multiprocess' deprecated triggers R CMD check WARNINGs for:

@HenrikBengtsson
Copy link
Collaborator Author

@DavisVaughan, with regard to your upcoming release, is my memory correct that you said you've already remove mentioning of 'multiprocess' in furrr in favor of either 'multisession' and 'multicore'?

@DavisVaughan
Copy link

I've added an explicit issue to ensure I remove it in favor of 'multisession' futureverse/furrr#169

If the globals release goes smoothly, I should be able to release furrr with this change this week

@HenrikBengtsson
Copy link
Collaborator Author

If the globals release goes smoothly, I should be able to release furrr with this change this week

Good news; I just received "Dear maintainer, thanks, package globals_0.13.1.tar.gz is on its way to CRAN."

@HenrikBengtsson HenrikBengtsson pinned this issue Oct 11, 2020
@DavisVaughan
Copy link

furrr 0.2.0 is on CRAN! 🥳 https://cran.r-project.org/web/packages/furrr/index.html

@HenrikBengtsson
Copy link
Collaborator Author

Congrats. That's milestone.

(I didn't know you could submit before also binaries for globals 0.13.1 were available for all platforms - good to know that's possible)

@HenrikBengtsson
Copy link
Collaborator Author

After an explanation and some waiting time, CRAN accepted future 1.20.1 despite introducing a WARNING on 'dragon' and 'treeHMM'. Maintainers of those packages have been updated.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Backend API Part of the Future API that only backend package developers rely on enhancement waiting on Waiting on a follow-up reply
Projects
None yet
Development

No branches or pull requests

2 participants