future

Unified Parallel and Distributed Processing in R for Everyone

The purpose of this package is to provide a lightweight and unified Future API for sequential and parallel processing of R expression via futures. The simplest way to evaluate an expression in parallel is to use `x %<-% { expression }` with `plan(multiprocess)`. This package implements sequential, multicore, multisession, and cluster futures. With these, R expressions can be evaluated on the local machine, in parallel a set of local machines, or distributed on a mix of local and remote machines. Extensions to this package implement additional backends for processing futures via compute cluster schedulers etc. Because of its unified API, there is no need to modify any code in order switch from sequential on the local machine to, say, distributed processing on a remote compute cluster. Another strength of this package is that global variables and functions are automatically identified and exported as needed, making it straightforward to tweak existing code to make use of futures.

Tests Vignettes

Available Snapshots

This version of future can be found in the following snapshots:

Dependencies

Imports/Depends/LinkingTo/Enhances (4)
  • digest
  • globals >= 0.16.1
  • listenv >= 0.8.0
  • parallelly >= 1.38.0
  • Suggests (3)
  • RhpcBLASctl
  • R.rsp
  • markdown
  • Version History