Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

multiprocess

Create a multiprocess future whose value will be resolved asynchronously using multicore or a multisession evaluation


Description

A multiprocess future is a future that uses multicore evaluation if supported, otherwise it uses multisession evaluation. Regardless, its value is computed and resolved in parallel in another process.

WARNING: Consider the 'multiprocess' future plan deprecated. Instead, explicitly specify 'multisession' or 'multicore'. The former works everywhere and is the recommended one between the two. Forked processing, which 'multicore' uses, is unstable in various environment and setups. The 'multiprocess' alias is therefore being phased out.

Usage

multiprocess(..., workers = availableCores(), envir = parent.frame())

Arguments

...

Additional arguments passed to Future().

workers

A positive numeric scalar or a function specifying the maximum number of parallel futures that can be active at the same time before blocking. If a function, it is called without arguments when the future is created and its value is used to configure the workers. The function should return a numeric scalar.

envir

The environment from where global objects should be identified.

Value

A MultiprocessFuture implemented as either a MulticoreFuture or a MultisessionFuture.

See Also

Internally multicore() and multisession() are used.

Examples

## Use multiprocess futures
plan(multiprocess)

## A global variable
a <- 0

## Create future (explicitly)
f <- future({
  b <- 3
  c <- 2
  a * b * c
})

## A multiprocess future is evaluated in a separate R process.
## Changing the value of a global variable will not affect
## the result of the future.
a <- 7
print(a)

v <- value(f)
print(v)
stopifnot(v == 0)

## Explicitly close multisession workers, if they were used
plan(sequential)

future

Unified Parallel and Distributed Processing in R for Everyone

v1.21.0
LGPL (>= 2.1)
Authors
Henrik Bengtsson [aut, cre, cph]
Initial release

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.